views:

70

answers:

2

I'm looking for open-source projects that make use of two things: (1) C++ and (2) XML data binding. For those who don't know, data binding tools make use of XML schema and code generators such as Codesynthesis xsd, Liquid Technologies. I know CIAO/DAnCE project, an implementation of CORBA Component Model that uses XML Schema Compiler (XSC) but I'm hoping to find more.

+1  A: 

I have tried http://www.codesynthesis.com/products/xsd/ a few months back and I thought the resulting C++ interface was pretty clean. (It's style is similar to STL / boost APIs)

Other than that the gSOAP toolkit appears to have something too. ( http://www.cs.fsu.edu/~engelen/soapdoc2.html#tth_sEc1.4 )

Martin
A: 

You should try free XmlPlus xsd2cpp tool, for XML Schema to C++ Data Binding.
XmlPlus xsd2cpp

The xsd2cpp binary when invoked on an [input].xsd, generates:
* the C++ sources(implementation/headers) for the supplied XML-Schema
* a main.cpp template, to demonstrate how generated sources can be consumed
* the automake/autoconf files for building the generated source

The main.cpp file is built into a [input]run binary for an [input].xsd input, which can be used to:
- generate sample xml documents, without any additional C++ code
- validate an instance xml document against the Schema: [input].xsd
- generate populated instance xml document, if you write code in the template function inside main.cpp to populate the Document.
- option to roundtrip ie. read and instance xml file into C++ structures, and then write back to xml

A brief note on XmlPlus xsd2cpp:
* provides C++ Data-Binding, validating-parser, writer for xml-files constrained by the supplied XML-schema * roundtrip retains comments and processing instructions
* contains good examples to demonstrate usage
* tested against some of randomly selected W3C test cases

Satya Prakash Tripathi