(PHP 8 >= 8.4.0)
Dom\Attr::rename — Changes the qualified name or namespace of an attribute
This method changes the qualified name or namespace of an attribute.
namespaceURIThe new namespace URI of the attribute.
qualifiedNameThe new qualified name of the attribute.
Не повертає значень.
Dom\NAMESPACE_ERR
Raised if there is an error with the namespace, as determined by
qualifiedName.
Dom\INVALID_MODIFICATION_ERRRaised if there already exists an attribute in the element with the same qualified name.
Приклад #1 Dom\Attr::rename() example to change both the namespace and qualified name
This changes the qualified name of my-attr to
my-new-attr and also changes its namespace to
urn:my-ns.
<?php
$doc = Dom\XMLDocument::createFromString('<root my-attr="value"/>');
$root = $doc->documentElement;
$attribute = $root->attributes['my-attr'];
$attribute->rename('urn:my-ns', 'my-new-attr');
echo $doc->saveXml();
?>Поданий вище приклад виведе:
<?xml version="1.0" encoding="UTF-8"?> <root xmlns:ns1="urn:my-ns" ns1:my-new-attr="value"/>
Приклад #2 Dom\Attr::rename() example to change only the qualified name
This only changes the qualified name of my-attr
and keeps the namespace URI the same.
<?php
$doc = Dom\XMLDocument::createFromString('<root my-attr="value"/>');
$root = $doc->documentElement;
$attribute = $root->attributes['my-attr'];
$attribute->rename($attribute->namespaceURI, 'my-new-attr');
echo $doc->saveXml();
?>Поданий вище приклад виведе:
<?xml version="1.0" encoding="UTF-8"?> <root my-new-attr="value"/>
Зауваження:
It is sometimes necessary to change the qualified name and namespace URI together in one step to not break any namespace rules.