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

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

作成日: 更新日:

基本的な使い方

lookupNamespaceURIメソッドは、特定のDOMノードを起点として、指定された名前空間接頭辞に対応する名前空間URIを検索して返すメソッドです。XMLやHTML文書では、要素名の衝突を避けるために名前空間が利用されます。このメソッドは、引数で与えられた名前空間接頭辞(例: xsl)を、メソッドが呼び出されたノード自身から検索し始めます。もしそのノードで定義が見つからなければ、親ノード、さらにその親ノードへと文書のルートに向かって遡って検索を続けます。これは、XMLの名前空間が上位の要素から下位の要素へと継承されるスコープを持つためです。引数にnullを渡すと、接頭辞のないデフォルトの名前空間URIを検索します。検索の結果、対応する名前空間URIが見つかった場合はそのURIを文字列として返しますが、見つからなかった場合はnullを返します。これにより、プログラム上で特定の要素がどの名前空間に属しているかを動的に解決することが可能になります。

構文(syntax)

1<?php
2$dom = new DOMDocument();
3// 名前空間プレフィックス 'ex' とURI 'http://www.example.com/ns' を持つ要素を作成
4$element = $dom->createElementNS('http://www.example.com/ns', 'ex:myElement');
5$dom->appendChild($element);
6
7// 指定されたプレフィックス 'ex' に対応する名前空間URIを検索
8$namespaceURI = $element->lookupNamespaceURI('ex');
9
10// null プレフィックスを渡してデフォルトの名前空間URIを検索 (この例では null が返される)
11// $defaultNamespaceURI = $element->lookupNamespaceURI(null);
12
13// 存在しないプレフィックスを渡すと null が返される
14// $nonExistentNamespaceURI = $element->lookupNamespaceURI('nonexistent');
15?>

引数(parameters)

?string $prefix

  • ?string $prefix: 名前空間のプレフィックスを指定する文字列。NULLを指定すると、デフォルトの名前空間 URI を検索します。

戻り値(return)

?string

指定されたDOMNode要素に関連付けられた名前空間URIを文字列で返します。名前空間URIが見つからない場合はnullを返します。