【PHP8.x】nodeNameプロパティの使い方

nodeNameプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

nodeNameプロパティは、所属するDOMEntityが表すエンティティの名前を文字列として保持するプロパティです。

DOMEntityクラスは、XMLドキュメントのドキュメント型定義(DTD)において定義される「エンティティ」を表します。エンティティとは、例えばHTMLでよく使われる「 」のような特殊文字の記号(文字実体参照)や、外部ファイルの内容をXML文書内に埋め込むための参照(外部エンティティ)などを指します。

このnodeNameプロパティは、それらのエンティティを識別するための名前を提供します。例えば、DTDに「<!ENTITY nbsp "&#160;">」というエンティティが定義されている場合、その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オブジェクトのノード名を文字列として取得します。このノード名は、エンティティ名をそのまま表します。

関連コンテンツ

関連プログラミング言語