CodeSynthesis XSD
{{Infobox software
| name = CodeSynthesis XSD
| developer = Code Synthesis
| latest release version = 4.2.0
| latest release date = {{Start date and age|2023|10|05}}
| operating system = Cross-platform C++
| programming language = C++
| genre = XML Data Binding
| license = GNU General Public License and Proprietary License
| website = {{url|https://www.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
{{reflist}}
External links
- [http://www.codesynthesis.com/products/xsd/ CodeSynthesis XSD Home Page]
- [http://www.codesynthesis.com/projects/xsd/documentation/cxx/tree/guide/ An Introduction to the C++/Tree Mapping]
- [http://www.codesynthesis.com/projects/xsd/documentation/cxx/parser/guide/ An Introduction to the C++/Parser Mapping]
- [http://www.artima.com/cppsource/xml_data_binding.html An Introduction to XML Data Binding in C++]