【PHP8.x】DOMEntityReference::lookupNamespaceURI()メソッドの使い方
lookupNamespaceURIメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
lookupNamespaceURIメソッドは、指定された名前空間接頭辞に対応する名前空間URIを、現在のノードから祖先ノードに向かって検索するメソッドです。XML文書では、要素名の衝突を避けるために名前空間が使用されます。この名前空間はURIによって一意に識別され、通常はrdf:のような短い接頭辞と関連付けられます。このメソッドは、その接頭辞を手がかりに対応するURIを見つけ出す役割を担います。引数に名前空間接頭辞の文字列を渡すと、その接頭辞が定義されている最も近い祖先要素まで遡って検索し、対応する名前空間URIを文字列として返します。もし引数にnullを渡した場合は、その場所で有効なデフォルトの名前空間URIを検索します。指定された接頭辞に対応する名前空間URIが見つからない場合、またはデフォルト名前空間が定義されていない場合にはnullを返します。これにより、特定のノードの文脈における名前空間の定義を動的に解決できます。
構文(syntax)
1<?php 2 3$xmlString = <<<XML 4<?xml version="1.0" encoding="utf-8"?> 5<!DOCTYPE root [ 6 <!ENTITY myEntity "entity text"> 7]> 8<root xmlns:ns="http://www.example.com/namespace"> 9 <child>&myEntity;</child> 10</root> 11XML; 12 13$document = new DOMDocument(); 14$document->loadXML($xmlString); 15 16$entityReferenceNode = $document->getElementsByTagName('child')->item(0)->firstChild; 17 18$namespaceURI = $entityReferenceNode->lookupNamespaceURI('ns'); 19 20var_dump($namespaceURI); 21 22?>
引数(parameters)
?string $prefix
- ?string $prefix: 名前空間のプレフィックス。
nullの場合は、デフォルトの名前空間 URI が返されます。
戻り値(return)
?string
DOMEntityReference オブジェクトが参照する名前空間 URI を文字列で返します。名前空間 URI が見つからない場合は null を返します。