【PHP8.x】XMLReader::baseURIプロパティの使い方
baseURIプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
baseURIプロパティは、PHPのXMLReaderクラスにおいて、現在XMLReaderオブジェクトが処理しているノードの基底URI(ベースURI)を文字列として保持するプロパティです。この基底URIは、XML文書内で相対URI(相対パスで記述されたURI)が使用されている場合に、それらを絶対URI(完全なURI)に解決する際の基準となる情報を提供します。
具体的には、XML文書が外部のDTD(文書型定義)やXInclude(XML文書の統合)といった他のリソースを参照しており、それらの参照が相対パスで記述されている場合に、このbaseURIプロパティの値が利用されます。XMLReaderが各ノードを読み進める際、そのノードが属するエンティティや文書の物理的な場所を示すURIがこのプロパティに格納されるため、外部リソースを正確に特定し、読み込むことが可能になります。
このプロパティは読み取り専用であり、値を変更することはできません。また、その値は現在XMLReaderが指し示しているノードの種類や、そのノードが存在する文書のコンテキストによって異なります。XML文書における外部参照の解決機構を理解し、適切に処理するために重要な役割を果たすプロパティです。
構文(syntax)
1<?php 2 3$reader = new XMLReader(); 4$reader->XML('<root xml:base="http://example.org/base/"> 5 <item>データ</item> 6</root>'); 7 8$reader->read(); // ルート要素 (<root>) に移動 9echo $reader->baseURI; 10 11$reader->close(); 12 13?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
string
XMLReader::baseURI プロパティは、現在のノードのベース URI を文字列で返します。