This example shows how to use the C++/Tree mapping on top of the Berkeley DB XML embedded XML database. This example is described in detail in the "C++/Tree Mapping and Berkeley DB XML Integration Guide" which can be found in the documentation/cxx/tree/dbxml directory of the XSD distribution. You will need the Berkeley DB XML libraries[1] installed in order to build and run this example. The makefiles and project files for this example link to the DB XML library names corresponding to version 2.3.X. Earlier and later versions can also be used but may require adjustments to the library names being linked to. Note that due to the incomplete DOM API implementation provided by DB XML (as of version 2.3.10), the generated code and your application should be compiled with the DBXML_DOM macro defined in order to avoid using unsupported parts of the API. The example consists of the following files: library.xsd XML Schema which describes a library of books. library.hxx library.cxx C++ types that represent the given vocabulary, a set of parsing functions that convert XML instance documents to a tree-like in-memory object model, and a set of serialization functions that convert the object model back to XML. These are generated by XSD from library.xsd. driver.cxx Driver for the example. It performs the following four operations on the database: * Create a new document in DB from an object model * Create an object model from a document in DB * Create an object model from a document fragment in DB * Update a document fragment in DB from an object model To run the example simply execute: $ ./driver [1] http://www.sleepycat.com/products/bdbxml.html