Definisi dan Penggunaan
Fungsi xml_set_external_entity_ref_handler()
digunakan untuk menentukan fungsi yang akan dipanggil ketika parser menemukan entitas eksternal dalam dokumen XML.
Catatan: Parameter handler juga bisa berupa array yang berisi referensi objek dan nama metode.
Syntax
xml_set_external_entity_ref_handler(parser, handler)
Nilai Parameter
Parameter | Deskripsi |
---|---|
parser | Required. Menentukan parser XML yang akan digunakan |
handler | Required. Menentukan fungsi untuk digunakan sebagai event handler. Fungsi tersebut harus menerima lima parameter: $parser – Variabel yang berisi parser XML yang memanggil handler $name – Variabel yang berisi nama entitas eksternal $base – Basis untuk menyelesaikan pengidentifikasi sistem (system_id) dari entitas eksternal. Saat ini, ini selalu berupa string kosong $system_id – Pengidentifikasi sistem seperti yang ditentukan dalam deklarasi entitas $public_id – Pengidentifikasi publik seperti yang ditentukan dalam deklarasi entitas |
Detail Teknis
Return Value: | TRUE jika sukses. FALSE jika gagal |
---|---|
PHP Version: | 4.0+ |
Contoh
Buat parser XML,setel handler data karakter, setel handler referensi entitas eksternal dan parsing dokumen XML:
<?php // Buat parser XML $parser=xml_parser_create(); function char($parser,$data) { echo $data; } function ext_ent_handler($parser,$ent,$base,$sysID,$pubID) { echo "$ent<br>"; echo "$sysID<br>"; echo "$pubID<br>"; } // setel handler data karakter xml_set_character_data_handler($parser,"char"); // Setel handler referensi entitas eksternal xml_set_external_entity_ref_handler($parser, "ext_ent_handler"); $fp=fopen("note_entity.xml","r"); while ($data=fread($fp,4096)) { // Parse XML data xml_parse($parser,$data,feof($fp)) or die (sprintf("XML Error: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } xml_parser_free($parser); fclose($fp); ?>