From 018e1ba581ec6f01f069a45ec4cf89f152b44d5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Wed, 19 Mar 2025 15:41:36 +0100 Subject: remerge --- xsd/examples/cxx/parser/library/README | 44 ++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 xsd/examples/cxx/parser/library/README (limited to 'xsd/examples/cxx/parser/library/README') diff --git a/xsd/examples/cxx/parser/library/README b/xsd/examples/cxx/parser/library/README new file mode 100644 index 0000000..3f515f6 --- /dev/null +++ b/xsd/examples/cxx/parser/library/README @@ -0,0 +1,44 @@ +This example shows how to use the 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 the C++ types defined in library.hxx. + +library-pskel.hxx +library-pskel.ixx +library-pskel.cxx + Parser skeletons generated by XSD from library.xsd and + library.map. + +library-pimpl.hxx +library-pimpl.cxx + Parser implementations that construct the custom in-memory + object model from an XML instance using the 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 + 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 contents of the + in-memory object model to STDERR. + +To run the example on the sample XML instance document simply +execute: + +$ ./driver library.xml -- cgit v1.2.3