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
は ハンドラをコールする XML パーサへのリファレンスです。
2番目のパラメータ、
openEntityNames
は、 エンティティの処理を行うためにオープンされたエンティティの 名前のスペース区切りのリストです。
(参照されるエンティティの名前を含みます)
これは外部エンティティのシステム ID(
systemid
)を有しています。 現在このパラメータは常に空の文字列に設定されています。
4番目のパラメータ、
systemId
は エンティティ宣言で指定されたシステム ID です。
5番目のパラメータ、
publicId
はエンティ ティ宣言で指定されたパブリック IDまたは指定されない場合は空の 文字列です。パブリック ID
の中の空白文字は、XML 仕様で規定さ れた正規化を行っています。
ハンドラ関数は、空の文字列またはハンドラが無効の場合
FALSE
に設定します。
ハンドラが設定されている場合、
TRUE
が返され、
parser
がパーサでない場合に
FALSE
が 返されます。
注意 関数名の代わりに、オブジェクトへのリファレンスを格納した配列とメソッド名を指定することも出来ます。