C++ bindings are generated from the nexml schema files using the xsd
tool from CodeSynthesis,
and are then compiled with something like the driver.cxx file to yield
an executable that processes nexml instance documents (presumably this would be part of an importer
that maps the beans objects created by the xsd tool onto your internal object model).
The basic steps are as follows:
Generate the headers and binding sources from the schema using the xsd tool.
The easiest way to do this is to run the configure script in the parent directory
and use make from that directory (if you are a developer, you will have to run
the bootstrap.sh shell script to create the configure script -- you will
also need up-to-date autoconf and automake).
You will need to use the --with-xerces= and --with-code-syn-xsd
arguments to configure
If you do not want to use the configure-based build, you can also
build the C++ bindings using something like this shell
script or this Makefile. You may have to tweak these a little
depending on your install location and version for xsd and xerces-c.
The salient point
in these script examples is the command line invocation for xsd.
-I$XERCES_HOME/include -I$XSD_HOME/$XSD_HOME/libxsd and link with
-L$XERCES_HOME/lib -lxerces-c.