xml_set_external_entity_ref_handler 外部エンティティリファレンスハンドラを設定する &reftitle.description; boolxml_set_external_entity_ref_handler XMLParserparser callablehandler XML パーサ parser の外部エンティティ参照用ハンドラ関数を設定します。 &reftitle.parameters; parser 外部エンティティリファレンスハンドラ関数を設定する XML パーサへの参照。 handler handler は、 parser に関して xml_parse がコールされた際に必要な関数の名前を有する文字列です。 handler という名前の関数は 5 つのパラメータをとり、 整数値を返す必要があります。ハンドラから返された値が &false; の場合 (これは値が返されない場合に相当します)、XML パーサは処理を中断し、 xml_get_error_codeXML_ERROR_EXTERNAL_ENTITY_HANDLING を返します。 handler XMLParserparser stringopen_entity_names stringbase stringsystem_id stringpublic_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; に設定されている場合、 そのハンドラは無効となります。 ¬e.func-callback; &reftitle.returnvalues; &return.success; &reftitle.changelog; &Version; &Description; &xml.changelog.parser-param; 7.3.0 拡張モジュールが libxml を使ってビルドされた場合には、コールバック handler の戻り値が無視されることはなくなりました。 このバージョン以前はコールバックの戻り値が無視され、パースが止まりませんでした。 &reftitle.changelog; &Version; &Description; 7.3.0 拡張モジュールが libxml を使ってビルドされていた場合、 handler の戻り値は無視されることはなくなりました。 これより前のバージョンでは、戻り値が無視されていた上、パースが止まりませんでした。