This example shows how to save/load the C++/Hybrid object model to/from CDR (Common Data Representation) binary format using ACE CDR streams. You will need the ACE library installed in order to build and run this example: http://www.cs.wustl.edu/~schmidt/ACE.html The example consists of the following files: library.xsd XML Schema which describes a library of books. library.xml Sample XML instance document. library.hxx library.cxx library-pskel.hxx library-pskel.cxx library-pimpl.hxx library-pimpl.cxx library-pskel.hxx library-pskel.cxx library-pimpl.hxx library-pimpl.cxx Object model (the first pair of files), parser skeletons (the second pair), parser implementations (the third pair), serializer skeletons (the fourth pair), and serializer implementations (the fifth pair). These files are generated by the XSD/e compiler from library.xsd. The --generate-parser, --generate-serializer, and --generate-aggregate options were used to request the generation of the parsing and serialization code. The --generate-insertion and --generate-extraction options were used to generate the insertion and extraction operations for the CDR streams. driver.cxx Driver for the example. It first calls the parser that constructs the object model from the input XML file. It then saves the object model to the CDR representation and loads it back. Finally, the driver calls the serializer to serialize the loaded object model back to XML. To run the example on the sample XML instance document simply execute: $ ./driver library.xml The example reads from STDIN if input file is not specified: $ ./driver