This example shows how to filter the XML data during parsing and object model during serialization in the Embedded C++/Hybrid mapping. Filtering allows only parts of the XML document to be parsed into the object model or only parts of the object model to be serialized to XML. This example uses the parser and serializer customization mechanisms provided by the C++/Hybrid mapping. For more information, see Section 4.8, "Customizing the Object Model" and Section 6.1, "Customizing Parsers and Serializers" in the Embedded C++/Hybrid Mapping Getting Started Guide. The example consists of the following files: people.xsd XML Schema which describes a collection of person records. people.xml Sample XML instance document. people.hxx people.cxx people-pskel.hxx people-pskel.cxx people-pimpl.hxx people-pimpl.cxx people-pskel.hxx people-pskel.cxx people-pimpl.hxx people-pimpl.cxx Object model (the first pair of files), parser skeletons (the second pair), parser implementations (the third pair), serializer skeletons (the fourth pair), and serializer implementations (the fifth pair). These files are generated by the XSD/e compiler from people.xsd. The --generate-parser, --generate-serializer, and --generate-aggregate options were used to request the generation of the parsing and serialization code. The --custom-parser option was used to customize the people_pimpl parser implementation. The --custom-serializer option was used to customize the people_simpl serializer implementation. people-custom-pimpl.hxx people-custom-pimpl.cxx Custom people parser implementation. It uses the implementation generated by the XSD/e compiler as a base and overrides the person() callback to filter the records being parsed. people-custom-simpl.hxx people-custom-simpl.cxx Custom people serializer implementation. It uses the implementation generated by the XSD/e compiler as a base and overrides the person_next() callbacks to filter the records being serialized. driver.cxx Driver for the example. It first sets the filter parameters on the parser object and then calls it to construct the object model from the input XML file. Only records matching the parser filter end up in the object model. The driver then prints the content of the object model to STDERR. Finally, the driver sets the filter parameters on the serializer object and calls it to serialize the object model back to XML. Only records matching the serializer filter end up in the resulting XML. 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