From 9e5a225fc26c2af4353c52bbcb36ab5733048a03 Mon Sep 17 00:00:00 2001 From: cantor Date: Fri, 9 Nov 2007 23:17:32 +0000 Subject: [PATCH] Treat empty strings as nulls. git-svn-id: https://svn.middleware.georgetown.edu/cpp-xmltooling/trunk@424 de75baf8-a10c-0410-a50a-987c0e22f00f --- xmltooling/AbstractAttributeExtensibleXMLObject.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/xmltooling/AbstractAttributeExtensibleXMLObject.cpp b/xmltooling/AbstractAttributeExtensibleXMLObject.cpp index 74c4a34..2efde22 100644 --- a/xmltooling/AbstractAttributeExtensibleXMLObject.cpp +++ b/xmltooling/AbstractAttributeExtensibleXMLObject.cpp @@ -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); - } } } -- 2.1.4