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

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

作成日: 更新日:

基本的な使い方

lookupNamespaceURIメソッドは、指定された名前空間プレフィックスに対応する名前空間URIを検索して取得するメソッドです。このメソッドは、XML文書を扱う際に、要素や属性がどの名前空間に属しているかを特定するために利用されます。XMLでは、異なるスキーマの要素名や属性名の衝突を避けるために名前空間が利用され、通常は短いプレフィックスと一意なURIのペアで定義されます。

このメソッドは、Dom\Nodeクラスのインスタンス、つまりXML文書内の特定の要素や属性などのノードに対して呼び出されます。引数として、検索したい名前空間プレフィックスの文字列を渡します。例えば、「soap」というプレフィックスに対応するURIを知りたい場合、「soap」を引数に指定します。プレフィックスが指定されていないデフォルトの名前空間を検索したい場合は、引数に空の文字列を渡してください。

lookupNamespaceURIメソッドは、呼び出し元のノードから開始し、その親ノード、さらにその親ノードへとXML文書ツリーを上方向にたどりながら、指定されたプレフィックスの定義を探します。もしプレフィックスが見つかった場合、対応する名前空間URIの文字列が返されます。一方、指定されたプレフィックスが、呼び出し元のノードやその祖先のどこにも定義されていない場合は、nullが返されます。この機能は、DOMツリーをプログラム的に操作する際に、名前空間の解決に不可欠なツールとなります。

構文(syntax)

1<?php
2
3$dom = new DOMDocument();
4$dom->loadXML('<root xmlns:prefix="http://example.com/namespace"/>');
5$node = $dom->documentElement;
6
7$namespaceURI = $node->lookupNamespaceURI('prefix');

引数(parameters)

?string $prefix

  • ?string $prefix: 名前空間のプレフィックスを指定します。null を指定すると、デフォルトの名前空間のURIが返されます。

戻り値(return)

?string

指定されたノードに対応する名前空間URIを文字列として返します。名前空間URIが見つからない場合はnullを返します。