【PHP8.x】DOMProcessingInstruction::baseURIプロパティの使い方
baseURIプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
『baseURIプロパティは、その処理命令ノード(DOMProcessingInstruction)が属するドキュメントの絶対ベースURIを保持する、読み取り専用のプロパティです。ベースURIとは、ドキュメントの元の場所を示す一意な識別子(URI)のことで、XML文書がどこから読み込まれたかというコンテキストを提供します。例えば、ドキュメントがファイルから読み込まれた場合はそのファイルの絶対パスが、ウェブ上のURLから読み込まれた場合はそのURLがbaseURIの値となります。一方で、DOMDocument::loadXML()メソッドなどを用いて文字列から直接ドキュメントを生成した場合のように、ドキュメントの由来が特定できない場合はnullを返します。このプロパティは、処理命令内で相対パスが指定された外部リソースへの参照を解決するために不可欠です。<?xml-stylesheet href="styles/main.css"?>といった処理命令がある場合、このbaseURIを基準点として相対パスstyles/main.cssの完全な位置を特定し、関連ファイルを正しく見つけ出すことができます。』
構文(syntax)
1<?php 2 3$xml = <<<XML 4<?xml version="1.0" encoding="UTF-8"?> 5<document xml:base="http://www.example.com/path/"> 6 <?xml-stylesheet href="style.css" type="text/css"?> 7 <title>Example</title> 8</document> 9XML; 10 11$doc = new DOMDocument(); 12$doc->loadXML($xml); 13 14// DOMProcessingInstruction ノードを取得します 15$pi = $doc->getElementsByTagName('title')->item(0)->previousSibling; 16 17// DOMProcessingInstruction->baseURI プロパティの構文 18// ノードのベースURIを取得して出力します 19echo $pi->baseURI; 20 21?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
string | null
このプロパティは、DOMProcessingInstructionノードの基底URIを表す文字列、または基底URIが存在しない場合はnullを返します。