(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.
namespaceURI
qualifiedName
Aucune valeur n'est retournée.
Dom\NAMESPACE_ERR
qualifiedName
.
Dom\INVALID_MODIFICATION_ERR
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"/>
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.