【PHP8.x】localNameプロパティの使い方
localNameプロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
localNameプロパティは、DOMEntityオブジェクトのローカル名を保持するプロパティです。DOMEntityは、XMLドキュメント内で定義される特殊な情報である「エンティティ」を表します。エンティティとは、XML文書内で繰り返し利用されるテキストや、外部ファイルへの参照などを名前で定義し、再利用するための仕組みです。
このlocalNameプロパティは、XMLの名前空間(namespace)を使用している要素や属性の名前から、名前空間の接頭辞(prefix)を除いた、その要素や属性自体の純粋な名前、すなわちローカル名を返します。例えば、XMLの要素が <prefix:elementName> と記述されている場合、localNameプロパティは "elementName" の部分を返します。
DOMEntityの場合、エンティティ自体が直接名前空間に関連付けられることは通常ありません。そのため、DOMEntityのlocalNameプロパティは、ほとんどの場合、XMLで定義されたエンティティの宣言名そのものを返します。これは、名前空間が適用されていないノードにおいては、ローカル名がノードの名前全体と一致するためです。
このプロパティは、XMLドキュメントを解析する際に、エンティティの基本的な識別子を取得するために利用されます。特に、名前空間が複雑に利用されるXML構造において、エンティティの名前空間接頭辞を気にすることなく、そのエンティティの真の名前を取得したい場合に役立ちます。
構文(syntax)
1<?php 2$domDocument = new DOMDocument(); 3$domDocument->loadXML('<!DOCTYPE root [<!ENTITY example "value">]><root>&example;</root>'); 4$domEntity = $domDocument->doctype->entities->getNamedItem('example'); 5 6$localName = $domEntity->localName;
引数(parameters)
引数なし
引数はありません
戻り値(return)
string|null
DOMEntity要素のローカル名を表す文字列、または名前空間接頭辞がない場合はnullを返します。