Treat empty strings as nulls.
authorcantor <cantor@de75baf8-a10c-0410-a50a-987c0e22f00f>
Fri, 9 Nov 2007 23:17:32 +0000 (23:17 +0000)
committercantor <cantor@de75baf8-a10c-0410-a50a-987c0e22f00f>
Fri, 9 Nov 2007 23:17:32 +0000 (23:17 +0000)
git-svn-id: https://svn.middleware.georgetown.edu/cpp-xmltooling/trunk@424 de75baf8-a10c-0410-a50a-987c0e22f00f

xmltooling/AbstractAttributeExtensibleXMLObject.cpp

index 74c4a34..2efde22 100644 (file)
@@ -55,25 +55,22 @@ void AbstractAttributeExtensibleXMLObject::setAttribute(const QName& qualifiedNa
     if (i!=m_attributeMap.end()) {
         releaseThisandParentDOM();
         XMLString::release(&(i->second));
-        if (value) {
+        if (value && *value) {
             i->second=XMLString::replicate(value);
+            if (ID)
+                m_idAttribute=i;
         }
         else {
             if (m_idAttribute==i)
                 m_idAttribute=m_attributeMap.end();
             m_attributeMap.erase(i);
         }
-        
-        if (ID) {
-            m_idAttribute=i;
-        }
     }
-    else if (value) {
+    else if (value && *value) {
         releaseThisandParentDOM();
         m_attributeMap[qualifiedName]=XMLString::replicate(value);
-        if (ID) {
+        if (ID)
             m_idAttribute = m_attributeMap.find(qualifiedName);
-        } 
     }
 }