summaryrefslogtreecommitdiff
path: root/examples/cxx/tree/xpath/README
diff options
context:
space:
mode:
Diffstat (limited to 'examples/cxx/tree/xpath/README')
-rw-r--r--examples/cxx/tree/xpath/README47
1 files changed, 47 insertions, 0 deletions
diff --git a/examples/cxx/tree/xpath/README b/examples/cxx/tree/xpath/README
new file mode 100644
index 0000000..48d40d6
--- /dev/null
+++ b/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