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

xml_set_external_entity_ref_handler

外部エンティティリファレンスハンドラーのセットアップ
名前:xml_set_external_entity_ref_handler
カテゴリ:XMLパーサー
対応言語:php
一言説明:XMLパーサー用の外部エンティティリファレンスハンドラーを設定します。

定義と使用法

xml_set_external_entity_ref_handler()関数は、パーサーがXMLドキュメントで外部エンティティを見つけたときに呼び出される関数を指定するために使用されます。

注:ハンドラーパラメーターは、オブジェクトの参照とメソッド名を含む配列でもあります。

XMLパーサーを作成し、文字データハンドラーを設定し、外部エンティティリファレンスハンドラーを設定し、XMLドキュメントを解析します。

 <?php
// XMLパーサーを作成します
$ parser = xml_parser_create ( ) ;

function char ( $ parser 、 $ data ) {
  echo $ data ;
}

関数ext_ent_handler ( $ parser 、 $ ent 、 $ base 、 $ sysid 、 $ pubid ) {
  echo " $ ent <br>" ;
  echo " $ sysid <br>" ;
  echo " $ pubid <br>" ;
}

//文字データ処理プログラムを設定します
xml_set_character_data_handler ( $ parser 、 "char" ) ;

//外部エンティティリファレンスハンドラーを設定します
xml_set_external_entity_ref_handler ( $ parser 、 "ext_ent_handler" ) ;

$ fp = fopen ( "note_entity.xml" 、 "r" ) ;

while ( $ data = fread ( $ fp 、 4096 ) ) {
  // XMLデータを解析します
  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_external_entity_ref_handler (パーサーハンドラー
パラメーター 説明する
パーサー 必須。使用するXMLパーサーを指定します
ハンドラ

必須。イベントハンドラーとして使用される関数を指定します。この関数は、5つのパラメーターを受け入れる必要があります。

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