xsd is a W3C XML Schema to C++ translator. xsd generates a vocabulary-specific, statically-typed C++ mapping (also called binding) from XML Schema definitions.
The mapping consists of data types that represent the given vocabulary, a set of parsing functions that convert XML instance documents to a tree-like in-memory data structure, and a set of serialization functions that convert the in-memory representation back to XML.
xsd features C++ standard library-based language mapping, configurable base character type (char/wchar_t), support for all XML Schema built-in types, custom Schema to C++ namespace mapping, platform-independent generated code, and more.
Here are some key features of "xsd":
· Robust, clean and compact C++ standard library -based language mapping; you don't need to learn much if you know how to use std::vector
· Configurable base character type; can be char (UTF-8) or wchar_t (UTF-16 or UTF-32/UCS-4)
· Natural mapping for all W3C XML Schema built-in types: xsd:boolean to bool, xsd:string to std::string, etc.
· Mapping from xsd:enumeration to C++ enum
· Serialization of the in-memory representation back to DOM and XML
· Automatic generation of stream insertion operators (operator