C++/Tree: In-Memory XML Data Binding

The C++/Tree mapping provides C++ classes that represent data types defined in XML Schema, a set of parsing functions that convert XML documents to a tree-like in-memory object model, and a set of serialization functions that convert the object model back to XML. For an introduction to the C++/Tree mapping, refer to the Hello World Example from the C++/Tree Mapping Getting Started Guide.

Features

The following diagram shows the main integration areas of the C++/Tree mapping and related technologies:

C++/Tree Mapping

Documentation

C++/Tree Mapping Getting Started Guide An introduction to the C++/Tree mapping with examples. Also available in PDF and PostScript.
C++/Tree Mapping User Manual A comprehensive description of the C++/Tree mapping, including the parsing and serialization mechanisms. Also available in PDF and PostScript.
C++/Tree Mapping FAQ Answers to frequently asked questions about the C++/Tree mapping.
Schema Compilation Checklist A checklist-like run through the most commonly used XSD command line options.
C++/Tree Mapping Customization Guide A guide to customizing generated and XML Schema built-in types.
Berkeley DB XML Integration Guide A guide to using the C++/Tree mapping on top of the Berkeley DB XML database.
XSD Compiler Command Line Manual Compiler's command line interface documentation.
Using XSD with Microsoft Visual Studio Discusses various ways of integrating the XSD compiler with the Microsoft Visual Studio IDE as well as other Visual Studio-specific topics.
C++/Tree Mapping Wiki Page A resource page for the C++/Tree mapping on Code Synthesis Wiki.
XSD Wiki Page A resource page for XSD on Code Synthesis Wiki.
XML Schema Authoring Guide A collection of recipes for writing schemas that are enjoyable to work with.
Supported Standards and Schemas A list of publicly-available schemas that were successfully compiled by XSD.

Support

We provide free, best-effort technical support for XSD via the xsd-users mailing list. Simply send an email to this mailing list with the description of a bug or a problem that you encountered. Please follow the Posting Guidelines to receive a prompt reply.

We also offer priority support on a commercial basis. Visit our support page for more information.

Resources

XSD project page Source code, build instructions and other information for XSD compiler developers.
XSD contributions Various third-party contributions to XSD.
XML Data Binding in C++ An article in the C++ Source journal introducing XML Data Binding in C++.
XML Schema Part 0: Primer An easily approachable description of the XML Schema facilities. It is oriented towards quickly understanding how to create schemas using the W3C XML Schema language.
Riverace Riverace provides commercial support for the Adaptive Communication Environment (ACE) which can be used to serialize the object model to the CDR format.