PHP マニュアル
前のページ |  | 次のページ

# xml_set_external_entity_ref_handler

(PHP 3 >= 3.0.6, PHP 4, PHP 5)

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

## 説明

bool xml_set_external_entity_ref_handler ( resource parser, callback handler )

XML パーサ `parser` の外部エンティティ参照用ハンドラ関数 を設定します。`handler` は、 `parser` に関して xml_parse() がコールされた際に必要な関数の名前を有する文字列です。

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

`parser`

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

`open_entity_names`

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

`base`

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

`system_id`

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

`public_id`

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

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

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

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

前のページ | ホーム | 次のページ
xml_set_end_namespace_decl_handler | 上に戻る | xml_set_notation_decl_handler