La fonction xml_set_unparsed_entity_decl_handler() spécifie la fonction appelée lorsque l'analyseur trouve une entité non analysable dans le document XML.
En cas de succès, la fonction renvoie TRUE. En cas d'échec, renvoie FALSE.
xml_set_unparsed_entity_decl_handler (analyseur, gestionnaire)
paramètre | décrire |
---|---|
analyseur | Requis. Spécifie l'analyseur XML à utiliser. |
gestionnaire | Spécifie la fonction à appeler lorsque l'analyseur trouve une entité qui ne peut pas être analysée. |
La fonction spécifiée par le paramètre "handler" doit avoir six paramètres :
paramètre | décrire |
---|---|
analyseur | Requis. Spécifie une variable contenant l'analyseur XML qui appelle le processeur. |
nom | Requis. Spécifie une variable contenant le nom de l'entité. |
base | Requis. Spécifie une variable contenant la base de résolution de l'identifiant système de l'entité (system_id). Actuellement, ce paramètre est généralement défini sur NULL. |
id_système | Requis. Spécifie une variable contenant l'identifiant système de l'entité. |
public_id | Requis. Spécifie une variable contenant l'identifiant public de l'entité. |
notation | Requis. Spécifie une variable contenant un symbole qui identifie le type de données de l'entité. |
Remarque : Le paramètre handler peut également être un tableau contenant des références d'objet et des noms de méthodes.
<?php$parser=xml_parser_create();function char($parser,$data) { echo $data; }function unparsed_ent_handler($parser,$entname,$base,$sysID,$pubID,$notname) { print "$ entname<br />"; print "$sysID<br />"; print "$pubID<br />"; print "$notname<br />"; }xml_set_character_data_handler($parser,"char");xml_set_unparsed_entity_decl_handler($parser,"unparsed_ent_handler");$fp=fopen("test.xml","r");while ($data=fread($fp,4096)) { xml_parse($parser,$data,feof($fp)) ou mourir (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);?>