ID attribute processing bug.
[shibboleth/xmltooling.git] / xmltooling / base.h
index ac6f33a..7398e0c 100644 (file)
 #define PROC_ID_ATTRIB(proper,ucase,namespaceURI) \
     if (xmltooling::XMLHelper::isNodeNamed(attribute, namespaceURI, ucase##_ATTRIB_NAME)) { \
         set##proper(attribute->getValue()); \
-        static_cast<DOMElement*>(attribute->getParentNode())->setIdAttributeNode(attribute); \
+        attribute->getOwnerElement()->setIdAttributeNode(attribute); \
         return; \
     }
 
         virtual cname* buildObject() const { \
             return buildObject(namespaceURI,cname::LOCAL_NAME,namespacePrefix); \
         } \
+        XMLTOOLING_DOXYGEN(Builder that allows element/type override.) \
         virtual cname* buildObject( \
             const XMLCh* nsURI, const XMLCh* localName, const XMLCh* prefix=NULL, const xmltooling::QName* schemaType=NULL \
             ) const