diff options
Diffstat (limited to 'examples/cxx/serializer/minimal/README')
-rw-r--r-- | examples/cxx/serializer/minimal/README | 47 |
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 |