summaryrefslogtreecommitdiff
path: root/examples/cxx/tree/compression/README
diff options
context:
space:
mode:
Diffstat (limited to 'examples/cxx/tree/compression/README')
-rw-r--r--examples/cxx/tree/compression/README48
1 files changed, 48 insertions, 0 deletions
diff --git a/examples/cxx/tree/compression/README b/examples/cxx/tree/compression/README
new file mode 100644
index 0000000..f2f0563
--- /dev/null
+++ b/examples/cxx/tree/compression/README
@@ -0,0 +1,48 @@
+This example shows how to compress XML documents during serialization
+and decompress them during parsing. The example uses the compression
+functionality provided by the zlib library[1] which needs to be installed
+in order to build and run this example. It should also be fairly straight-
+forward to modify the code in this example to use other compression
+libraries.
+
+[1] http://www.zlib.net
+
+The example consists of the following files:
+
+library.xsd
+ XML Schema which describes a library of books.
+
+library.xml.gz
+ Sample XML instance document compressed using the gzip format.
+
+compressed-format-target.hxx
+compressed-format-target.cxx
+ Implementation of the Xerces-C++ XMLFormatTarget interface with the on-
+ the-fly compression support. You can use it in your application to add
+ XML compression.
+
+compressed-input-source.hxx
+compressed-input-source.cxx
+ Implementation of the Xerces-C++ InputSource interface with the on-the-
+ fly decompression support. You can use it in your application to add
+ XML decompression.
+
+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 XSD from library.xsd.
+
+driver.cxx
+ Driver for the example. It first creates the compressed_input_source
+ object and passes it to one of the parsing functions that constructs
+ the object model from the compressed input file. It then prints the
+ content of the object model to STDERR. Finally, the driver creates the
+ compressed_format_target object and passes it to one of the serialization
+ functions which converts the object model back to the compressed XML.
+
+To run the example on the sample XML document simply execute:
+
+$ ./driver library.xml.gz
+
+The serialization output is written to the out.xml.gz file.