42 #include <xercesc/dom/DOMDocument.hpp>
43 #include <xercesc/dom/DOMNode.hpp>
44 #include <xercesc/dom/DOMElement.hpp>
45 #include <xercesc/util/XercesDefs.hpp>
47 #include <xsd/cxx/version.hxx>
48 #include <xsd/cxx/xml/string.hxx>
49 #include <xsd/cxx/xml/dom/auto-ptr.hxx>
50 #include <xsd/cxx/tree/error-handler.hxx>
51 #include <xsd/cxx/tree/elements.hxx>
53 #ifndef X //Also used in XSD code for XdmfMeshWriter
58 #define X(str) xsd::cxx::xml::string(str).c_str()
65 #define X2C(str) xsd::cxx::xml::transcode<char>(str)
82 static xsd::cxx::xml::dom::auto_ptr<xercesc::DOMDocument>
ReadXmlFile(
83 const std::string& rFileName,
84 const ::xsd::cxx::tree::properties<char>& rProps,
132 const std::string& rFileName,
133 ::xsd::cxx::xml::error_handler<char>& rErrorHandler,
134 const ::xsd::cxx::tree::properties<char>& rProps,
144 static void PrintNode(
const std::string& rMsg, xercesc::DOMNode* pNode,
bool showChildren=
false);
157 static xercesc::DOMElement*
SetNamespace(xercesc::DOMDocument* pDocument,
158 xercesc::DOMElement* pElement,
159 const std::string& rNamespace);
172 static xercesc::DOMElement*
SetNamespace(xercesc::DOMDocument* pDocument,
173 xercesc::DOMElement* pElement,
174 const XMLCh* pNamespace);
188 xercesc::DOMElement* pElement,
189 const XMLCh* pNewElementLocalName);
196 static std::vector<xercesc::DOMElement*>
GetChildElements(
const xercesc::DOMElement* pElement);
204 static std::vector<xercesc::DOMElement*>
FindElements(
const xercesc::DOMElement* pContextElement,
205 const std::string& rPath);
216 static void FindElements(
const xercesc::DOMElement* pContextElement,
217 const std::vector<std::string>& rNames,
218 std::vector<xercesc::DOMElement*>& rResults,
229 static std::string
EscapeSpaces(
const std::string& rPath);