
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