Función PHP xml_set_processing_instruction_handler()

Definición y uso

La función xml_set_processing_instruction_handler() define la función que se llama cuando el analizador encuentra una instrucción de procesamiento en el documento XML.

La instrucción de procesamiento se encuentra entre los delimitadores <? y ?>.

Si el procesador se crea con éxito, esta función devuelve true; de lo contrario, devuelve false.

Ejemplo: En este ejemplo, la instrucción de procesamiento asocia una hoja de estilo con el 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>Recordatorio</heading>
<body>¡No me olvides este fin de semana!</body>
</note>

Sintaxis

xml_set_processing_instruction_handler(parser,handler)
Parámetros Descripción
parser Necesario. Define el analizador XML a usar.
handler Necesario. Define una función.

Por handler La función especificada por los parámetros debe tener tres parámetros:

Parámetros Descripción
parser Necesario. Define una variable que contiene el analizador XML del procesador.
target Obligatorio. Especifica la variable que contiene el objetivo de instrucciones de procesamiento.
data Obligatorio. Especifica la variable que contiene los datos de instrucciones de procesamiento.

Descripción

handler Los parámetros también pueden ser un array que contenga referencias de objetos y nombres de métodos.

Ejemplo

<?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 de XML: %s en la línea %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }
xml_parser_free($parser);
?>