Fonction PHP xml_set_processing_instruction_handler()

Définition et utilisation

La fonction xml_set_processing_instruction_handler() définit la fonction appelée lorsque l'analyseur trouve une instruction de traitement dans le document XML.

Les instructions de traitement sont comprises entre les marqueurs <? et ?>.

Si le gestionnaire est réussi à être établi, la fonction retourne true ; sinon, elle retourne false.

Exemple : Dans cet exemple, l'instruction de traitement lie une feuille de style au document 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>Rappel</heading>
<body>N'oublie pas-moi ce week-end !</body>
</note>

Syntaxe

xml_set_processing_instruction_handler(analyseur,Gestionnaire)
Paramètres Description
analyseur Obligatoire. Définir l'analyseur XML à utiliser.
Gestionnaire Obligatoire. Définir une fonction.

Par Gestionnaire La fonction définie par les paramètres doit avoir trois paramètres :

Paramètres Description
analyseur Obligatoire. Définir une variable, contenant l'analyseur XML d'appel du gestionnaire.
target Requis. Définir la variable contenant la cible de l'instruction de traitement.
data Requis. Définir la variable contenant les données d'instruction de traitement.

Description

Gestionnaire Les paramètres peuvent également être un tableau contenant des références d'objets et des noms de méthodes.

Exemple

<?php
$parser=xml_parser_create();
function char($parser,$data)
  {
  echo $data;
  }
function pi_handler($parser, $target, $data)
  {
  echo "Cible: $target<br />";
  echo "Données: $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("Erreur XML: %s à la ligne %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }
xml_parser_free($parser);
?>