Jump to content

CodeSynthesis XSD

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Gwern (talk | contribs) at 02:38, 23 September 2006 (Robot-assisted disambiguation (you can help!): Windows). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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 GNU/Linux, HPUX, Mac OS X, Solaris, and Windows. Supported C++ compilers include GNU G++, Intel C++, HP aCC, Sun C++, and Visual C++.

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. The 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.