【PHP8.x】publicIdプロパティの使い方
publicIdプロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
publicIdプロパティは、XMLドキュメントのDTD(Document Type Definition)において、公開識別子(PUBLIC ID)の文字列を保持するプロパティです。このプロパティは、PHPのDOM拡張モジュールの一部であるDOMEntityクラスに属しています。
DOMEntityクラスは、XMLドキュメントの構造を定義するDTD内で宣言された、エンティティと呼ばれる特定の情報ブロックを表します。これには、外部から読み込まれるDTDファイルそのものや、特定の文字列に置き換えられる文字エンティティなどが含まれます。
publicIdプロパティは、特に外部DTDを特定する際に用いられる公開識別子を保持します。この識別子は、XMLパーサーが外部リソースを見つけるための手がかりとなるもので、リソースの場所(URLなど)を示すシステム識別子(SYSTEM ID)と合わせて使用されることがあります。これにより、ドキュメントが参照する外部定義を正確に識別し、処理することが可能になります。
このプロパティが保持する値は文字列型(string)であり、もし対応するPUBLIC識別子が定義されていない場合は空文字列("")を返します。publicIdプロパティは読み取り専用であり、一度DOMEntityオブジェクトが作成されると、その値をプログラムから変更することはできません。このプロパティは、XMLドキュメントのパースやバリデーションの際に、外部リソースの解決状況を確認したり、特定の外部定義に基づいて処理を分岐させたりする際に役立つ情報を提供します。
構文(syntax)
1<?php 2$xmlString = '<!DOCTYPE root [<!ENTITY example SYSTEM "http://example.com/example.dtd" PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">]><root/>'; 3 4$dom = new DOMDocument(); 5$dom->loadXML($xmlString); 6 7$entity = $dom->doctype->entities->getNamedItem('example'); 8 9echo $entity->publicId;
引数(parameters)
引数なし
引数はありません
戻り値(return)
string
DOMEntityエンティティの公開識別子(publicId)を文字列で返します。