【PHP8.x】DOMEntityReference::lookupPrefix()メソッドの使い方
lookupPrefixメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
『lookupPrefixメソッドは、DOMEntityReferenceノードを基点として、指定された名前空間URIに対応するプレフィックスを検索するメソッドです。XML文書では、要素名や属性名の衝突を避けるために名前空間が使用されます。このメソッドは、引数に名前空間URIの文字列を渡すことで、そのURIがどのプレフィックス(接頭辞)に紐付けられているかを調べることができます。検索処理は、メソッドを呼び出した現在のノードから開始され、もしそこで対応するプレフィックスが見つからなければ、親ノード、さらにその親ノードへと文書のルート要素に向かって遡りながら探索を続けます。これにより、そのノードのスコープ内で有効な名前空間定義を探し出すことが可能です。最終的に、指定された名前空間URIに対応するプレフィックスが見つかった場合はその文字列を返し、文書の最後まで探索しても見つからなかった場合はnullを返します。
構文(syntax)
1<?php 2 3$doc = new DOMDocument(); 4 5$rootElement = $doc->createElementNS('http://www.example.com/schema', 'ns:root'); 6$doc->appendChild($rootElement); 7 8$entityRef = $doc->createEntityReference('exampleEntity'); 9$rootElement->appendChild($entityRef); 10 11// DOMEntityReferenceノードのコンテキストから、指定した名前空間URIに 12// 対応するプレフィックスを上位の要素に向かって探索します。 13$prefix = $entityRef->lookupPrefix('http://www.example.com/schema'); 14 15var_dump($prefix); 16 17?>
引数(parameters)
string $namespace
- string $namespace: 検索したい名前空間のURIを指定する文字列
戻り値(return)
?string
DOMEntityReferenceオブジェクトに関連付けられた名前空間プレフィックスを返します。見つからない場合はNULLを返します。