(PHP 5, PHP 7, PHP 8)
DOMDocument::createAttributeNS — 関連付けられた名前空間に新しい属性を作成する
この関数は、DOMAttr クラスの新しいインスタンスを作成します。 このノードは、( DOMNode::appendChild() などで) 挿入されない限り、ドキュメント内にあらわれません。
namespace
名前空間の URI。
qualifiedName
属性のタグ名とプレフィックスを、prefix:tagname
のような形式で指定する。
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 をスローしていました。 |