【PHP8.x】DOMEntityReference::namespaceURIプロパティの使い方
namespaceURIプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
namespaceURIプロパティは、このノードの名前空間URIを保持するプロパティです。名前空間URIとは、XML文書などで同じ名前の要素や属性が異なる意味で使われる際の衝突を避けるために、それらを一意に識別するための文字列です。このプロパティは、ノードがどの名前空間に属しているかを示します。このプロパティは、すべてのノードの基本となるDOMNodeクラスから継承されています。しかし、DOMEntityReferenceクラスが表すエンティティ参照ノードは、その性質上、特定の名前空間に所属するという概念がありません。そのため、DOMEntityReferenceオブジェクトのnamespaceURIプロパティにアクセスした場合、その値は常にnullとなります。このプロパティは読み取り専用であり、プログラム上で値を直接代入して変更することはできません。ノードの名前空間URIは、文書の構造やノードが作成される方法によって自動的に決定されます。
構文(syntax)
1<?php 2 3$xml = <<<XML 4<?xml version="1.0" encoding="UTF-8"?> 5<!DOCTYPE root [ 6 <!ENTITY myentity "entity text"> 7]> 8<root>&myentity;</root> 9XML; 10 11$doc = new DOMDocument(); 12$doc->loadXML($xml); 13 14// DOMEntityReferenceノードを取得 15$entityRef = $doc->documentElement->firstChild; 16 17// namespaceURI プロパティの値を取得します。 18// PHP 8.0.0 以降、DOMEntityReference::namespaceURI は常に null を返します。 19$uri = $entityRef->namespaceURI; 20 21var_dump($uri); 22 23?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
?string
DOMEntityReference オブジェクトが属する名前空間の URI を文字列で返します。名前空間 URI が設定されていない場合は null を返します。