<Referencia completa de PHP XML
Definición y Uso
El xml_set_processing_instruction_handler() la función especifica una función que se llama cuando el analizador encuentra una instrucción de procesamiento en el documento XML.
Una instrucción de procesamiento está encerrado en <? y?> delimitadores y contiene destino aa seguido por los datos.
Ejemplo: En este caso, la instrucción de procesamiento asocia una hoja de estilo con un documento XML:
<?xml version="1.0" encoding="UTF-8"?>
<?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>
Esta función devuelve TRUE en caso de éxito, en caso de fallo.
Sintaxis
xml_set_processing_instruction_handler(parser,handler)
Parámetro | Descripción |
---|---|
parser | Necesario. Especifica analizador XML para utilizar |
handler | Necesario. Especifica una función que será cuando el analizador encuentra una declaración de notación |
La función especificada por el "handler" parámetro debe tener tres parámetros:
Parámetro | Descripción |
---|---|
parser | Necesario. Especifica una variable que contiene el analizador XML que llama al gestor |
target | Necesario. Especifica una variable que contiene objetivo de instrucción de procesamiento |
data | Necesario. Especifica una variable que contiene datos de instrucciones de procesamiento |
Notas y sugerencias
Note: El parámetro de controlador también puede ser una matriz que contiene una referencia de objeto y un nombre de método.
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("XML Error: %s at line %d",
xml_error_string(xml_get_error_code($parser)),
xml_get_current_line_number($parser)));
}
xml_parser_free($parser);
?>
<Referencia completa de PHP XML