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

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

作成日: 更新日:

基本的な使い方

publicIdプロパティは、XMLドキュメントのNOTATION宣言におけるPUBLIC識別子を保持するプロパティです。このプロパティは、PHPのDOM拡張機能が提供するDom\Notationクラスに属しています。Dom\Notationクラスは、XMLドキュメント型定義(DTD)内で宣言された特定の記法(NOTATION)を表します。

NOTATIONは、XML文書内で使用される非XMLデータの形式(例えば、画像ファイルや外部アプリケーションで処理されるデータなど)を外部に宣言し、そのデータタイプを識別するために使われます。PUBLIC識別子は、そのNOTATIONが指し示す外部リソースを公開的に一意に識別するための文字列です。これは、特定のDTDやエンティティなどの外部定義を一意に参照する際に利用されます。

publicIdプロパティの値は文字列型であり、NOTATION宣言にPUBLIC識別子が指定されていればその値が格納されます。もしNOTATION宣言にPUBLIC識別子が宣言されていない場合、このプロパティは空の文字列を保持します。これにより、開発者はXMLドキュメントのDTDをプログラム的に解析し、宣言されているNOTATIONの外部公開識別子を効率的に取得して、適切なデータ処理や検証ロジックを実装することができます。

構文(syntax)

1<?php
2$xml = <<<XML
3<!DOCTYPE root [
4  <!NOTATION example PUBLIC "public_identifier_string" "system_identifier_uri">
5]>
6<root/>
7XML;
8
9$dom = new DOMDocument();
10$dom->loadXML($xml);
11
12// XML ドキュメントから最初の NOTATION 宣言に対応する Dom\Notation オブジェクトを取得します。
13$notation = $dom->doctype->notations->item(0);
14
15// Dom\Notation オブジェクトの publicId プロパティにアクセスし、その値を出力します。
16echo $notation->publicId; // 出力例: public_identifier_string
17?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

?string

このプロパティは、DOMNotationノードの公開識別子(Public Identifier)を表す文字列を返します。公開識別子が存在しない場合は、NULLを返します。

関連コンテンツ

関連プログラミング言語