summaryrefslogtreecommitdiff
path: root/examples/cxx/tree/library/README
blob: 960d1d4b68ac2a9eae10e0da09c25fd20d98d5e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
This example shows how to use the C++/Tree mapping to parse XML documents
into a tree-like in-memory object model, modify this object model, and
finally serialize it back to XML.

The example consists of the following files:

library.xsd
  XML Schema which describes a library of books.

library.xml
  Sample XML instance document.

library.hxx
library.ixx
library.cxx
  C++ types that represent the given vocabulary, a set of parsing
  functions that convert XML documents to a tree-like in-memory object
  model, and a set of serialization functions that convert the object
  model back to XML. These are generated by XSD from library.xsd.

driver.cxx
  Driver for the example. It first calls one of the parsing functions
  that constructs the object model from the input file. It then prints
  the content of the object model to STDERR. Finally, the driver modifies
  the object model and serializes it back to XML.

To run the example on the sample XML instance document simply execute:

$ ./driver library.xml

This example also shows how to to use the ID/IDREF cross-referencing
mechanism and the xsd:enumeration to C++ enum mapping.