blob: 59e67d04852c4c065d58f3db7043255975bbae75 (plain
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
You will need the Berkeley DB XML libraries 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:
XML Schema which describes a library of books.
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 for the example. It performs the following four operations on
* 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: