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