(PHP 8 >= 8.4.0)
Dom\Attr::rename — Изменяет квалифицированное имя или пространство имён атрибута
Метод изменяет квалифицированное имя или пространство имён атрибута
namespaceURI
qualifiedName
Функция не возвращает значения после выполнения.
Dom\NAMESPACE_ERR
qualifiedName
.
Dom\INVALID_MODIFICATION_ERR
Пример #1 Пример использования метода Dom\Attr::rename(), чтобы изменить пространство имён и квалифицированное имя
Это изменяет квалифицированное имя my-attr
на my-new-attr
,
а также изменяет его пространство имён на 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(), чтобы изменить только квалифицированное имя
При этом изменяется только квалифицированное имя my-attr
,
а пространство имён URI остается прежним.
<?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"/>
Замечание: Иногда необходимо изменить квалифицированное имя и пространство имён URI в один приём, чтобы не нарушить правила пространства имён.