現在の位置: ホーム> 関数カテゴリ一覧> xml_set_unparsed_entity_decl_handler

xml_set_unparsed_entity_decl_handler

未解決のエンティティ宣言ハンドラーを設定します
名前:xml_set_unparsed_entity_decl_handler
カテゴリ:XMLパーサー
対応言語:php
一言説明:未解決のエンティティ宣言の処理関数を設定します。

定義と使用法

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つのパラメーターを受け入れる必要があります。

  • $パーサー - ハンドラーを呼び出すXMLパーサーを含む変数
  • $ entity_name-エンティティ名を含む変数
  • $ベース - 外部エンティティのシステム識別子(System_ID)を解析するための基礎。現在、これは常に空の文字列です
  • $ system_id-外部エンティティのシステム識別子
  • $ public_id-外部エンティティのパブリック識別子
  • $ NOTATION_NAME-このエンティティのシンボリック名
類似の関数
人気記事(にんききじ)