Reference articles on history, science, culture and more
Encyclopedia

CodeSynthesis XSD

CodeSynthesis XSD is an XML Data Binding compiler for C++ developed by Code Synthesis and dual-licensed under the GNU GPL and a proprietary license. Given an XML instance specification (XML Schema), it generates C++ classes that represent the given vocabulary as well as parsing and serialization code. It is supported on a large number of platforms, including AIX, Linux, HP-UX, OS X, Solaris, Windows, OpenVMS, and z/OS. Supported C++ compilers include GNU G++, Intel C++, HP aCC, Solaris Studio C++, IBM XL C++, and Microsoft Visual C++. A version for mobile and embedded systems, called CodeSynthesis XSD/e, is also available.

One of the unique features of CodeSynthesis XSD is its support for two different XML Schema to C++ mappings: in-memory C++/Tree and stream-oriented C++/Parser. The C++/Tree mapping is a traditional mapping with a tree-like, in-memory data structure. C++/Parser is a new, SAX-like mapping which represents the information stored in XML instance documents as a hierarchy of vocabulary-specific parsing events. In comparison to C++/Tree, the C++/Parser mapping allows one to handle large XML documents that would not fit in memory, perform stream-oriented processing, or use an existing in-memory representation. The XSD-generated code can target C++98/03 or C++11.

CodeSynthesis XSD itself is written in C++.

Watch videos about CodeSynthesis XSDExplainers and documentaries on YouTube (opens in a new tab)

Sources and credits

This article is adapted from the Wikipedia article CodeSynthesis XSD, written by its contributors and licensed under CC BY-SA 4.0. Fathomly has changed the layout, removed citation markers, navigation and maintenance notices, and adjusted punctuation. This adapted version is shared under the same license. For references, see the original article.

Fathomly is not affiliated with or endorsed by the Wikimedia Foundation. Spotted a problem? Tell us.