PHP 8.4.2 Released!

Dom\Attr::rename

(PHP 8 >= 8.4.0)

Dom\Attr::renameИзменяет квалифицированное имя или пространство имён атрибута

Описание

public Dom\Attr::rename(?string $namespaceURI, string $qualifiedName): void

Метод изменяет квалифицированное имя или пространство имён атрибута

Список параметров

namespaceURI
Новое пространство имён URI атрибута.
qualifiedName
Новое квалифицированное имя атрибута.

Возвращаемые значения

Функция не возвращает значения после выполнения.

Ошибки

DOMException с кодом Dom\NAMESPACE_ERR
Возникает в случае ошибки с пространством имён, определяемым параметром qualifiedName.
DOMException с кодом 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 в один приём, чтобы не нарушить правила пространства имён.

Смотрите также

  • Dom\Element::rename()
Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top