PHP xml_set_external_entity_ref_handler()Fonctions


PHP XML 参考手册Manuel de référence complet PHP XML

Définition et utilisation

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

En cas de succès, la fonction renvoie TRUE. En cas d'échec, elle renvoie FALSE.

Syntaxe

xml_set_external_entity_ref_handler(parser,handler)

Paramètre Description
parser Requis. Spécifie l'analyseur XML à utiliser.
handler Requis. Spécifie la fonction à appeler lorsque l'analyseur trouve une entité externe.

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

Paramètre Description
parser Requis. Spécifie une variable contenant l'analyseur XML qui appelle le gestionnaire.
name Requis. Spécifie une variable contenant le nom de l'entité externe.
base Requis. Spécifie la base pour résoudre l'identifiant système (system_id) de l'entité externe. Ce paramètre est généralement défini sur NULL actuellement.
system_id Requis. Spécifie l'identifiant système de l'entité externe.
public_id Obligatoire. Spécifie l'identifiant public de l'entité externe.


Conseils et notes

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


Exemples

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


PHP XML 参考手册Manuel de référence complet PHP XML Autres extensions