This example shows how to save/load an in-memory representation to/from
CDR (Common Data Representation) binary format using ACE CDR streams.
Support for other data representation streams can be easily added. You
will need the ACE library[1] installed in order to build and run this
example.

[1] http://www.cs.wustl.edu/~schmidt/ACE.html

The example consist of the following files:

library.xsd
  XML Schema which describes a library of books.

library.xml
  Sample XML instance document.

library.hxx
library.cxx
  Data types that represent the given vocabulary as well as data
  representation stream insertion and extraction operations. These
  are generated by XSD from library.xsd.

driver.cxx
  Driver for the example. It first calls one of the parsing functions
  that constructs the in-memory representation from the input XML file.
  It then saves the in-memory representation to ACE_OuputCDR and loads
  it back from ACE_InputCDR. Additionally, it prints the resulting binary
  representation as well as the content of the in-memory representation
  before saving it to a CDR stream and after loading it from a CDR stream.

To run the example on the sample XML instance document simply execute:

$ ./driver library.xml
