diff options
Diffstat (limited to 'xsd/examples/cxx/tree/xpath/README')
-rw-r--r-- | xsd/examples/cxx/tree/xpath/README | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/xsd/examples/cxx/tree/xpath/README b/xsd/examples/cxx/tree/xpath/README new file mode 100644 index 0000000..48d40d6 --- /dev/null +++ b/xsd/examples/cxx/tree/xpath/README @@ -0,0 +1,47 @@ +This example shows how to use the C++/Tree mapping together with XPath. +In particular, it shows how to execute an XPath query on the underlying +DOM document and then handle the result using the more convenient object +model representation. For more information on maintaining association +with the underlying DOM document, refer to Section 5.1, "DOM Association" +in the C++/Tree Mapping User Manual. + +You will need the XQilla library[1] which provides XQuery and XPath 2 +support on top of Xerces-C++ in order to build and run this example. + +[1] http://xqilla.sourceforge.net + +The example consists of the following files: + +people.xsd + XML Schema definition for a simple person record vocabulary. + +people.xml + Sample XML instance document. + +people.hxx +people.cxx + C++ types that represent the person record 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 people.xsd. + +dom-parse.hxx +dom-parse.cxx + Definition and implementation of the parse() function that parses an + XML document to a DOM document. + +driver.cxx + Driver for Xerces-C++ 3.x.y/XQilla 2.2.x. It first calls the above + parse() function to parse the input file to a DOM document using + XQilla-provided DOM Implementation with support for XPath 2. It + then parses the DOM document to the object model. Finally, it + prepares and executes an XPath query on the underlying DOM + document and then handles the result by getting back from the + returned DOM nodes to object model nodes. + +driver-2.cxx + Driver for Xerces-C++ 2.x.y/XQilla 2.1.x. It performs the same set + of actions as driver.cxx above. + +To run the example on the sample XML document simply execute: + +$ ./driver people.xml |