/** {@inheritDoc} */ public String put(QName attributeName, String value) { String oldValue = get(attributeName); if (!DatatypeHelper.safeEquals(value, oldValue)) { releaseDOM(); attributes.put(attributeName, value); if (isIDAttribute(attributeName) || Configuration.isIDAttribute(attributeName)) { attributeOwner.getIDIndex().deregisterIDMapping(oldValue); attributeOwner.getIDIndex().registerIDMapping(value, attributeOwner); } if (!DatatypeHelper.isEmpty(attributeName.getNamespaceURI())) { if (value == null) { attributeOwner.getNamespaceManager().deregisterAttributeName(attributeName); } else { attributeOwner.getNamespaceManager().registerAttributeName(attributeName); } } checkAndDeregisterQNameValue(attributeName, oldValue); checkAndRegisterQNameValue(attributeName, value); } return oldValue; }
/** {@inheritDoc} */ public String put(QName attributeName, String value) { String oldValue = get(attributeName); if (!DatatypeHelper.safeEquals(value, oldValue)) { releaseDOM(); attributes.put(attributeName, value); if (isIDAttribute(attributeName) || Configuration.isIDAttribute(attributeName)) { attributeOwner.getIDIndex().deregisterIDMapping(oldValue); attributeOwner.getIDIndex().registerIDMapping(value, attributeOwner); } if (!DatatypeHelper.isEmpty(attributeName.getNamespaceURI())) { if (value == null) { attributeOwner.getNamespaceManager().deregisterAttributeName(attributeName); } else { attributeOwner.getNamespaceManager().registerAttributeName(attributeName); } } checkAndDeregisterQNameValue(attributeName, oldValue); checkAndRegisterQNameValue(attributeName, value); } return oldValue; }