Bug fixes and API changes from second unit test.
[shibboleth/cpp-xmltooling.git] / xmltooling / XMLObjectBuilder.cpp
index 03b9c27..33c4225 100644 (file)
@@ -42,7 +42,7 @@ const XMLObjectBuilder* XMLObjectBuilder::getBuilder(const DOMElement* domElemen
     Category& log=Category::getInstance(XMLTOOLING_LOGCAT".XMLObjectBuilder");\r
  \r
     auto_ptr<QName> schemaType(XMLHelper::getXSIType(domElement));\r
-    const XMLObjectBuilder* xmlObjectBuilder = getBuilder(*(schemaType.get()));\r
+    const XMLObjectBuilder* xmlObjectBuilder = schemaType.get() ? getBuilder(*(schemaType.get())) : NULL;\r
     if (xmlObjectBuilder) {\r
         if (log.isDebugEnabled()) {\r
             log.debug("located XMLObjectBuilder for schema type: %s", schemaType->toString().c_str());\r
@@ -59,7 +59,9 @@ const XMLObjectBuilder* XMLObjectBuilder::getBuilder(const DOMElement* domElemen
         return xmlObjectBuilder;\r
     }\r
 \r
-    log.error("no XMLObjectBuilder registered for element (%s), using default", elementName->toString().c_str());\r
+    if (log.isDebugEnabled()) {\r
+        log.debug("no XMLObjectBuilder registered for element (%s), returning default", elementName->toString().c_str());\r
+    }\r
     return m_default;\r
 }\r
 \r