CodeSynthesis XSD: Difference between revisions

Content deleted Content added
No edit summary
Line 25:
'''CodeSynthesis XSD''' is an [[XML Data Binding]] compiler for [[C++]] developed by [[Code Synthesis]] and [[dual license|dual-licensed]] under the [[GNU GPL]] and a proprietary license. Given an [[XML]] instance specification ([[XML Schema (W3C)|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 [[IBM AIX (operating system)|AIX]], [[Linux|GNU/Linux]], [[HPUX|HP-UX]], [[Mac OS X]], [[Solaris Operating System|Solaris]], [[Microsoft Windows|Windows]], [[OpenVMS|HP OpenVMS]], and [[z/OS|IBM z/OS]]. Supported C++ compilers include [[GNU Compiler Collection|GNU G++]], [[Intel C++]], [[HP aCC]], [[Sun 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, [[Simple API for XML|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.
 
CodeSynthesis XSD itself is written in C++<ref>[[Bjarne Stroustrup]]. [http://www.research.att.com/~bs/applications.html C++ applications], 2007-05-25. Retrieved on 2007-06-18.</ref>.