XSD/e 3.2.0

A XML Processing for Embedded Systems.
XSD/e is a XML Processing for Embedded Systems.

CodeSynthesis XSD/e is an open-source XML parser generator for mobile and embedded systems. It provides event-driven, stream-oriented XML parsing, XML Schema validation, and C++ data binding while maintaining a small footprint and portability.

XSD/e implements Embedded C++/Parser mapping which, provided with an XML instance specification (XML Schema), generates validating C++ parser skeletons for data types defined in your vocabulary. You can then implement these parser skeletons to build your own in-memory representation or perform immediate processing as parts of your XML document become available. For an introduction to the C++/Parser mapping, refer to the Hello World Parser chapter from the Getting Started Guide.

Based on the static analysis of the schemas, XSD/e generates compact, highly-optimized hierarchical state machines that combine data extraction, validation, and even dispatching in a single step. As a result, the XSD/e-generated parsers are 2-10 times faster than general-purpose validating XML parsers while maintaining the lowest static and dynamic memory footprints. For example, a validating parser executable can be as small as 120KB in size.

Here are some key features of "XSD e":

· Ease of use The parser skeletons maintain parsing state and do data extraction for you. As a result, you are shielded from the intricacies of parsing XML.
· Validation The parser skeletons provide low-footprint, high-performance XML Schema validation so you don't need to complicate your code with extra error checking.
· Natural representation Handle the XML data using your domain vocabulary instead of generic elements, attributes, and text.
· Static typing The generated parser skeletons are statically typed which helps catch errors at compile-time rather than at run-time. For example, XML element and attribute names become C++ function names so if you misspelled one, the compiler will let you know.
· Concise code Thanks to the object representation provided by parser skeletons, your business logic implementation is simpler and thus easier to read and understand.
· Maintainability Automatic code generation minimizes the effort needed to adapt your application to changes in the document structure. Thanks to static typing, the C++ compiler will pin-point the places in your code that need to be changed.

last updated on:
February 16th, 2011, 14:07 GMT
price:
FREE!
developed by:
Boris Kolpackov
homepage:
www.codesynthesis.com
license type:
GPL (GNU General Public License) 
category:
ROOT \ Programming \ Code Generators

FREE!

In a hurry? Add it to your Download Basket!

user rating 18

2.8/5
 

0/5

What's New in version 3.1.0
  • Support for XML Schema polymorphism. The new --generate-polymorphic option triggers the generation of polymorphism-aware code.
  • Support for saving the object model to and loading it from binary representations. The new --generate--insertion and --generate-extraction options trigger the generation of data representation stream insertion and extraction operators, respectively.
  • Support for attributes with default and fixed values.
  • New option, --custom-type, allows the customization of the object model classes.
read full changelog

Add your review!

SUBMIT