CodeSynthesis XSD: Difference between revisions

Content deleted Content added
No edit summary
No edit summary
Line 1:
'''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]], and [[Microsoft Windows|Windows]]. Supported C++ compilers include [[GNU Compiler Collection|GNU G++]], [[Intel C++]], [[HP aCC]], [[Sun C++]], [[IBM XL C++]], and [[Microsoft 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. C++/Parser is a new, [[SAX]]-like mapping which represents the information stored in XML instance documents as a hierarchyh{| ofclass="wikitable" vocabulary-specific parsing events. In comparison to C++/Tree, the C++/Parser mapping allows oneborder="1"
|<blockquote>
-
! header 1
! header 2
! header 3
|-
| row 1, cell 1
| row 1, cell 2
| row 1, cell 3
|-
| row 2, cell 1
| row 2, cell 2
| row 2, cell 3
</blockquote>
<gallery>
<!-- Image:Example.jpg|Caption1
Image:Example.jpg|Caption2 --><small><small>Small Text</small><sub><sup>Subscript text</sup><s>
----
Strike-through text<nowiki>[Insert non-formatted text here][['''Link title''']]</nowiki></s></sub></small>
</gallery>
|}ierarchy 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.