Funzione PHP xml_set_processing_instruction_handler()

Definizione e uso

La funzione xml_set_processing_instruction_handler() definisce la funzione chiamata quando l'analizzatore trova un'istruzione di processo nel documento XML.

Le istruzioni di processo sono incluse tra i segnaposti <? e ?>.

Se il gestore viene creato con successo, la funzione restituirà true; altrimenti restituirà false.

Esempio: In questo esempio, l'istruzione di processo associa una tabella di stili al documento 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>Ricorda</heading>
<body>Non dimenticarmi questo weekend!</body>
</note>

Sintassi

xml_set_processing_instruction_handler(parser,handler)
Parametro Descrizione
parser Obbligatorio. Definire l'analizzatore XML da utilizzare.
handler Obbligatorio. Definire una funzione.

Da handler La funzione definita dal parametro deve avere tre parametri:

Parametro Descrizione
parser Obbligatorio. Definire una variabile che contiene l'analizzatore XML chiamato dal gestore.
target Obbligatorio. Specifica la variabile che contiene il target dell'instruzione di processamento.
data Obbligatorio. Specifica la variabile che contiene i dati dell'instruzione di processamento.

Descrizione

handler Il parametro può anche essere un array che contiene riferimenti agli oggetti e i nomi dei metodi.

Esempio

<?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("Errore XML: %s alla riga %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }
xml_parser_free($parser);
?>