Jump to content

CodeSynthesis XSD

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
CodeSynthesis XSD
Developer(s)Code Synthesis
Stable release
4.2.0 / October 5, 2023; 20 months ago (2023-10-05)
Written inC++
Operating systemCross-platform C++
TypeXML Data Binding
LicenseGNU General Public License and Proprietary License
Websitewww.codesynthesis.com/products/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++.

References