Attn: Andy Heninger Below is the modified source for ElementImpl::setAttribute(). This source (with some minor modification) has been used in our project without trouble. I have also just now dropped it into the xerces ElementImpl.cpp source, recompiled the library and checked the sample programs to ensure that no errors occur. The original ElementImpl.cpp was Revision 1.9 2000/03/02
SNIP HERE ------------------------------------ void ElementImpl::setAttribute(const DOMString& nam, const DOMString& val) { if (readOnly) { throw DOM_DOMException(DOM_DOMException::NO_MODIFICATION_ALLOWED_ERR, null); } AttrImpl* newAttr = (AttrImpl*)getAttributeNode(nam); if (!newAttr) { newAttr = (AttrImpl*)ownerDocument->createAttribute(nam); AttrImpl* oldAttr = (AttrImpl*)attributes->setNamedItem(newAttr); } newAttr->setNodeValue(val); newAttr->setOwnerElement(this); }; SNIP HERE ------------------------------------