This example shows how to use the the C++/Tree mapping to parse several XML documents while reusing the underlying XML parser and caching the schemas used for validation. 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 C++ types that represent the given vocabulary and a set of parsing functions that convert XML instance documents to a tree-like in-memory object model. These are generated by XSD from library.xsd. driver.cxx Driver for the example. It first sets up the Xerces-C++ DOM parser and caches the library.xsd schema for validation. It then performs ten iterations that parse the input file to a DOM document using the DOM parser and call one of the parsing functions that constructs the object model from this DOM document. On each iteration the driver prints a number of book in the object model to STDERR. To run the example on the sample XML instance document simply execute: $ ./driver library.xml