Last active
June 4, 2020 04:40
-
-
Save jubnzv/30d3c67604a260f358903192db10e55f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> | |
<Order> | |
<Customer> | |
<Name>Bill Buckram</Name> | |
<Cardnum>234 234 234 234</Cardnum> | |
</Customer> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Receipt> | |
<Subtotal>$53.75</Subtotal> | |
<Tax>$4.43</Tax> | |
<Total>$58.18</Total> | |
</Receipt> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Receipt> | |
<Subtotal>$53.75</Subtotal> | |
<Tax>$4.43</Tax> | |
<Total>$58.18</Total> | |
</Receipt><Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Receipt> | |
<Subtotal>$53.75</Subtotal> | |
<Tax>$4.43</Tax> | |
<Total>$58.18</Total> | |
</Receipt><Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Receipt> | |
<Subtotal>$53.75</Subtotal> | |
<Tax>$4.43</Tax> | |
<Total>$58.18</Total> | |
</Receipt> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Receipt> | |
<Subtotal>$53.75</Subtotal> | |
<Tax>$4.43</Tax> | |
<Total>$58.18</Total> | |
</Receipt> | |
<Manifest> | |
<Item> | |
<ID>209</ID> | |
<Title> | |
Duke: A Biography of the Java Evangelist | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>208</ID> | |
<Title> | |
100% Pure: Making Cross Platform Deployment a Reality | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>204</ID> | |
<Title> | |
Making the Transition from C++ to the Java(tm) Language | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>202</ID> | |
<Title>Web Servers for Fun and Profit</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
<Item> | |
<ID>210</ID> | |
<Title> | |
I Think Not: Dukes Likeness to the Federation Insignia | |
</Title> | |
<Quantity>1</Quantity> | |
<UnitPrice>$10.75</UnitPrice> | |
</Item> | |
</Manifest> | |
<Receipt> | |
<Subtotal>$53.75</Subtotal> | |
<Tax>$4.43</Tax> | |
<Total>$58.18</Total> | |
</Receipt> | |
</Order> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
open Core_kernel | |
(* Sequential processing *) | |
let id ic oc = | |
let i = Xmlm.make_input (`Channel ic) in | |
let o = Xmlm.make_output (`Channel oc) in | |
let rec pull i o depth = | |
Xmlm.output o (Xmlm.peek i); | |
match Xmlm.input i with | |
| `El_start _ -> pull i o (depth + 1) | |
| `El_end -> if depth = 1 then () else pull i o (depth - 1) | |
| `Data _ -> pull i o depth | |
| `Dtd _ -> assert false | |
in | |
Xmlm.output o (Xmlm.input i); (* `Dtd *) | |
pull i o 0; | |
if not (Xmlm.eoi i) then invalid_arg "document not well-formed" | |
let id_seq ic oc = | |
let i = Xmlm.make_input (`Channel ic) in | |
let o = Xmlm.make_output ~nl:true (`Channel oc) in | |
while not (Xmlm.eoi i) do Xmlm.output o (Xmlm.input i) done | |
let prune_docs prune_list ic oc = | |
let i = Xmlm.make_input (`Channel ic) in | |
let o = Xmlm.make_output ~nl:true (`Channel oc) in | |
let copy i o = Xmlm.output o (Xmlm.input i) in | |
let prune (name, _) = List.mem prune_list name ~equal:String.equal in | |
let rec process i o d = | |
let rec skip i d = match Xmlm.input i with | |
| `El_start _ -> skip i (d + 1) | |
| `El_end -> if d = 1 then () else skip i (d - 1) | |
| _ -> skip i d | |
in | |
match Xmlm.peek i with | |
| `El_start ((_, tag), attrs) when prune (tag, attrs) -> skip i 0; process i o d | |
| `El_start _ -> copy i o; process i o (d + 1) | |
| `El_end -> copy i o; if d = 0 then () else process i o (d - 1) | |
| `Data _ -> copy i o; process i o d | |
| `Dtd _ -> assert false | |
in | |
let rec docs i o = | |
copy i o; (* `Dtd *) | |
copy i o; (* root start *) | |
process i o 0; | |
if Xmlm.eoi i then () else docs i o | |
in | |
docs i o | |
let () = | |
let inx = In_channel.create "book.xml" in | |
let oux = Out_channel.create "book-pruned.xml" in | |
let prune_list = ["UnitPrice";"ID"] in | |
prune_docs prune_list inx oux; | |
In_channel.close inx; | |
Out_channel.close oux; | |
() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment