xml_set_external_entity_ref_handler

(PHP 3>= 3.0.6, PHP 4 )

xml_set_external_entity_ref_handler -- 外部リファレンスハンドラを設定する

説明

int xml_set_external_entity_ref_handler ( int parser, string handler)

XML パーサ parser の表記宣言用ハンドラ関数 を設定します。handler は、 parser に関して xml_parse() がコールされた際に必要な関数の名前を有する文字列です。

handler という名前の関数は 5つのパラメータをとり、 整数値を返す必要があります。ハンドラから返された値がFALSEの場合 (これは値が返されない場合に相当します)、XML パーサは処理を中断し、 xml_get_error_code()XML_ERROR_EXTERNAL_ENTITY_HANDLING を返します。 int handler ( int parser, string openEntityNames, string base, string systemId, string publicId)

parser

最初のパラメータ、parser は ハンドラをコールする XML パーサへのリファレンスです。

openEntityNames

2番目のパラメータ、openEntityNames は、 エンティティの処理を行うためにオープンされたエンティティの 名前のスペース区切りのリストです。 (参照されるエンティティの名前を含みます)

base

これは外部エンティティのシステム ID(systemid)を有しています。 現在このパラメータは常に空の文字列に設定されています。

systemId

4番目のパラメータ、systemId は エンティティ宣言で指定されたシステム ID です。

publicId

5番目のパラメータ、publicIdはエンティ ティ宣言で指定されたパブリック IDまたは指定されない場合は空の 文字列です。パブリック ID の中の空白文字は、XML 仕様で規定さ れた正規化を行っています。

ハンドラ関数は、空の文字列またはハンドラが無効の場合 FALSE に設定します。

ハンドラが設定されている場合、TRUEが返され、 parser がパーサでない場合にFALSEが 返されます。

注意関数名の代わりに、オブジェクトへのリファレンスを格納した配列とメソッド名を指定することも出来ます。