diff options
Diffstat (limited to 'xsd-tests/cxx/tree/default/omit/driver.cxx')
-rw-r--r-- | xsd-tests/cxx/tree/default/omit/driver.cxx | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/xsd-tests/cxx/tree/default/omit/driver.cxx b/xsd-tests/cxx/tree/default/omit/driver.cxx new file mode 100644 index 0000000..c7d32c9 --- /dev/null +++ b/xsd-tests/cxx/tree/default/omit/driver.cxx @@ -0,0 +1,49 @@ +// file : cxx/tree/default/omit/driver.cxx +// license : GNU GPL v2 + exceptions; see accompanying LICENSE file + +// Test default attribute omission from the output. +// + +#include <memory> // std::auto_ptr/unique_ptr +#include <iostream> + +#include "test.hxx" + +#undef NDEBUG +#include <cassert> + +using namespace std; +using namespace test; + +int +main (int argc, char* argv[]) +{ + if (argc != 2) + { + cerr << "usage: " << argv[0] << " test.xml" << endl; + return 1; + } + + try + { + XSD_AUTO_PTR<type> r (root (argv[1], xml_schema::flags::dont_validate)); + + cout << *r << endl + << "default x: " << derived::x_default_value () << endl + << "default y: " << derived::y_default_value () << endl + << "fixed p: " << derived::p_default_value () << endl + << "fixed q1: " << derived::q1_default_value () << endl + << "fixed q2: " << derived::q2_default_value () << endl; + + // Serialize. + // + xml_schema::namespace_infomap map; + map["t"].name = "test"; + root (cout, *r, map); + } + catch (xml_schema::exception const& e) + { + cerr << e << endl; + return 1; + } +} |