From a066f175060a6ada5c60c378ca4dab6e9b571e35 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 19 Sep 2014 10:19:48 +0200 Subject: Don't use using namespace xercesc because of MSXML conflict --- libxsd/xsd/cxx/parser/xerces/elements.txx | 6 +++++- libxsd/xsd/cxx/tree/serialization.txx | 10 ++++++++-- libxsd/xsd/cxx/tree/types.txx | 9 +++++++-- libxsd/xsd/cxx/xml/dom/serialization-header.txx | 14 +++++++++++--- 4 files changed, 31 insertions(+), 8 deletions(-) (limited to 'libxsd/xsd') diff --git a/libxsd/xsd/cxx/parser/xerces/elements.txx b/libxsd/xsd/cxx/parser/xerces/elements.txx index f41b074..bc67bc6 100644 --- a/libxsd/xsd/cxx/parser/xerces/elements.txx +++ b/libxsd/xsd/cxx/parser/xerces/elements.txx @@ -571,7 +571,11 @@ namespace xsd XSD_AUTO_PTR document:: create_sax_ (flags f, const properties& p) { - using namespace xercesc; + // Cannot use 'using namespace' because of MSXML conflict. + // + using xercesc::XMLUni; + using xercesc::SAX2XMLReader; + using xercesc::XMLReaderFactory; XSD_AUTO_PTR sax ( XMLReaderFactory::createXMLReader ()); diff --git a/libxsd/xsd/cxx/tree/serialization.txx b/libxsd/xsd/cxx/tree/serialization.txx index 055f603..ef0a44c 100644 --- a/libxsd/xsd/cxx/tree/serialization.txx +++ b/libxsd/xsd/cxx/tree/serialization.txx @@ -97,10 +97,16 @@ namespace xsd if (!x.null_content () && x.dom_content ().present ()) { - // Clone the contents of the element. + // Cannot use 'using namespace' because of MSXML conflict. // - using namespace xercesc; + using xercesc::DOMAttr; + using xercesc::DOMNode; + using xercesc::DOMElement; + using xercesc::DOMDocument; + using xercesc::DOMNamedNodeMap; + // Clone the contents of the element. + // DOMDocument& doc (*e.getOwnerDocument ()); const DOMElement& se (x.dom_content ().get ()); DOMNamedNodeMap& sa (*se.getAttributes ()); diff --git a/libxsd/xsd/cxx/tree/types.txx b/libxsd/xsd/cxx/tree/types.txx index 8696171..a5ef95d 100644 --- a/libxsd/xsd/cxx/tree/types.txx +++ b/libxsd/xsd/cxx/tree/types.txx @@ -319,7 +319,10 @@ namespace xsd std::basic_string base64_binary:: encode () const { - using namespace xercesc; + // Cannot use 'using namespace' because of MSXML conflict. + // + using xercesc::Base64; + std::basic_string str; XMLSize_t n; @@ -357,7 +360,9 @@ namespace xsd void base64_binary:: decode (const XMLCh* src) { - using namespace xercesc; + // Cannot use 'using namespace' because of MSXML conflict. + // + using xercesc::Base64; xml::std_memory_manager mm; XMLSize_t size; diff --git a/libxsd/xsd/cxx/xml/dom/serialization-header.txx b/libxsd/xsd/cxx/xml/dom/serialization-header.txx index 6e58cfd..14a6d95 100644 --- a/libxsd/xsd/cxx/xml/dom/serialization-header.txx +++ b/libxsd/xsd/cxx/xml/dom/serialization-header.txx @@ -120,11 +120,19 @@ namespace xsd void clear (xercesc::DOMElement& e) { - using namespace xercesc; + // Cannot use 'using namespace' because of MSXML conflict. + // + using xercesc::XMLUni; + using xercesc::XMLString; + using xercesc::SchemaSymbols; + + using xercesc::DOMNode; + using xercesc::DOMAttr; + using xercesc::DOMNamedNodeMap; // Remove child nodes. // - while (xercesc::DOMNode* n = e.getFirstChild ()) + while (DOMNode* n = e.getFirstChild ()) { e.removeChild (n); n->release (); @@ -149,7 +157,7 @@ namespace xsd if (ns != 0) { - if (XMLString::equals (ns, xercesc::XMLUni::fgXMLNSURIName)) + if (XMLString::equals (ns, XMLUni::fgXMLNSURIName)) continue; if (XMLString::equals (ns, SchemaSymbols::fgURI_XSI)) -- cgit v1.1