xmltooling::NDC ndc("unmarshall");\r
#endif\r
\r
+ if (!XMLString::equals(element->getNamespaceURI(),getElementQName().getNamespaceURI()) ||\r
+ !XMLString::equals(element->getLocalName(),getElementQName().getLocalPart())) {\r
+ throw UnmarshallingException("Unrecognized element supplied to implementation for unmarshalling.");\r
+ }\r
+\r
if (XT_log.isDebugEnabled()) {\r
auto_ptr_char dname(element->getNodeName());\r
XT_log.debug("unmarshalling DOM element (%s)", dname.get());\r
}\r
\r
// Retain ownership of the unmarshalled child until it's processed by the parent.\r
- auto_ptr<XMLObject> childObject(builder->buildObject(static_cast<DOMElement*>(childNode)));\r
- childObject->unmarshall(static_cast<DOMElement*>(childNode));\r
+ auto_ptr<XMLObject> childObject(builder->buildFromElement(static_cast<DOMElement*>(childNode)));\r
processChildElement(childObject.get(), static_cast<DOMElement*>(childNode));\r
childObject.release();\r
}\r