CodeSynthesis XSD is an open-source, cross-platform W3C XML Schema to C data binding compiler.
Provided with an XML instance specification (XML Schema), it generates C classes that represent the given vocabulary as well as parsing and serialization code.
XSD supports two XML Schema to C mappings: in-memory C /Tree and stream-oriented C /Parser.
The C /Tree mapping represents the information stored in XML instance documents as a tree-like, in-memory data structure. C /Parser is a new, SAX-like mapping which represents the data stored in XML as a hierarchy of vocabulary-specific parsing events.