This example shows how to map a user-defined XML Schema type to a custom C++ class. It presents the simple case where the customized type is not used as a base in the same schema. For the complex case see the taxonomy example. For more information on the C++/Tree mapping customization see the C++/Tree Mapping Customization Guide[1]. [1] http://wiki.codesynthesis.com/Tree/Customization_guide The example consists of the following files: contacts.xsd XML Schema definition for a simple contacts database. contacts.xml Sample XML instance document. contacts.hxx contacts.ixx contacts.cxx C++ types that represent the given vocabulary and a set of parsing functions that convert XML instance documents to a tree-like in-memory object model. These are generated by XSD from contacts.xsd with the --custom-type option in order to customize the contact type. contacts-custom.hxx Header file which defines our own contact class by inheriting from the generated contact_base. It is included at the end of contacts.hxx using the --hxx-epilogue option. contacts-custom.cxx Source file which contains the implementation of our contact class. driver.cxx Driver for the example. It first calls one of the parsing functions that constructs the object model from the input file. It then prints the contacts to STDERR. To run the example on the sample XML instance document simply execute: $ ./driver contacts.xml