C++/Serializer: Validating XML Serialization
C++/Serializer is an event-driven, stream-oriented W3C XML Schema 1.0 to C++ mapping for mobile and embedded systems. It generates validating serializer skeletons for data types defined in XML Schema which are then implemented to serialize application data to XML. In comparison to the traditional, tree-like data binding model, the C++/Serializer mapping allows you to create large XML documents that would not fit into memory, perform stream-oriented serialization, and use your own in-memory representation as a data source. For an introduction to the C++/Serializer mapping refer to the Hello World Example from the C++/Serializer Mapping Getting Started Guide.
Features
- High-performance XML Schema validation in the generated code (perfect serializer).
- No dynamic memory allocations during validation.
- Small memory footprint, including heap and stack usage.
- Highly-portable, can be used without STL, RTTI, iostream, C++ exceptions, and templates.
- Ready to use serializers for all XML Schema built-in types.
- Automatic generation of sample serializer implementations and test drivers.
- Support for XML Schema polymorphism (
xsi:type
and substitution groups). - Support for type-less content: mixed content model,
xsd:anyType/xsd:anySimpleType
, andxsd:any/xsd:anyAttribute
. - Support for delegation-based (tiein) and inheritance-based (mixin) serializer reuse.
- Customizable XML Schema namespace to C++ namespace mapping.
- Support for schema importing, inclusion and chameleon-style inclusion.
- Automatic morphing of anonymous types into named ones.
- Support for the file-per-schema and file-per-type compilation models.
- Configurable application character encoding (UTF-8 or ISO-8859-1).
- Support for custom memory allocators.
Documentation
Getting Started Guide | An introduction to the C++/Serializer mapping with examples. Also available in PDF and PostScript. |
---|---|
XSD/e Compiler Manual | The XSD/e compiler command line interface documentation. |
XSD/e Wiki Pages | XSD/e community resources, such as FAQs, HOWTOs, etc. |
Support
We provide free, best-effort technical support for XSD/e via the xsde-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/e project page | Source code, build instructions and other information for XSD/e compiler developers. |
---|---|
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. |