« DOMDocument::createAttribute
DOMDocument::createCDATASection »

DOMDocument::createAttributeNS

(PHP 5, PHP 7, PHP 8)

DOMDocument::createAttributeNS — 関連付けられた名前空間に新しい属性を作成する

説明

public function DOMDocument::createAttributeNS(?string $namespace, string $qualifiedName): DOMAttr|false

この関数は、DOMAttr クラスの新しいインスタンスを作成します。 このノードは、( DOMNode::appendChild() などで) 挿入されない限り、ドキュメント内にあらわれません。

パラメータ

namespace

名前空間の URI。

qualifiedName

属性のタグ名とプレフィックスを、prefix:tagname のような形式で指定する。

戻り値

新しい DOMAttr、あるいはエラーが発生した場合は false を返します。

エラー / 例外

以下のエラーコードで DOMException をスローします:

DOM_INVALID_CHARACTER_ERR

qualifiedName が無効な文字を含んでいる場合に発生します。

DOM_NAMESPACE_ERR

qualifiedName が不正な形式である場合、あるいは qualifiedName がプレフィックスを含んでいる にもかかわらず namespace が null である場合に発生します。

変更履歴

バージョン 説明
8.3.0 prefix を指定せずにこのメソッドをコールしても、デフォルトの名前空間を仮定する代わりに prefix を選ぶようになりました。これより前のバージョンでは、prefix なしの属性を作成し、誤ってオーナーとなる要素の名前空間を適用していました。なぜなら、デフォルトの名前空間は属性には適用されないためです。
8.3.0 オーナーとなる要素で prefix が既に異なる namespace URI で使われている場合にこのメソッドを呼び出しても、名前空間の衝突を避けるために新しく prefix を異なるものに変更するようになりました。これは DOM の仕様が要求する振る舞いに合わせるためです。これより前のバージョンでは、エラーコード DOM_NAMESPACE_ERR を持つ DOMException をスローしていました。

参考

関連キーワード:
DOMDocument   空間   属性   ノード   prefix   qualifiedName   関連   namespace   createAttributeNS   DOMAttr   createAttribute   createCDATASection   DOMNode   appendChild   プレフィックス   エラーコード   DOMException   オーナー   適用   インスタンス   挿入   ドキュメント   タグ   tagname   無効
関連する関数・ページ:
domdocument.createattribute   domdocument.createcdatasection   domdocument.createcomment   domdocument.createtextnode   domdocument.createprocessinginstruction   domdocument.createdocumentfragment