Dom\Attr::rename
属性の名前空間または、修飾名を変更する
説明
public void Dom\Attr::rename(stringnull $namespaceURI
, string $qualifiedName
)
このメソッドは、属性の名前空間または、修飾名を変更します。
パラメータ
-
namespaceURI
-
属性の新しい名前空間 URI
-
qualifiedName
-
属性の新しい修飾名
エラー / 例外
-
Dom\NAMESPACE_ERR
付きで DOMException が発生する場合
-
qualifiedName
によって決まる名前空間にエラーがあった場合に発生します。
-
Dom\INVALID_MODIFICATION_ERR
付きで DOMException が発生する場合
-
同じ修飾名を持つ要素中に、属性が存在すると発生します。
例
例1 名前空間と修飾名を両方変更する Dom\Attr::rename の例
この例では、my-attr
の修飾名を
my-new-attr
に変更します。
その名前空間も 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();
?>
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns:ns1="urn:my-ns" ns1:my-new-attr="value"/>
例2 修飾名だけを変更する Dom\Attr::rename の例
この例では、my-attr
の修飾名だけを変更します。
名前空間 URI は元のままです。
<?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();
?>
<?xml version="1.0" encoding="UTF-8"?>
<root my-new-attr="value"/>
注意
注意:
修飾名と名前空間 URI を一度にまとめて変更する必要がある場合があります。
これは、名前空間の規則を壊さないようにするためです。