【PHP8.x】notationNameプロパティの使い方
notationNameプロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
notationNameプロパティは、DOMEntityクラスに属し、XMLドキュメント型定義(DTD)やスキーマで定義されるエンティティ宣言に関する情報を保持するプロパティです。DOMEntityクラスは、XMLドキュメント内の名前付きデータを表すエンティティノードを扱います。
このnotationNameプロパティは、特に外部エンティティの中でも、XMLパーサーがその内容を直接解析しない「非解析エンティティ(Unparsed Entity)」が使用する記法(Notation)の名前を文字列として保持します。例えば、XMLドキュメント内で画像ファイルや特定の外部アプリケーションによって処理されるべきバイナリデータなどの外部リソースをエンティティとして参照する際、そのリソースの形式や種類を示すために記法が指定されることがあります。
具体的には、DTDにおけるエンティティ宣言でNDATAキーワードと共に記法名が指定された場合に、その記法名がnotationNameプロパティの値となります。この情報があることで、XML処理を行うアプリケーションは、参照されている外部リソースがどのような種類のものであり、どのように処理すべきか(例えば、特定のビューアアプリケーションを起動するなど)を判断するための手がかりを得ることができます。
内部エンティティや、XMLパーサーが内容を解析するタイプの外部エンティティに対しては、このnotationNameプロパティは空の文字列を返します。システムエンジニアにとって、このプロパティはXMLドキュメントにおける外部リソースの性質を理解し、プログラムでそれらのリソースに対する適切な処理フローを構築するために利用できる重要な情報源となります。
構文(syntax)
1<?php 2$entityNotationName = $entity->notationName; 3?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
string|null
DOMEntityエンティティの内部名を表す文字列、またはエンティティが内部名を持たない場合はnullを返します。