(PHP 8 >= 8.4.0)
Dom\Attr::rename — Change le nom qualifié ou l'espace de noms d'un attribut
Cette méthode change le nom qualifié ou l'espace de noms d'un attribut.
namespaceURILe nouvel espace de noms URI de l'attribut.
qualifiedNameLe nouveau nom qualifié de l'attribut.
Aucune valeur n'est retournée.
Dom\NAMESPACE_ERR
Levée s'il y a une erreur avec l'espace de noms, telle que déterminée par
qualifiedName.
Dom\INVALID_MODIFICATION_ERRLevée si un attribut existe déjà dans l'élément avec le même nom qualifié.
Exemple #1 Exemple de Dom\Attr::rename() pour changer l'espace de noms 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"/>
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.