X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=xmltooling%2Fio%2FAbstractXMLObjectUnmarshaller.cpp;h=e33a673007defc2443dafd7b159da29e7da065ee;hb=a0d768778a8f5f539b909baf5b115e70ea765f0f;hp=e633b701527dadb383238bebaecedfd88f0877e4;hpb=2d0ee406f017bd67eef9e1b4b7a487025bc71f31;p=shibboleth%2Fcpp-xmltooling.git diff --git a/xmltooling/io/AbstractXMLObjectUnmarshaller.cpp b/xmltooling/io/AbstractXMLObjectUnmarshaller.cpp index e633b70..e33a673 100644 --- a/xmltooling/io/AbstractXMLObjectUnmarshaller.cpp +++ b/xmltooling/io/AbstractXMLObjectUnmarshaller.cpp @@ -1,5 +1,5 @@ /* -* Copyright 2001-2009 Internet2 +* Copyright 2001-2010 Internet2 * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -35,6 +35,13 @@ using namespace xmltooling; using namespace xercesc; using namespace std; +AbstractXMLObjectUnmarshaller::AbstractXMLObjectUnmarshaller() +{ +} + +AbstractXMLObjectUnmarshaller::~AbstractXMLObjectUnmarshaller() +{ +} XMLObject* AbstractXMLObjectUnmarshaller::unmarshall(DOMElement* element, bool bindDocument) { @@ -99,7 +106,7 @@ void AbstractXMLObjectUnmarshaller::unmarshallAttributes(const DOMElement* domEl if (XMLString::equals(nsuri,XMLNS_NS)) { if (XMLString::equals(attribute->getLocalName(),XMLNS_PREFIX)) { m_log.debug("found default namespace declaration, adding it to the list of namespaces on the XMLObject"); - addNamespace(Namespace(attribute->getValue(), NULL, true)); + addNamespace(Namespace(attribute->getValue(), nullptr, true)); } else if (XMLString::equals(attribute->getLocalName(),XML_PREFIX) && XMLString::equals(attribute->getNodeValue(),XML_NS)) { m_log.debug("found standard xml prefix declaration, ignoring as superfluous"); @@ -139,10 +146,12 @@ void AbstractXMLObjectUnmarshaller::unmarshallAttributes(const DOMElement* domEl setNil(attribute->getValue()); continue; } + // Note that the prefix is visibly used. + addNamespace(Namespace(nsuri, attribute->getPrefix(), false, Namespace::VisiblyUsed)); } else if (nsuri && !XMLString::equals(nsuri,XML_NS)) { - m_log.debug("found namespace-qualified attribute, adding prefix to the list of namespaces on the XMLObject"); - addNamespace(Namespace(nsuri, attribute->getPrefix())); + m_log.debug("found namespace-qualified attribute, adding prefix to the list of visible namespaces on the XMLObject"); + addNamespace(Namespace(nsuri, attribute->getPrefix(), false, Namespace::VisiblyUsed)); } m_log.debug("processing generic attribute");