summaryrefslogtreecommitdiff
path: root/xsd-examples/cxx/tree/embedded/README
diff options
context:
space:
mode:
Diffstat (limited to 'xsd-examples/cxx/tree/embedded/README')
-rw-r--r--xsd-examples/cxx/tree/embedded/README44
1 files changed, 36 insertions, 8 deletions
diff --git a/xsd-examples/cxx/tree/embedded/README b/xsd-examples/cxx/tree/embedded/README
index 266a8ff..f1946bf 100644
--- a/xsd-examples/cxx/tree/embedded/README
+++ b/xsd-examples/cxx/tree/embedded/README
@@ -1,5 +1,5 @@
This example shows how to embed the binary representation of the schema
-grammar into an application and then use it with the C++/Tree mapping to
+grammar into an application and then use it with the C++/Tree mapping to
parse and validate XML documents. This example is similar to the 'caching'
example except that it loads the binary representation of the schemas
embedded into the application instead of pre-parsing external schema files.
@@ -8,10 +8,16 @@ The example consists of the following files:
xsdbin.cxx
Tool for converting one or more XML Schema files to the compressed binary
- representation. The output is written as a pair of C++ source files
+ representation. The output is written as a pair of C++ source files
containing the array with the binary data. Use the --help option to see
the tool's usage information.
+ To compile and link this tool we can use the following commands (replace
+ 'c++' with your C++ compiler name):
+
+ c++ -c xsdbin.cxx
+ c++ -o xsdbin xsdbin.o -lxerces-c
+
library.xsd
XML Schema which describes a library of books.
@@ -22,16 +28,25 @@ library.hxx
library.cxx
C++ types that represent the given vocabulary and a set of parsing
functions that convert XML instance documents to a tree-like in-memory
- object model. These are generated by the XSD compiler from library.xsd.
+ object model.
+
+ These files are generated by the XSD compiler from library.xsd using
+ the following command line:
+
+ xsd cxx-tree library.xsd
library-schema.hxx
library-schema.cxx
- Binary representation of the library.xsd schema. These files are generated
- by the xsdbin tool.
+ Binary representation of the library.xsd schema.
+
+ These files are generated by the xsdbin tool from library.xsd using the
+ following command line:
+
+ ./xsdbin library.xsd
grammar-input-stream.hxx
grammar-input-stream.cxx
- Input stream implementation with the special-purpose schema grammar
+ Input stream implementation with the special-purpose schema grammar
decompression algorithm. It is used to load the binary schema representation
produced by the xsdbin tool.
@@ -43,6 +58,19 @@ driver.cxx
model from this DOM document. On each iteration the driver prints a number
of books in the object model to STDERR.
-To run the example on the sample XML instance document simply execute:
+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++ -DXSD_CXX11 -c library.cxx
+c++ -DXSD_CXX11 -c library-schema.cxx
+c++ -DXSD_CXX11 -c grammar-input-stream.cxx
+c++ -DXSD_CXX11 -c driver.cxx
+c++ -o driver driver.o library.o library-schema.o grammar-input-stream.o \
+ -lxerces-c
+
+Note that we need to define the XSD_CXX11 preprocessor macro since the
+source code includes libxsd headers directly.
+
+To run the example on the sample XML instance document execute:
-$ ./driver library.xml
+./driver library.xml