HOME

TheInfoList



OR:

CodeSynthesis XSD is an
XML Data Binding XML data binding refers to a means of representing information in an XML document as a business 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 ...
compiler for C++ developed by Code Synthesis and
dual-licensed Multi-licensing is the practice of distributing software under two or more different sets of terms and conditions. This may mean multiple different software licenses or sets of licenses. Prefixes may be used to indicate the number of licenses ...
under the
GNU GPL The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general ...
and a proprietary license. Given an XML instance specification (
XML Schema An XML schema is a description of a type of Extensible Markup Language, XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntactical constraints imposed ...
), 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 Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
,
HP-UX HP-UX (from "Hewlett Packard Unix") is Hewlett Packard Enterprise's proprietary implementation of the Unix operating system, based on Unix System V (initially System III) and first released in 1984. Current versions support HPE Integrit ...
,
OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
, Solaris,
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
,
OpenVMS OpenVMS, often referred to as just VMS, is a multi-user, multiprocessing and virtual memory-based operating system. It is designed to support time-sharing, batch processing, transaction processing and workstation applications. Customers using Ope ...
, and z/OS. Supported C++ compilers include GNU G++,
Intel C++ Intel oneAPI DPC++/C++ Compiler and Intel C++ Compiler Classic are Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconducto ...
,
HP aCC HP may refer to: Businesses and organisations * HP Inc., an American technology company ** Hewlett-Packard, the predecessor to HP Inc. * HP Foods ** HP Sauce, formerly made by HP Foods * Handley Page, an aircraft company * Hindustan Petroleum * ...
, Solaris Studio C++,
IBM XL C++ XL C/C++ is the name of IBM's proprietary optimizing C/C++ compiler for IBM-supported environments. Compiler The IBM XL compilers are built from modularized components consisting of front ends (for different programming languages), a platform- ...
, and Microsoft Visual C++. A version for mobile and embedded systems, called
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. Given an XML instance ...
, 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


CodeSynthesis XSD Home Page

An Introduction to the C++/Tree Mapping

An Introduction to the C++/Parser Mapping


XML XML parsers C++ C++ libraries