xml_set_unparsed_entity_decl_handler
未解決のエンティティ宣言ハンドラーを設定します
xml_set_unparsed_entity_decl_handler()関数は、パーサーがXMLドキュメントで未解決のエンティティに遭遇するときに呼び出される関数を指定するために使用されます。
注:ハンドラーパラメーターは、オブジェクトの参照とメソッド名を含む配列でもあります。
XMLパーサーを作成し、文字データハンドラーをセットアップし、比類のないエンティティ宣言ハンドラーを設定し、XMLドキュメントを解析します。
<?php
$ parser = xml_parser_create ( ) ;
function char ( $ parser 、 $ data ) {
echo $ data ;
}
function unparsed_ent_handler ( $ parser 、 $ entname 、 $ base 、 $ sysid 、 $ pubid 、 $ notname ) {
" $ entname <br>"を印刷します。
" $ sysid <br>"を印刷します。
" $ pubid <br>"を印刷します。
" $ notname <br>"を印刷します。
}
xml_set_character_data_handler ( $ parser 、 "char" ) ;
//未解決のエンティティ宣言ハンドラーを設定します
xml_set_unparsed_entity_decl_handler ( $ parser 、 "unparsed_ent_handler" ) ;
$ fp = fopen ( "test.xml" 、 "r" ) ;
while ( $ data = fread ( $ fp 、 4096 ) ) {
xml_parse ( $ parser 、 $ data 、 feof ( $ fp ) )または
die ( sprintf ( "xmlエラー:オンライン%d") 、
XML_ERROR_STRING ( XML_GET_ERROR_CODE ( $ PARSER ) ) 、
xml_get_current_line_number ( $ parser ) ) ) ;
}
xml_parser_free ( $ parser ) ;
fclose ( $ fp ) ;
?>
xml_set_unparsed_entity_decl_handler (パーサー、ハンドラー)
| パラメーター | 説明する |
|---|---|
| パーサー | 必須。使用するXMLパーサーを指定します |
| ハンドラ | 必須。 XMLパーサーがNDATA宣言で外部エンティティ宣言に遭遇したときに呼び出される関数を指定します。 関数は6つのパラメーターを受け入れる必要があります。
|