This example shows how to handle raw, "type-less content" such as mixed content models, anyType/anySimpleType, and any/anyAttribute in the C++/Parser mapping. In this example we use mixed content model to describe text with embedded links, e.g., This paragraph talks about time. The example transforms such text into plain text with references, e.g., This paragraph talks about time[0]. [0] uri The example consists of the following files: text.xsd XML Schema which describes "text with links" instance documents. text.xml Sample XML instance document. anchor.hxx Anchor type that captures the information about a link. text.map Type map. It maps XML Schema anchor types defined in text.xsd to C++ anchor class defined in anchor.hxx. text-pskel.hxx text-pskel.cxx Parser skeletons generated by the XSD compiler from text.xsd and text.map using the following command line: xsd cxx-parser --type-map=text.map text.xsd Or if using Expat instead of Xerces-C++ as the underlying XML parser: xsd cxx-parser --xml-parser=expat --type-map=text.map text.xsd driver.cxx A parser implementation and a driver for the example. The parser implementation prints the transformed text to STDOUT. The driver 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. To compile and link the example manually from the command line we can use the following commands (replace 'c++' with your C++ compiler name): c++ -c text-pskel.cxx c++ -c driver.cxx c++ -o driver driver.o text-pskel.o -lxerces-c Or if using Expat as the underlying XML parser: c++ -o driver driver.o text-pskel.o -lexpat To run the example on the sample XML instance document: ./driver text.xml