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 ------------------------------------


Reply via email to