CodeSynthesis XSD
Encyclopedia
CodeSynthesis XSD is an XML Data Binding
XML data binding
XML data binding refers to a means of representing information in an XML document as an object in computer memory. This allows applications to access the data in the XML from the object rather than using the DOM or SAX to retrieve the data from a direct representation of the XML itself.An XML data...

 compiler for C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 developed by Code Synthesis
Code Synthesis
Code Synthesis Tools CC is a software development company located in Cape Town, South Africa. The company revolves around the development and licencing of ODB, a compiler-based object-relational mapping system for C++, CodeSynthesis XSD, an open-source, cross-platform XML Data Binding compiler for...

 and dual-licensed
Dual license
Multi-licensing is the practice of distributing software under two or more different sets of terms and conditions. This may mean multiple different licenses or sets of licenses. Prefixes may be used to indicate the number of licenses used, e.g...

 under the GNU GPL and a proprietary license. Given an XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 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, GNU/Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, HP-UX, Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

, Solaris
Solaris Operating System
Solaris is a Unix operating system originally developed by Sun Microsystems. It superseded their earlier SunOS in 1993. Oracle Solaris, as it is now known, has been owned by Oracle Corporation since Oracle's acquisition of Sun in January 2010....

, Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

, HP OpenVMS
OpenVMS
OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...

, and IBM z/OS
Z/OS
z/OS is a 64-bit operating system for mainframe computers, produced by IBM. It derives from and is the successor to OS/390, which in turn followed a string of MVS versions.Starting with earliest:*OS/VS2 Release 2 through Release 3.8...

. Supported C++ compilers include GNU G++
GNU Compiler Collection
The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain...

, Intel C++, HP aCC, Sun C++, IBM XL C++
IBM XL C++
XL C/C++ is the name of the C/C++ compiler developed for IBM environments. This is the follow on product line to the VisualAge C/C++ compiler. The XL C and C++ compilers offer advanced compiler and optimization technologies and are built on a common code base to enable the porting of applications...

, and Microsoft Visual C++. A version for mobile and embedded systems, called CodeSynthesis XSD/e
CodeSynthesis XSD/e
CodeSynthesis XSD/e is a validating XML parser/serializer and C++ XML Data Binding generator for Mobile and Embedded systems. It is developed by Code Synthesis and dual-licensed under the GNU GPL and a proprietary license....

, 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
Sax
-Places:* Sax, Alicante, a municipality in Spain* Saxmundham, UK - a colloquial short form used in East Suffolk* Sax, a village in the Sennwald municipality in Switzerland-People:* Sax, later "Sax-Hohensax", name a house of barons originally at Hohensax castle...

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

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK