(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.
namespaceURIqualifiedNameΠΠ΅ ΠΏΠΎΠ²Π΅ΡΡΠ°Ρ Π·Π½Π°ΡΠ΅Π½Ρ.
Dom\NAMESPACE_ERRqualifiedName.
Dom\INVALID_MODIFICATION_ERRΠΡΠΈΠΊΠ»Π°Π΄ #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.