diff options
| -rw-r--r-- | ext/dom/element.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/dom/element.c b/ext/dom/element.c index cd582ee0ab..df95e877b0 100644 --- a/ext/dom/element.c +++ b/ext/dom/element.c @@ -954,7 +954,7 @@ PHP_FUNCTION(dom_element_set_id_attribute) } attrp = xmlHasNsProp(nodep, name, NULL); - if (attrp == NULL) { + if (attrp == NULL || attrp->type == XML_ATTRIBUTE_DECL) { php_dom_throw_error(NOT_FOUND_ERR, dom_get_strict_error(intern->document) TSRMLS_CC); } else { php_set_attribute_id(attrp, is_id); @@ -991,7 +991,7 @@ PHP_FUNCTION(dom_element_set_id_attribute_ns) } attrp = xmlHasNsProp(elemp, name, uri); - if (attrp == NULL) { + if (attrp == NULL || attrp->type == XML_ATTRIBUTE_DECL) { php_dom_throw_error(NOT_FOUND_ERR, dom_get_strict_error(intern->document) TSRMLS_CC); } else { php_set_attribute_id(attrp, is_id); |
