Boost logo

Boost :

From: Boris Kolpackov (boris_at_[hidden])
Date: 2006-01-24 05:23:01


Good day,

I would like to announce the availability of xsd, a cross-platform, open
source W3C XML Schema to C++ translator. Provided with an XML instance
description (XML Schema), it generates C++ classes that represent the
given vocabulary as well as parsing and serialization code:

http://codesynthesis.com/products/xsd/

Compared to APIs such as DOM and SAX, the generated code allows you
to access the information in XML instance documents using your domain
vocabulary instead of generic elements, attributes, and text. Static
typing helps catch errors at compile-time rather than at run-time.
Automatic code generation frees you for more interesting tasks and
minimizes the effort needed to adopt to changes in the document
structure.

xsd supports two C++ mappings: in-memory C++/Tree and event-driven
C++/Parser. The C++/Tree mapping consists of C++ classes that represent
data types defined in XML Schema, a set of parsing functions that convert
XML instance documents to a tree-like in-memory data structure, and a set
of serialization functions that convert the in-memory representation back
to XML. For an introduction to the C++/Tree mapping refer to the C++/Tree
Mapping Quick Guide:

http://codesynthesis.com/projects/xsd/documentation/cxx/tree/quick-guide/

The C++/Parser mapping provides parser templates for data types defined
in XML Schema. Using these parser templates you can build your own
in-memory representations or perform immediate processing of XML instance
documents. For an introduction to the C++/Parser mapping refer to the
C++/Parser Mapping Quick Guide:

http://codesynthesis.com/projects/xsd/documentation/cxx/parser/quick-guide/

xsd runs on a range of platforms, including GNU/Linux, Windows, Mac OS X,
Solaris, and HP-UX. Supported C++ compilers include GNU g++, Intel C++,
Sun C++, HP aCC, and Microsoft Visual C++.

The translator is built using filesystem and regex libraries from boost.

-boris


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk