path: root/xsd-examples/cxx/tree/compression/README
diff options
Diffstat (limited to 'xsd-examples/cxx/tree/compression/README')
1 files changed, 48 insertions, 0 deletions
diff --git a/xsd-examples/cxx/tree/compression/README b/xsd-examples/cxx/tree/compression/README
new file mode 100644
index 0000000..f163970
--- /dev/null
+++ b/xsd-examples/cxx/tree/compression/README
@@ -0,0 +1,48 @@
+This example shows how to compress an XML document during serialization
+and decompress it 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
+The example consists of the following files:
+ XML Schema which describes a library of books.
+ Sample XML instance document compressed using the gzip format.
+ 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.
+ 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.
+ 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 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.