Fungsi PHP xml_set_processing_instruction_handler()

Definisi dan Penggunaan

Fungsi xml_set_processing_instruction_handler() diatur untuk dipanggil fungsi saat parser menemukan perintah pengolahan dalam dokumen XML.

Perintah pengolahan terdapat di dalam penanda separator <? dan ?>.

Jika processor berhasil dibangun, fungsi ini akan mengembalikan true; jika tidak, akan mengembalikan false.

Contoh: Dalam kasus ini, perintah pengolahan menghubungkan suatu gaya dengan dokumen XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="default.xsl" type="text/xml"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Peringatan</heading>
<body>Jangan lupa tentang saya akhir pekan ini!</body>
</note>

Sintaks

xml_set_processing_instruction_handler(parser,handler)
Paramater Deskripsi
parser Wajib. Tentukan parser XML yang akan digunakan.
handler Wajib. Tentukan suatu fungsi.

Dari handler Fungsi yang diatur paramater harus memiliki tiga paramater:

Paramater Deskripsi
parser Wajib. Tentukan suatu variabel, yang termasuk parser parsing XML yang dipanggil processor.
target Wajib. Menentukan variabel yang mengandung target perintah pemrosesan.
data Wajib. Menentukan variabel yang mengandung data perintah pemrosesan.

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 pi_handler($parser, $target, $data)
  {
  echo "Target: $target<br />";
  echo "Data: $data<br />";
  }
xml_set_character_data_handler($parser,"char");
xml_set_processing_instruction_handler($parser, "pi_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);
?>