Fonction PHP xml_set_external_entity_ref_handler()

Définition et utilisation

La fonction xml_set_external_entity_ref_handler() définit la fonction appelée lorsque l'analyseur trouve une entité externe dans le document XML.

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

Syntaxe

xml_set_external_entity_ref_handler(parser,Gestionnaire)
Paramètres Description
parser Obligatoire. Définit l'analyseur XML à utiliser.
Gestionnaire Obligatoire. Définit la fonction appelée lorsque l'analyseur trouve une entité externe.

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

Paramètres Description
parser Obligatoire. Définit une variable contenant l'analyseur XML appelé par le processeur.
name Obligatoire. Définit une variable contenant le nom de l'entité externe.
base

Obligatoire. Définit une variable contenant l'identifiant de système de base (system_id).

Le paramètre actuel est généralement configuré à une chaîne vide.

system_id Requis. Définir la variable contenant l'identifiant système de l'entité externe.
public_id Requis. Définir la variable contenant l'identifiant public de l'entité externe.

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 ext_ent_handler($parser,$ent,$base,$sysID,$pubID)
  {
  echo "$ent";
  echo "$sysID";
  echo "$pubID";
  }
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("Erreur XML: %s à la ligne %d", 
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
  }
xml_parser_free($parser);
?>