Fungsi PHP xml_set_external_entity_ref_handler()
Definisi dan penggunaan
Fungsi xml_set_external_entity_ref_handler() menentukan fungsi yang dipanggil saat parser menemukan entitas eksternal dalam dokumen XML.
Jika pemroses berhasil dibangun, fungsi ini akan mengembalikan true; jika tidak, akan mengembalikan false.
Sintaks
xml_set_external_entity_ref_handler(parser,handler)
Paramater | Deskripsi |
---|---|
parser | Diperlukan. Menentukan parser XML yang akan digunakan. |
handler | Diperlukan. Menentukan fungsi yang dipanggil saat parser menemukan entitas eksternal. |
Dari handler Fungsi yang diatur paramater harus memiliki enam paramater:
Paramater | Deskripsi |
---|---|
parser | Diperlukan. Menentukan variabel yang berisi parser XML pemanggil. |
name | Diperlukan. Menentukan variabel yang berisi nama entitas eksternal. |
base |
Diperlukan. Menentukan variabel yang berisi basis untuk identitas sistem eksternal (system_id ). Paramater ini biasanya diatur menjadi string kosong. |
system_id | Diperlukan. Menentukan variabel yang mengandung identitas sistem entitas eksternal. |
public_id | Diperlukan. Menentukan variabel yang mengandung identitas publik entitas eksternal. |
Keterangan
handler Parameter juga dapat berupa array yang mengandung referensi objek dan nama method.
Contoh
<?php $parser=xml_parser_create(); function char($parser,$data) { echo $data; } function ext_ent_handler($parser,$ent,$base,$sysID,$pubID) { echo "$ent"; echo "$sysID"; echo "$pubID"; } xml_set_character_data_handler($parser,"char"); xml_set_external_entity_ref_handler($parser, "ext_ent_handler"); $fp=fopen("test.xml","r"); while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) or die (sprintf("Error XML: %s di baris %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); } xml_parser_free($parser); ?>