PHP xml_set_processing_instruction_handler() functie

Definitie en gebruik

De functie xml_set_processing_instruction_handler() definieert de functie die wordt aangeroepen wanneer de parser een verwerkingsinstructie vindt in het XML-document.

De verwerkingsinstructie bevindt zich tussen de separators <? en ?>.

Als de processor succesvol wordt opgezet, retourneert deze functie true; anders retourneert het false.

Voorbeeld: In dit voorbeeld koppelt de verwerkingsinstructie een stijlblad aan het XML-document:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?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>

Syntax

xml_set_processing_instruction_handler(parser,handler)
Parameter Beschrijving
parser Noodzakelijk. Definieer de te gebruiken XML-parser.
handler Noodzakelijk. Definieer een functie.

Door handler De functie die door de parameter wordt gedefinieerd, moet drie parameters hebben:

Parameter Beschrijving
parser Noodzakelijk. Definieer een variabele die de XML-parser van de processor bevat.
target Verplicht. Stelt de variabele in die het doel van de verwerkingsspecificaties vast.
data Verplicht. Stelt de variabele in die de verwerkingsspecificaties bevat vast.

Beschrijving

handler Parameters kunnen ook een array zijn, die objectverwijzingen en methodenamen bevat.

Voorbeeld

<?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);
?>