C++/Parser: Stream-Oriented XML Data Binding

The C++/Parser mapping implements a new, high-performance, event-driven XML data binding model which provides parser skeletons for data types defined in XML Schema. In comparison to the traditional, tree-like data binding model, the C++/Parser mapping allows you to handle large XML documents that would not fit into memory, perform stream-oriented processing, or build your own in-memory representations using existing data types. For an introduction to the C++/Parser mapping, refer to the Hello World Example from the C++/Parser Mapping Getting Started Guide.

Based on the static analysis of the schemas, the C++/Parser backend generates highly-optimized, hierarchical state machines that combine validation and even dispatching in a single step. As a result, the C++/Parser mapping-based parsers are 2-10 times faster than general-purpose validating XML parsers while maintaining the lowest memory footprint (if you require maximum performance and lowest footprint, you may also consider XSD/e).

The following figure highlights the advantages of the C++/Parser' mapping in comparison to the traditional architectures:

C++/Parser Mapping

Features

Documentation

C++/Parser Mapping Getting Started Guide An introduction to the C++/Parser mapping with examples. Also available in PDF and PostScript.
XSD Compiler Command Line Manual Compiler's command line interface documentation (available compiler options, etc).
Schema Compilation Checklist A checklist-like run through the most commonly used XSD command line options.
C++/Parser Mapping Wiki Page A resource page for the C++/Parser mapping on Code Synthesis Wiki.
XSD Wiki Page A resource page for XSD on Code Synthesis Wiki.

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 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.