aboutsummaryrefslogtreecommitdiff
path: root/examples/cxx/serializer/minimal/README
diff options
context:
space:
mode:
Diffstat (limited to 'examples/cxx/serializer/minimal/README')
-rw-r--r--examples/cxx/serializer/minimal/README47
1 files changed, 47 insertions, 0 deletions
diff --git a/examples/cxx/serializer/minimal/README b/examples/cxx/serializer/minimal/README
new file mode 100644
index 0000000..0121f9a
--- /dev/null
+++ b/examples/cxx/serializer/minimal/README
@@ -0,0 +1,47 @@
+This example is a minimal serializer implementation that is
+intended to work without STL, iostream, or C++ exceptions.
+
+The example consists of the following files:
+
+people.xsd
+ XML Schema which describes a collection of person
+ records.
+
+people.hxx
+ Simple C++ types that corresponds to the XML Schema
+ types in people.xsd. These are hand-written.
+
+people.map
+ Type map. It maps XML Schema types defined in
+ people.xsd to C++ types defined in people.hxx.
+
+people-sskel.hxx
+people-sskel.ixx
+people-sskel.cxx
+ Serializer skeletons generated by XSD/e from people.xsd
+ and people.map. The --no-stl and --no-iostream options
+ were used to produce these files.
+
+people-simpl-mixin.hxx
+
+people-simpl-tiein.hxx
+ Serializer implementations (using either mixin or tiein
+ parser reuse style) that serializes the custom in-memory
+ object model defined in people.hxx to XML. These are hand-
+ written implementations of the parser skeletons defined
+ in people-sskel.hxx.
+
+driver.cxx
+ Driver for the example. It first constructs a sample
+ object model using the types from people.hxx. It then
+ creates a serializer instance using the serializer
+ implementation mentioned above and a couple of predefined
+ serializers for the XML Schema built-in types. Finally, it
+ invokes this serializer instance to serialize the sample
+ object model to an XML document which is printed to STDOUT.
+ It also shows how to handle serialization and validation
+ errors using error codes.
+
+To run the example simply execute:
+
+$ ./driver