XSD/e

A XML Processing for Embedded Systems.
Download

XSD/e Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • Boris Kolpackov
  • Publisher web site:
  • http://www.codesynthesis.com/products/xsde/

XSD/e Tags


XSD/e Description

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. What's New in This Release: · 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. · New option, --generate-detach, triggers the generation of detach functions for elements and attributes of variable-length types. · The generated parser and serializer implementations are now capable of parsing/serializing recursive types. The XSD/e compiler detects recursive types and generates stack-based implementations with the optimized non-recursive case (i.e., the first iteration still does not result in any heap allocations for the state maintenance). · Assignment function with signature assign(const T*, size_t) for sequences of fixed-length types.


XSD/e Related Software