PHP 8.4.2 Released!

Dom\Attr::rename

(PHP 8 >= 8.4.0)

Dom\Attr::renameChanges the qualified name or namespace of an attribute

Beschreibung

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

This method changes the qualified name or namespace of an attribute.

Parameter-Liste

namespaceURI
The new namespace URI of the attribute.
qualifiedName
The new qualified name of the attribute.

Rückgabewerte

Es wird kein Wert zurückgegeben.

Fehler/Exceptions

DOMException with code Dom\NAMESPACE_ERR
Raised if there is an error with the namespace, as determined by qualifiedName.
DOMException with code Dom\INVALID_MODIFICATION_ERR
Raised if there already exists an attribute in the element with the same qualified name.

Beispiele

Beispiel #1 Dom\Attr::rename() example to change both the namespace and qualified name

This changes the qualified name of my-attr to my-new-attr and also changes its namespace to 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();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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

Beispiel #2 Dom\Attr::rename() example to change only the qualified name

This only changes the qualified name of my-attr and keeps the namespace URI the same.

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

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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

Anmerkungen

Hinweis: It is sometimes necessary to change the qualified name and namespace URI together in one step to not break any namespace rules.

Siehe auch

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

User Contributed Notes

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