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

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

作成日: 更新日:

基本的な使い方

nodeNameプロパティは、DOMNotationクラスが表すXMLの記法(NOTATION)の名前を保持するプロパティです。このプロパティは、XML文書のDTD(文書型定義)内で定義されたNOTATION要素の識別子、つまり名前を取得するために使用されます。

XMLにおけるNOTATIONは、外部エンティティの形式(例:画像ファイルの種類、特定のアプリケーションで処理されるデータ形式など)を宣言するために用いられます。DOMNotationクラスは、このようなNOTATIONの定義をPHPプログラム上でオブジェクトとして表現するためのものであり、nodeNameプロパティは、そのNOTATIONが持つ固有の名前(識別子)を提供します。

このプロパティの値は常に文字列型で、NOTATIONの名称そのものを返します。例えば、XMLのDTD内で<NOTATION name="image-jpeg" PUBLIC "..." >のように定義されている場合、このプロパティは "image-jpeg" という文字列を返します。これにより、プログラムがどの記法を参照しているのかを明確に判別し、適切な処理を行うことが可能になります。

nodeNameプロパティは、DOMNodeクラスから継承されており、XMLドキュメント内の要素や属性など、他の様々なノードタイプにおいても共通してそのノードの識別名を取得するために用いられる、標準的なプロパティの一つです。このプロパティは読み取り専用であるため、プログラムからその値を変更することはできません。XML文書の構造を解析し、特定のNOTATIONに関する情報を取得したい場合に非常に役立ちます。

構文(syntax)

1<?php
2
3// NOTATIONを含むXMLドキュメントを定義
4$xmlString = <<<XML
5<!DOCTYPE example [
6  <!NOTATION gif SYSTEM "image/gif">
7]>
8<example/>
9XML;
10
11$dom = new DOMDocument();
12$dom->loadXML($xmlString);
13
14// DOMDocumentTypeオブジェクトからNOTATIONのリスト(DOMNamedNodeMap)を取得
15$notations = $dom->doctype->notations;
16
17if ($notations && $notations->length > 0) {
18    // 最初のDOMNotationオブジェクトを取得
19    $notation = $notations->item(0);
20
21    // DOMNotationオブジェクトのnodeNameプロパティにアクセスし、ノード名を出力
22    // この場合、"gif" が出力される
23    echo $notation->nodeName;
24}
25
26?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

DOMNotation オブジェクトのノード名を文字列で返します。

関連コンテンツ

関連プログラミング言語