From 5e527213a2430bb3018e5eebd909aef294edf9b5 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Fri, 18 Dec 2020 18:48:46 +0300 Subject: Switch to build2 --- xsd-examples/cxx/parser/generated/.gitignore | 2 + xsd-examples/cxx/parser/generated/README | 32 +++++++++++ xsd-examples/cxx/parser/generated/buildfile | 32 +++++++++++ xsd-examples/cxx/parser/generated/library.xml | 52 ++++++++++++++++++ xsd-examples/cxx/parser/generated/library.xsd | 78 +++++++++++++++++++++++++++ 5 files changed, 196 insertions(+) create mode 100644 xsd-examples/cxx/parser/generated/.gitignore create mode 100644 xsd-examples/cxx/parser/generated/README create mode 100644 xsd-examples/cxx/parser/generated/buildfile create mode 100644 xsd-examples/cxx/parser/generated/library.xml create mode 100644 xsd-examples/cxx/parser/generated/library.xsd (limited to 'xsd-examples/cxx/parser/generated') diff --git a/xsd-examples/cxx/parser/generated/.gitignore b/xsd-examples/cxx/parser/generated/.gitignore new file mode 100644 index 0000000..a67418e --- /dev/null +++ b/xsd-examples/cxx/parser/generated/.gitignore @@ -0,0 +1,2 @@ +library-pimpl.?xx +library-driver.?xx diff --git a/xsd-examples/cxx/parser/generated/README b/xsd-examples/cxx/parser/generated/README new file mode 100644 index 0000000..ca56974 --- /dev/null +++ b/xsd-examples/cxx/parser/generated/README @@ -0,0 +1,32 @@ +This example shows how to use the sample implementation and test +driver generation feature of the C++/Parser mapping. This example +does not have any hand-written C++ code; everything is generated +by the XSD compiler. + +The example consists of the following files: + +library.xsd + XML Schema which describes a library of books. + +library.xml + Sample XML instance document. + +library-pskel.hxx +library-pskel.cxx + Parser skeletons generated by XSD from library.xsd. + +library-pimpl.hxx +library-pimpl.cxx + Sample parser implementations that print the XML data to STDOUT. + These are generated by XSD from library.xsd with the + --generate-print-impl option. + +library-driver.cxx + Sample driver for the example. It is generated by XSD from + library.xsd with the --generate-test-driver option. + + +To run the example on the sample XML instance document simply +execute: + +$ ./library-driver library.xml diff --git a/xsd-examples/cxx/parser/generated/buildfile b/xsd-examples/cxx/parser/generated/buildfile new file mode 100644 index 0000000..5e4adac --- /dev/null +++ b/xsd-examples/cxx/parser/generated/buildfile @@ -0,0 +1,32 @@ +# file : cxx/parser/generated/buildfile +# license : not copyrighted - public domain + +import libs = libxsd%lib{xsd} +import libs += libxerces-c%lib{xerces-c} + +./: exe{driver} doc{README} + +exe{driver}: {hxx ixx cxx}{library-pskel} \ + {hxx cxx}{library-pimpl} \ + { cxx}{library-driver} \ + $libs + +exe{driver}: xml{library}: test.input = true + +<{hxx ixx cxx}{library-pskel} \ + {hxx cxx}{library-pimpl} \ + { cxx}{library-driver}>: xsd{library} $xsd +{{ + diag xsd ($<[0]) # @@ TMP + + $xsd cxx-parser --std c++11 \ + --generate-inline \ + --skel-file-suffix -pskel \ + --generate-print-impl \ + --generate-test-driver \ + --force-overwrite \ + --output-dir $out_base \ + $path($<[0]) +}} + +cxx.poptions =+ "-I$out_base" diff --git a/xsd-examples/cxx/parser/generated/library.xml b/xsd-examples/cxx/parser/generated/library.xml new file mode 100644 index 0000000..1c84b9b --- /dev/null +++ b/xsd-examples/cxx/parser/generated/library.xml @@ -0,0 +1,52 @@ + + + + + + + + 0679760806 + The Master and Margarita + fiction + + + Mikhail Bulgakov + 1891-05-15 + 1940-03-10 + + + + + + 0679600841 + War and Peace + history + + + Leo Tolstoy + 1828-09-09 + 1910-11-20 + + + + + + 0679420290 + Crime and Punishment + philosophy + + + Fyodor Dostoevsky + 1821-11-11 + 1881-02-09 + + + + diff --git a/xsd-examples/cxx/parser/generated/library.xsd b/xsd-examples/cxx/parser/generated/library.xsd new file mode 100644 index 0000000..4d64a48 --- /dev/null +++ b/xsd-examples/cxx/parser/generated/library.xsd @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.1