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

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

作成日: 更新日:

基本的な使い方

lookupPrefixメソッドは、指定された名前空間URIに対応するプレフィックスを検索し、そのプレフィックス名を返すメソッドです。

XMLなどの構造化されたドキュメントでは、要素や属性がどの語彙に属するかを明確にするために「名前空間」という仕組みが使われます。これは、例えば異なる技術仕様で同じ名前の要素がある場合に、それらを区別するために利用されます。名前空間は、インターネット上のリソースを一意に識別するURI(Uniform Resource Identifier)と、ドキュメント内でそのURIを表す短縮名であるプレフィックス(例: <xlink:href>タグのxlink部分)の組み合わせで定義されます。

このlookupPrefixメソッドは、現在のDom\Textノードが属するコンテキストからドキュメントツリーの親ノードへと順番に遡りながら、引数として渡された名前空間URIに対応するプレフィックスを探し出します。もし、指定されたURIがドキュメント内のどこかで宣言されており、それに対応するプレフィックスが見つかった場合、そのプレフィックス名(文字列)が戻り値として返されます。

しかし、もしドキュメントのどの部分を検索しても、与えられた名前空間URIに対応するプレフィックスが見つからなかった場合、このメソッドはnullを返します。nullは「値が存在しない」ことを示すPHPの特殊な値です。システムエンジニアがXMLドキュメントをプログラムで操作する際、特定の名前空間に属する要素のプレフィックスを動的に確認し、その結果に基づいて処理を分岐させる必要がある場合に、このメソッドは非常に役立ちます。

構文(syntax)

1<?php
2
3$dom = new DOMDocument();
4$namespaceUri = 'http://www.w3.org/2000/svg';
5$element = $dom->createElementNS($namespaceUri, 'svg:root');
6$dom->appendChild($element);
7
8$textNode = $dom->createTextNode('Sample Text');
9$element->appendChild($textNode);
10
11$prefix = $textNode->lookupPrefix($namespaceUri);
12
13?>

引数(parameters)

string $namespace

  • string $namespace: 名前空間URIを指定する文字列

戻り値(return)

?string

指定されたDOMノードに関連付けられた名前空間プレフィックスを検索し、見つかった場合はその文字列を返します。名前空間プレフィックスが見つからなかった場合はnullを返します。

関連コンテンツ

関連プログラミング言語