【PHP8.x】namespaceURIプロパティの使い方
namespaceURIプロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
namespaceURIプロパティは、DOMAttrオブジェクトが表すXML属性の名前空間URIを保持するプロパティです。XML文書では、異なるボキャブラリで同じ名前の要素や属性が定義されることがあり、これらを区別するために「名前空間」という概念が用いられます。このプロパティは、そのXML属性がどの名前空間に属しているかを一意に識別するためのURI(Uniform Resource Identifier)を文字列として保持します。
DOMAttrオブジェクトは、XML文書内の個々の属性ノードを表現します。例えば、XMLマークアップで<element prefix:attribute="value">のように名前空間プレフィックスを持つ属性が存在する場合、このnamespaceURIプロパティにはprefixに対応する名前空間のURIが格納されます。もし属性がどの名前空間にも属していない場合、このプロパティの値はnullとなります。
システムエンジニアがPHPでXML文書をDOM(Document Object Model)拡張機能を使って解析したり、特定の属性を操作したりする際に、属性が属する名前空間を正確に識別するためにこのプロパティは不可欠です。これにより、XML文書の構造を正確に理解し、意図した通りの処理を実装することが可能になります。このプロパティは読み取り専用であり、その値を直接変更することはできません。
構文(syntax)
1<?php 2$dom = new DOMDocument(); 3$element = $dom->createElement('example'); 4// ネームスペース付きの属性を作成 5$attr = $dom->createAttributeNS('http://www.example.com/ns/attr', 'prefix:myAttr'); 6$attr->nodeValue = 'someValue'; 7$element->setAttributeNode($attr); 8 9// DOMAttr オブジェクトの namespaceURI プロパティにアクセス 10echo $attr->namespaceURI; 11?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
string|null
DOMAttr::namespaceURI は、属性が属する XML 名前空間の URI を文字列で返します。属性が名前空間に属さない場合は null を返します。