PHP xml_set_processing_instruction_handler() funktion

Definition og brug

xml_set_processing_instruction_handler()-funktionen definerer den funktion, der kaldes, når parseren finder en behandlingsinstruks i et XML-dokument.

Behandlingsinstruktioner indeholderes mellem <? og ?>-skilletegnene.

Hvis håndteringsfunktionen oprettes succesfuldt, vil funktionen returnere true; ellers returneres false.

Eksempel: I dette eksempel forbinder behandlingsinstruktionen en stilskabelon med et XML-dokument:

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

Syntaks

xml_set_processing_instruction_handler(parser,handler)
Parameter Beskrivelse
parser Nødvendigt. Definer den XML-parser, der skal bruges.
handler Nødvendigt. Definer en funktion.

Af handler Den funktion, der defineres som parameter, skal have tre parametre:

Parameter Beskrivelse
parser Nødvendigt. Definer en variabel, der indeholder XML-parseren, der kalder håndteringsfunktionen.
target Obligatorisk. Angiver variablen, der indeholder behandlingsinstruktionens mål.
data Obligatorisk. Angiver variablen, der indeholder behandlingsinstruktionens data.

Beskrivelse

handler Parametren kan også være en array, der indeholder objektreferencer og metodenavne.

Eksempel

<?php
$parser=xml_parser_create();
function char($parser,$data)
  {
  echo $data;
  }
function pi_handler($parser, $target, $data)
  {
  echo "Mål: $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 Fejl: %s på linje %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }
xml_parser_free($parser);
?>