Dom\Attr::rename

(PHP 8 >= 8.4.0)

Dom\Attr::renameCambia el nombre calificado o el espacio de nombres de un atributo

Descripción

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

Este método cambia el nombre calificado o el espacio de nombres de un atributo.

Parámetros

namespaceURI
El nuevo espacio de nombres URI del atributo.
qualifiedName
El nuevo nombre calificado del atributo.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

DOMException con el código Dom\NAMESPACE_ERR
Lanzada si hay un error con el espacio de nombres, tal como se determina por qualifiedName.
DOMException con el código Dom\INVALID_MODIFICATION_ERR
Lanzada si un atributo ya existe en el elemento con el mismo nombre calificado.

Ejemplos

Ejemplo #1 Ejemplo de Dom\Attr::rename() para cambiar el espacio de nombres y el nombre calificado

Esto cambia el nombre calificado de my-attr a my-new-attr y también cambia su espacio de nombres a 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();

?>

El resultado del ejemplo sería:

<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:ns1="urn:my-ns" ns1:my-new-attr="value"/>

Ejemplo #2 Ejemplo de Dom\Attr::rename() para cambiar solo el nombre calificado

Esto cambia solo el nombre calificado de my-attr y mantiene el espacio de nombres URI sin cambios.

<?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();

?>

El resultado del ejemplo sería:

<?xml version="1.0" encoding="UTF-8"?>
<root my-new-attr="value"/>

Notas

Nota: A veces es necesario cambiar el nombre calificado y el espacio de nombres URI juntos en un solo paso para no infringir las reglas de los espacios de nombres.

Ver también

  • Dom\Element::rename()
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top