Funkcja PHP xml_set_processing_instruction_handler()

Definicja i użycie

Funkcja xml_set_processing_instruction_handler() określa funkcję wywoływane przez parser, gdy znajduje instrukcję przetwarzania w dokumencie XML.

Instrukcja przetwarzania zawiera się w znacznikach <? i ?>.

Jeśli procesor zostanie pomyślnie ustanowiony, funkcja zwróci true; w przeciwnym razie zwróci false.

Przykład: W tym przykładzie, instrukcja przetwarzania łączy arkusz stylów z dokumentem 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>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

Gramatyka

xml_set_processing_instruction_handler(parser,handler)
Parametr Opis
parser Wymagane. Określ XML parser, który ma być użyty.
handler Wymagane. Określ funkcję.

Przez handler Funkcja określona przez parametr musi mieć trzy parametry:

Parametr Opis
parser Wymagane. Określ zmienną, która zawiera parser XML do wywoływania procesora.
target Wymagane. Określa zmienną zawierającą cel instrukcji przetwarzania.
data Wymagane. Określa zmienną zawierającą dane instrukcji przetwarzania.

Opis

handler Parametr może być również tablicą, która zawiera odniesienia do obiektów i nazwy metod.

Przykład

<?php
$parser=xml_parser_create();
function char($parser,$data)
  {
  echo $data;
  }
function pi_handler($parser, $target, $data)
  {
  echo "Cel: $target<br />";
  echo "Dane: $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("Błąd XML: %s w wierszu %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }
xml_parser_free($parser);
?>