From 741bfb659caaa771c748d03df26792fab10e5778 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 26 Sep 2023 10:43:31 +0200 Subject: Add XSD and C++ compiler command lines to example READMEs --- xsd-examples/cxx/tree/messaging/README | 41 ++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 12 deletions(-) (limited to 'xsd-examples/cxx/tree/messaging') diff --git a/xsd-examples/cxx/tree/messaging/README b/xsd-examples/cxx/tree/messaging/README index 435a4cf..d3d92c6 100644 --- a/xsd-examples/cxx/tree/messaging/README +++ b/xsd-examples/cxx/tree/messaging/README @@ -19,12 +19,18 @@ deposit.xml protocol.hxx protocol.cxx - C++ types that represent the given vocabulary. These are - generated by the XSD compiler from protocol.xsd. Generation of - element types instead of parsing and serialization functions is - requested with the --generate-element-type option. Generation of - the element map is requested with the --generate-element-map - option. + C++ types that represent the given vocabulary. + + These files are generated by the XSD compiler from protocol.xsd using + the following command line: + + xsd cxx-tree --root-element-all --generate-element-type \ + --generate-element-map --generate-serialization protocol.xsd + + Generation of element types instead of parsing and serialization + functions is requested with the --generate-element-type option. + Generation of the element map is requested with the + --generate-element-map option. dom-parse.hxx dom-parse.cxx @@ -49,10 +55,21 @@ driver.cxx driver serializes the opaque response object to a DOM document using the element map and then serializes this DOM document to STDOUT using the above-mentioned serialize() function. - -To run the example on the sample XML request documents simply -execute: -$ ./driver balance.xml -$ ./driver withdraw.xml -$ ./driver deposit.xml +To compile and link the example manually from the command line we can use +the following commands (replace 'c++' with your C++ compiler name): + +c++ -DXSD_CXX11 -c protocol.cxx +c++ -DXSD_CXX11 -c dom-parse.cxx +c++ -DXSD_CXX11 -c dom-serialize.cxx +c++ -DXSD_CXX11 -c driver.cxx +c++ -o driver driver.o protocol.o dom-parse.o dom-serialize.o -lxerces-c + +Note that we need to define the XSD_CXX11 preprocessor macro since the +source code includes libxsd headers directly. + +To run the example on the sample XML request documents execute: + +./driver balance.xml +./driver withdraw.xml +./driver deposit.xml -- cgit v1.1