This example is a minimal parser implementation that is intended to work without STL, iostream, or C++ exceptions. The example consists of the following files: people.xsd XML Schema which describes a collection of person records. people.xml Sample XML instance document. gender.hxx C++ gender enum that corresponds to the gender types in people.xsd. people.map Type map. It maps XML Schema gender type defined in people.xsd to C++ gender enum defined in gender.hxx. people-pskel.hxx people-pskel.ixx people-pskel.cxx Parser skeletons generated by XSD/e from people.xsd and people.map. The --no-stl and --no-exceptions options were used to produce these files. people-pimpl-mixin.hxx people-pimpl-tiein.hxx Parser implementations (using either mixin or tiein parser reuse style) that prints the results to STDERR. These are hand-written implementations of the parser skeletons defined in people-pskel.hxx. driver.cxx Driver for the example. It first constructs a parser instance from the parser implementation mentioned above and a couple of predefined parsers for the XML Schema built-in types. In then invokes this parser instance to parse the input file. It also shows how to handle parsing and validation errors using error codes. To run the example on the sample XML instance document simply execute: $ ./driver people.xml The example reads from STDIN if input file is not specified: $ ./driver