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

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

作成日: 更新日:

基本的な使い方

lookupNamespaceURIメソッドは、特定の名前空間プレフィックスに対応するURI(Uniform Resource Identifier)を検索するメソッドです。XML文書では、要素や属性の名前の衝突を避け、異なる語彙を区別するために名前空間が利用されます。この名前空間は、特定のプレフィックスと一意のURIを関連付けることで識別されます。

このメソッドは、DOMCdataSectionクラスに属していますが、これはDOMノードが共通して持つ機能の一つです。DOMCdataSectionオブジェクトは、XML文書内でマークアップとして解釈されないテキストブロックであるCDATAセクションを表します。CDATAセクション自体は通常、名前空間プレフィックスを持ちませんが、このメソッドを呼び出すことで、現在のノードのコンテキスト(例えば、その親ノードなど)において、与えられたプレフィックスがどの名前空間URIにマップされているかを調べることができます。

具体的には、引数として指定されたプレフィックスが、現在のノードから親ノードへと階層を遡りながら定義されているかを探します。プレフィックスがスコープ内で見つかれば、対応する名前空間URIの文字列が返されます。もし見つからなかった場合や、指定されたプレフィックスがデフォルトの名前空間(プレフィックスがない場合)を意味する空文字列であり、そのスコープでデフォルト名前空間が定義されていない場合は、nullが返されます。これにより、XML文書の構造を名前空間の観点から正確に理解し、プログラムで操作することが可能になります。

構文(syntax)

1<?php
2
3$domDocument = new DOMDocument();
4$rootElement = $domDocument->createElementNS('http://example.com/namespace', 'ns:root');
5$domDocument->appendChild($rootElement);
6
7$cdataSectionNode = $domDocument->createCDATASection('Sample CDATA content');
8$rootElement->appendChild($cdataSectionNode);
9
10$foundNamespaceURI = $cdataSectionNode->lookupNamespaceURI('ns');
11
12?>

引数(parameters)

?string $prefix

  • ?string $prefix: 名前空間のプレフィックス(例: "xml", "xhtml")。null を指定すると、デフォルトの名前空間のURIが検索されます。

戻り値(return)

?string

指定された名前空間URIを、このCDATAセクションノードに関連付けて返します。名前空間URIが見つからない場合はnullを返します。

関連コンテンツ

関連プログラミング言語