Code Synthesis Tools CC specializes in the design of general-purpose and domain-specific language mappings (bindings) and development of open-source, cross-platform compiler front ends and code generators. Our products cater for a broad, embedded-to-server class of applications and are used in a wide range of industries, including aerospace, defense, telecommunications, finance, high-performance computing, biotech, and integrated circuit design. For a selection of companies that use our products visit our Customers page.
Our C++/Tree mapping is a feature-rich, C++ standard library based XML Schema to C++ mapping which represents XML documents as a vocabulary-specific, statically-typed, tree-like in-memory object model. Unique C++/Parser as well as Embedded C++/Parser and Embedded C++/Serializer are event-driven, stream-oriented XML parsing/serialization mappings with support for high-performance, low-footprint XML Schema validation and C++ data binding.
News
| Free proprietary license for small vocabularies | August 3, 2010 |
|---|---|
| A free proprietary license is now available for XSD and XSD/e. The new license allows one to use the generated code to handle small XML vocabularies in proprietary (closed-source) applications free of charge and without having to release the source code. | |
| CodeSynthesis XSD 3.3.0 released | April 28, 2010 |
|
Major new features in this release include support for uniform
parsing and serialization of XML documents with varying root
elements, configurable application character encoding (UTF-8,
ISO-8859-1, etc.), support for stream-oriented, partially
in-memory XML processing, smaller and faster generated code
for polymorphic schemas, support for embedding the binary
representation of the schema grammar into the application,
and the generation of the detach functions that allow moving
object model sub-trees without copying.
This release also adds support for the AIX 6.x, Mac OS X 10.6, Windows 7, and Windows Server 2008 operating systems as well as for the Visual Studio 2010 (10.0), GNU g++ 4.5.0, Intel C++ 11, Sun Studio 12.1, and IBM XL C++ 11 compilers. Visual Studio 2010 project and solution files are provided for all the examples. |
|
| CodeSynthesis XSD/e 3.1.0 released | April 15, 2009 |
|
Major new features in the C++/Hybrid mapping include support for
XML Schema polymorphism (xsi:type and substitution groups),
binary serialization in XDR, CDR, and custom data
representation formats, support for complete customization
of the object model classes, support for default and fixed
values, and support for recursive XML parsing and serialization.
This release also adds official support and sample configurations for LynxOS 4.2 and 5.0 as well as VxWorks 6.7. |
|
| CodeSynthesis XSD/e 3.0.0 released | February 4, 2009 |
|
This major release adds the new Embedded C++/Hybrid mapping
which provides a light-weight, tree-like object model with
precise reproduction of the XML vocabulary structure and
element order. The new mapping supports fully in-memory as
well as hybrid, partially event-driven, partially in-memory
XML processing while maintaining a small footprint and
portability.
This release also adds official support for QNX 6.x, iPhone OS 2.x, and Visual Studio 2008 with Smart Devices. |
|
| CodeSynthesis XSD 3.2.0 released | September 30, 2008 |
| Major new features in the C++/Tree mapping include support for locating object model nodes with XPath queries, automatic assignment of namespace prefixes during serialization, polymorphism-aware object model comparison and printing, generation of non-copying constructors, and support for the fractionDigits and totalDigits facets during serialization. In the C++/Parser mapping: support for generation of the XML Schema namespace into a separate header file and reduced usage of virtual inheritance which results in a much smaller object code size and faster compilation. | |
| CodeSynthesis XSD/e 2.1.0 released | Junuary 11, 2008 |
| Major new features include support for XML Schema polymorphism (xsi:type and substitution groups), support for delegation-based implementation reuse in addition to inheritance-based, automatic generation of sample serializer implementations and test drivers, support for parser and serializer reuse after an error, and the file-per-type compilation mode in addition to file-per-schema. | |
| CodeSynthesis XSD 3.1.0 released | February 7, 2008 |
| Major new features in the C++/Tree mapping include the file-per-type compilation mode in addition to file-per-schema, support for IntelliSense, the ability to choose the identifier naming convention used in the generated code, non-copying modifier functions, and additional binary serialization examples. In the C++/Parser mapping: the file-per-type compilation mode in addition to file-per-schema and support for XML Schema polymorphism (xsi:type and substitution groups). | |
| CodeSynthesis XSD/e 2.0.0 released | November 13, 2007 |
| This release adds the new Embedded C++/Serializer mapping which provides event-driven XML serialization, XML Schema validation, and C++ data binding. The Embedded C++/Serializer Mapping Getting Started Guide is also included. | |
| CodeSynthesis XSD/e 1.1.0 released | September 20, 2007 |
| Major new features include parser implementations for all built-in XML Schema types, automatic generation of sample parser implementations as well as test drivers, support for parsing XML documents with varying root elements, and new chapters in the Getting Started Guide. | |
| CodeSynthesis XSD 3.0.0 released | August 1, 2007 |
| Major new features include C++/Tree: generation of documentation in the Doxygen format, a new mapping for the XML Schema wildcards (any and anyAttribute), support for binary serialization in the XDR format, and a new Getting Started guide. C++/Parser: parser implementations for all built-in XML Schema types, automatic generation of sample parser implementations as well as test drivers, and a new Getting Started Guide. | |
| An article published in The C++ Source | May 7, 2007 |
| An article introducing XML Data Binding in C++ was published in The C++ Source journal. It covers both in-memory and stream-oriented processing models and provides comparison to raw XML access APIs such as DOM and SAX. | |
| More news... | |