PHP 8.5.0 Alpha 2 available for testing

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 se retorna 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 ejemplo anterior mostrará :

<?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 ejemplo anterior mostrará :

<?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