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);
?>