Função PHP xml_set_processing_instruction_handler()

Definição e uso

A função xml_set_processing_instruction_handler() define a função chamada quando o analisador encontrar uma instrução de processamento no documento XML.

As instruções de processamento estão contidas entre os delimitadores <? e ?>.

Se o processador for configurado com sucesso, a função retornará true; caso contrário, retornará false.

Exemplo: Neste exemplo, a instrução de processamento associa um estilo a um 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>Lembrete</heading>
<body>Não me esqueça deste fim de semana!</body>
</note>

Sintaxe

xml_set_processing_instruction_handler(parser,handler)
Parâmetro Descrição
parser Obrigatório. Define o analisador XML a ser usado.
handler Obrigatório. Define uma função.

por handler A função definida pelo parâmetro deve ter três parâmetros:

Parâmetro Descrição
parser Obrigatório. Define uma variável que contém o analisador XML do processador.
target Obrigatório. Especifica a variável que contém o alvo da instrução de processamento.
data Obrigatório. Especifica a variável que contém os dados da instrução de processamento.

Descrição

handler Os parâmetros também podem ser um array que contém referências a objetos e nomes de métodos.

Exemplos

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