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