// file : tests/cxx/tree/basic/driver.cxx // copyright : GNU GPL v2 + exceptions; see accompanying LICENSE file //#include // std::auto_ptr/unique_ptr #include #include #include #include #include // Define XSD_CXX11 since we include libxsd headers directly. // #ifdef _MSC_VER # if _MSC_VER >= 1600 // VC++10 and later have C++11 always enabled. # define XSD_CXX11 # endif #else # if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L # define XSD_CXX11 # endif #endif #include #include // XSD_DOM_AUTO_PTR #include // name() #include // parser, parse() #include // text_content() #include #include // auto_initializer, properties #include // parsing #include using namespace std; using namespace xsd::cxx; int main (int argc, char* argv[]) { assert (argc == 2); xml::auto_initializer ai; tree::error_handler h; tree::properties ps; XSD_DOM_AUTO_PTR d ( xml::dom::parse (argv[1], h, ps, 0 /* flags */)); h.throw_if_failed> (); // Abort on error. xml::dom::parser p (*d->getDocumentElement (), true, false, false); for (; p.more_content (); p.next_content (false /* text */)) { const xercesc::DOMElement& i (p.cur_element ()); const xml::qualified_name n (xml::dom::name (i)); cout << n.name () << ' ' << tree::text_content (i) << endl; } }