PHP xml_set_processing_instruction_handler()Funciones


PHP XML 参考手册Manual de referencia completo de PHP XML

Definición y uso

La función xml_set_processing_instruction_handler() especifica la función que se llamará cuando el analizador encuentre una instrucción de procesamiento en un documento XML.

Las instrucciones de procesamiento están contenidas en los delimitadores <? y ?>, y contienen un objetivo con datos.

Ejemplo: en este ejemplo, la instrucción de procesamiento asocia una hoja de estilo con un documento XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="default.xsl.html" type="text/xml"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

Si tiene éxito, la función devuelve TRUE. Si falla, devuelve FALSE.

Sintaxis

xml_set_processing_instruction_handler(parser,handler)

Parámetros Descripción
parser Requerido. Especifica el analizador XML que se va a utilizar.
handler Requerido. Especifica la función que se llamará cuando el analizador encuentre una instrucción de procesamiento.

La función especificada por el parámetro "handler" debe tener tres parámetros:

Parámetros Descripción
parser Requerido. Especifica una variable que contenga el analizador XML que llama al controlador.
target Requerido. Especifica una variable que contenga el objetivo de la instrucción de procesamiento.
data Requerido. Especifica una variable que contenga los datos de la instrucción de procesamiento.


Consejos y notas

Nota:El parámetro handler también puede ser un array que contenga una referencia a un objeto y el nombre del método.


Ejemplos

<?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("XML Error: %s at line %d",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}

xml_parser_free($parser);
?>


PHP XML 参考手册Manual de referencia completo de PHP XML Otras extensiones