【PHP8.x】createAttributeNSメソッドの使い方

createAttributeNSメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

『createAttributeNSメソッドは、指定された名前空間URIと修飾名を持つ、新しい属性(Dom\XMLAttr)ノードを作成するメソッドです』 XML文書では、異なる語彙を持つ要素や属性の名前が衝突することを防ぐために名前空間が利用されます。このメソッドは、第一引数でその属性が属する名前空間を識別するための一意なURIを、第二引数でプレフィックスを含む属性の修飾名(例: 'xlink:href')を文字列で指定します。成功すると、作成されたDom\XMLAttrオブジェクトが返されます。重要な点として、このメソッドは属性ノードを作成するだけであり、この時点ではドキュメント内のどの要素にも関連付けられていません。作成した属性を特定の要素に追加するには、Dom\XMLElement::setAttributeNodeNS() のような別のメソッドを別途呼び出す必要があります。引数に無効な文字が含まれているなど、処理に失敗した場合は false を返します。名前空間を意識したXML文書をプログラムで動的に操作する際に不可欠な機能です。

構文(syntax)

1$xml_document = new Dom\XMLDocument();
2$attribute_node = $xml_document->createAttributeNS('namespace_uri', 'prefix:attribute_name');

引数(parameters)

?string $namespace, string $qualifiedName

  • ?string $namespace: 属性が属する名前空間のURIを指定します。null を指定すると、名前空間なしで属性が作成されます。
  • string $qualifiedName: 作成する属性の修飾名を指定します。名前空間プレフィックスとローカル名で構成されます。

戻り値(return)

Dom\Attr

createAttributeNS メソッドは、指定された名前空間とローカル名を持つ新しい Dom\Attr オブジェクトを生成して返します。

関連コンテンツ

【PHP8.x】createAttributeNSメソッドの使い方 | いっしー@Webエンジニア