diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2009-02-24 15:16:26 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2009-02-24 15:16:26 +0200 |
commit | 707cc94fe52463870a9c6c8e2e66eaaa389e601d (patch) | |
tree | 13e10ff28bf4455d915f9d59b401bdbb62a393cb /examples/cxx/parser/library/README |
Start tracking XSD/e with git after version 3.0.03.0.0
Diffstat (limited to 'examples/cxx/parser/library/README')
-rw-r--r-- | examples/cxx/parser/library/README | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/examples/cxx/parser/library/README b/examples/cxx/parser/library/README new file mode 100644 index 0000000..da0a49b --- /dev/null +++ b/examples/cxx/parser/library/README @@ -0,0 +1,53 @@ +This example shows how to use the Embedded C++/Parser mapping +to construct a custom in-memory object model from XML instance +documents. + +The example consists of the following files: + +library.xsd + XML Schema which describes a library of books. + +library.xml + Sample XML instance document. + +library.hxx + Types that describe a library of books in C++. These are + hand-written. + +library.map + Type map. It maps XML Schema types defined in library.xsd + to C++ types defined in library.hxx. + +library-pskel.hxx +library-pskel.ixx +library-pskel.cxx + Parser skeletons generated by XSD/e from library.xsd and + library.map. + +library-pimpl-mixin.hxx +library-pimpl-mixin.cxx + +library-pimpl-tiein.hxx +library-pimpl-tiein.cxx + Parser implementations (using either mixin or tiein parser + reuse style) that construct the custom in-memory object model + from an XML instance using types from library.hxx. These are + hand-written implementations of the parser skeletons defined + in library-pskel.hxx. + +driver.cxx + Driver for the example. It first constructs a parser + instance from all the individual parsers found in one of + library-pimpl-*.hxx. In then invokes this parser instance + to parse the input file and produce the in-memory object + model. Finally, it prints the content of the object model + to STDERR. + +To run the example on the sample XML instance document simply +execute: + +$ ./driver library.xml + +The example reads from STDIN if input file is not specified: + +$ ./driver <library.xml |