属性の名前空間または、修飾名を変更する

# Dom\Attr::rename

(PHP 8 >= 8.4.0)

Dom\Attr::rename — 属性の名前空間または、修飾名を変更する

### 説明

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

このメソッドは、属性の名前空間または、修飾名を変更します。

### パラメータ

`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 を一度にまとめて変更する必要がある場合があります。 これは、名前空間の規則を壊さないようにするためです。

### 参考

- Dom\Element::rename()

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open