XSD is a W3C XML Schema to C++ translator. Provided with an XML instance specification (XML Schema), it generates C++ classes that represent the given vocabulary as well as parsing and serialization code. You can then access the data stored in XML using types and functions that semantically correspond to your application domain rather than dealing with elements, attributes, and text in a direct representation of XML such as DOM or SAX. XSD features support for in-memory and stream-oriented processing models, comprehensive XML Schema feature coverage, easy integration, and more.
| Tags | Text Processing Markup XML Software Development Compilers Code Generators Libraries |
|---|---|
| Licenses | Other |
| Operating Systems | POSIX Linux Windows Windows Mac OS X HP-UX Solaris |
| Implementation | C++ |
Recent releases


Changes: For the in-memory C++/Tree mapping, support for locating object model nodes with XPath queries has been added, automatic assignment of namespace prefixes during serialization has been implemented, polymorphism-aware object model comparison and printing is now supported, and generation of non-copying constructors has been implemented. For the event-driven C++/Parser mapping, support for generation of the XML Schema namespace into a separate header file has been added and the usage of virtual inheritance has been reduced, which resulted in a much smaller object code size and faster compilation.


Changes: For the in-memory C++/Tree mapping, the file-per-type compilation mode has been implemented in addition to file-per-schema. Support for IntelliSense has been added, the ability to choose the identifier naming convention used in the generated code has been implemented, non-copying modifier functions have been added, and new binary serialization examples have been written. For the event-driven C++/Parser mapping, the file-per-type compilation mode has been implemented in addition to file-per-schema and support for XML Schema polymorphism (xsi:type and substitution groups) has been added.


Changes: For the in-memory C++/Tree mapping, generation of documentation in the Doxygen format has been added, a new mapping for the XML Schema wildcards (any and anyAttribute) has been implemented, support for binary serialization in the XDR format has been added, and a new Getting Started guide has been written. For the event-driven C++/Parser mapping, parser implementations for all built-in XML Schema types have been added, automatic generation of sample parser implementations as well as test drivers has been implemented, and a new Getting Started guide has been written.


Changes: Customization of parsing constructors and serialization operators has been implemented. Optimizations for the run-time memory consumption and generated code size have been performed. Support has been added for Intel C++ 9.1, IBM XL C++ 7.0, AIX on POWER/PowerPC, and GNU/Linux on IA-64. A number of bugs have been fixed.


Changes: Customization of the generated code with the user-supplied types has been implemented. Support for generation of forward declaration headers has been added. Validation of the attribute structure, character content, and XML Schema built-in types in the generated code has been implemented. Space and time optimizations in the generated code have been performed.
A database refactoring and migration tool for safely changing databases and rolling back.