Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】DOMProcessingInstruction::namespaceURIプロパティの使い方

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

作成日: 更新日:

基本的な使い方

namespaceURIプロパティは、このノードの名前空間URIを保持する読み取り専用のプロパティです。このプロパティが所属するDOMProcessingInstructionクラスは、XML文書内における処理命令、例えば <?xml-stylesheet ... ?> のようなノードを表します。しかし、XMLの仕様上、処理命令は名前空間に属することがないと定められています。そのため、DOMProcessingInstructionオブジェクトに対してこのプロパティを参照した場合、その値は常にnullとなります。このプロパティは、すべてのノード型の基底クラスであるDOMNodeから継承されたものです。DOMElementやDOMAttrなど、実際に名前空間を持つことができる他のノード型では、このプロパティは名前空間URIの文字列を返しますが、処理命令ノードの文脈では有効な値を持ちません。したがって、DOMProcessingInstructionを扱う際には、namespaceURIプロパティが常にnullを返すことを前提としてコーディングを行う必要があります。

構文(syntax)

1<?php
2
3$xml = <<<XML
4<?xml version="1.0" encoding="UTF-8"?>
5<?xml-stylesheet type="text/css" href="style.css"?>
6<document/>
7XML;
8
9$doc = new DOMDocument();
10$doc->loadXML($xml);
11
12// 処理命令ノードを取得します
13$pi_node = $doc->childNodes[1];
14
15// DOMProcessingInstructionのnamespaceURIプロパティを取得します。
16// このプロパティは常にnullを返します。
17$namespace_uri = $pi_node->namespaceURI;
18
19var_dump($namespace_uri);
20
21?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

string|null

このプロパティは、この命令が属する名前空間のURIを文字列で返します。名前空間が定義されていない場合は、nullを返します。

関連コンテンツ

関連プログラミング言語