Derniers tutoriels de développement web
 

PHP xml_set_external_entity_ref_handler() Function


<Complete Référence XML PHP

Définition et utilisation

Le xml_set_external_entity_ref_handler() fonction spécifie une fonction à appeler lorsque l'analyseur trouve une entité externe dans le document XML.

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

Syntaxe

xml_set_external_entity_ref_handler(parser,handler)

Paramètre La description
parser Champs obligatoires. Indique l'analyseur XML à utiliser
handler Champs obligatoires. Indique une fonction à appeler lorsque l'analyseur trouve une entité externe

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

Paramètre La description
parser Champs obligatoires. Indique une variable contenant l'analyseur XML qui appelle le gestionnaire
name Champs obligatoires. Indique une variable contenant le nom de l'entité externe
base Champs obligatoires. Spécifie la base de résolution de l'identificateur de système (system_id) de l'entité externe. À l'heure actuelle, ce qui est toujours NULL
system_id Champs obligatoires. Spécifie l'identifiant système pour l'entité externe
public_id Champs obligatoires. Spécifie l'identifiant public pour l'entité externe

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 ext_ent_handler($parser,$ent,$base,$sysID,$pubID)
  {
  echo "$ent<br />";
  echo "$sysID<br />";
  echo "$pubID<BR />";
  }

xml_set_character_data_handler($parser,"char");
xml_set_external_entity_ref_handler($parser, "ext_ent_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