This example shows how to handle XML Schema polymorphism features such as xsi:type attributes and substitution groups in the C++/Parser mapping. The case when xsi:type is used on root elements is covered in the polyroot examples. The example consists of the following files: supermen.xsd XML Schema which describes the "supermen" instance documents. supermen.xml Sample XML instance document. supermen-pskel.hxx supermen-pskel.cxx Parser skeletons generated by the XSD compiler from supermen.xsd. Note the use of the --generate-polymorphic command line option. supermen-pimpl.hxx supermen-pimpl.cxx Parser implementations that print the XML data to STDOUT. driver.cxx Driver for the example. It first constructs a parser instance from all the individual parsers found in supermen-pimpl.hxx. It then invokes this parser instance to parse the input file. To run the example on the sample XML instance document simply execute: $ ./driver supermen.xml