ConFoo 2025

Dom\Attr::rename

(PHP 8 >= 8.4.0)

Dom\Attr::renameChange le nom qualifié ou l'espace de noms d'un attribut

Description

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

Cette méthode change le nom qualifié ou l'espace de noms d'un attribut.

Liste de paramètres

namespaceURI
Le nouvel espace de noms URI de l'attribut.
qualifiedName
Le nouveau nom qualifié de l'attribut.

Valeurs de retour

Aucune valeur n'est retournée.

Erreurs / Exceptions

DOMException avec le code Dom\NAMESPACE_ERR
Levée s'il y a une erreur avec l'espace de noms, tel que déterminé par qualifiedName.
DOMException avec le code Dom\INVALID_MODIFICATION_ERR
Levé si un attribut existe déjà dans l'élément avec le même nom qualifié.

Exemples

Exemple #1 Exemple de Dom\Attr::rename() pour changer l'espace de nom et le nom qualifié

Cela change le nom qualifié de my-attr en my-new-attr et change également son espace de noms en 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();

?>

L'exemple ci-dessus va afficher :

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

Exemple #2 Exemple de Dom\Attr::rename() pour changer seulement le nom qualifié

Cela change seulement le nom qualifié de my-attr et garde l'espace de noms URI inchangé.

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

?>

L'exemple ci-dessus va afficher :

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

Notes

Note: Il est parfois nécessaire de changer le nom qualifié et l'espace de noms URI ensemble en une seule étape pour ne pas enfreindre les règles des espaces de noms.

Voir aussi

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

User Contributed Notes

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