Derniers tutoriels de développement web
 

PHP xml_set_processing_instruction_handler() Function


<Complete Référence XML PHP

Définition et utilisation

Le xml_set_processing_instruction_handler() fonction spécifie une fonction à appeler lorsque l'analyseur trouve une instruction de traitement dans le document XML.

Une instruction de traitement est enfermé dans <? et?> délimiteurs et contient la cible aa suivi des données.

Exemple: Dans ce cas, l'instruction de traitement associe une feuille de style avec un document 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>

Cette fonction retourne TRUE en cas de succès, ou si une erreur survient.

Syntaxe

xml_set_processing_instruction_handler(parser,handler)

Paramètre La description
parser Champs obligatoires. Indique l'analyseur XML à utiliser
handler Champs obligatoires. Indique une fonction à lorsque l'analyseur trouve une déclaration de notation

La fonction spécifiée par le "handler" paramètre doit avoir trois paramètres:

Paramètre La description
parser Champs obligatoires. Indique une variable contenant l'analyseur XML qui appelle le gestionnaire
target Champs obligatoires. Spécifie une variable contenant la cible d'instruction de traitement
data Champs obligatoires. Spécifie une variable contenant des données d'instruction de traitement

Conseils et notes

Note: Le paramètre de gestionnaire peut également être un tableau contenant une référence d'objet et un nom de méthode.


Exemple

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

<Complete Référence XML PHP