/*
- * Copyright 2001-2006 Internet2
+ * Copyright 2001-2007 Internet2
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
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);
- }
}
}
if (i->first.hasPrefix())
attr->setPrefix(i->first.getPrefix());
attr->setNodeValue(i->second);
- domElement->setAttributeNode(attr);
+ domElement->setAttributeNodeNS(attr);
if (m_idAttribute==i)
domElement->setIdAttributeNode(attr);
}