【PHP8.x】nodeNameプロパティの使い方
nodeNameプロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
nodeNameプロパティは、所属するDOMEntityが表すエンティティの名前を文字列として保持するプロパティです。
DOMEntityクラスは、XMLドキュメントのドキュメント型定義(DTD)において定義される「エンティティ」を表します。エンティティとは、例えばHTMLでよく使われる「 」のような特殊文字の記号(文字実体参照)や、外部ファイルの内容をXML文書内に埋め込むための参照(外部エンティティ)などを指します。
このnodeNameプロパティは、それらのエンティティを識別するための名前を提供します。例えば、DTDに「<!ENTITY nbsp " ">」というエンティティが定義されている場合、そのDOMEntityオブジェクトのnodeNameプロパティは「"nbsp"」という文字列を返します。同様に、「<!ENTITY logo SYSTEM "logo.gif" NDATA gif>」のような外部エンティティの場合も、nodeNameプロパティは「"logo"」という文字列を返します。
このプロパティは読み取り専用であり、その値をプログラムから変更することはできません。主に、XMLドキュメントの構造を解析し、含まれるエンティティの種類を特定したり、特定のエンティティに対する処理を分岐させたりする際に利用されます。システムエンジニアはnodeNameプロパティを利用することで、ドキュメント内のエンティティ情報を効率的に扱うことができます。
構文(syntax)
1<?php 2 3$xmlString = <<<XML 4<?xml version="1.0" encoding="UTF-8"?> 5<!DOCTYPE root [ 6 <!ENTITY myEntity "entityValue"> 7]> 8<root>&myEntity;</root> 9XML; 10 11$doc = new DOMDocument(); 12$doc->loadXML($xmlString); 13 14// 'myEntity' という名前の DOMEntity オブジェクトを取得します 15$entity = $doc->doctype->entities->getNamedItem('myEntity'); 16 17// DOMEntity の nodeName プロパティはエンティティ名を返します 18echo $entity->nodeName; // 出力: myEntity 19 20?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
string
DOMEntityオブジェクトのノード名を文字列として取得します。このノード名は、エンティティ名をそのまま表します。