Forum und email

xml_set_external_entity_ref_handler

(PHP 4, PHP 5)

xml_set_external_entity_ref_handler — Configure le gestionnaire XML de références externes

Description

bool xml_set_external_entity_ref_handler ( resource $parser , callback $handler )

xml_set_external_entity_ref_handler() affecte le gestionnaire d'entité externe de l'analyseur XML parser . handler et endelementhandler sont des chaînes qui contiennent les noms de fonctions qui existent lorsque xml_parse() est appelé pour créer le parser .

La fonction handler doit accepter 5 paramètres, et retourner un entier. Si la valeur retournée par le gestionnaire est FALSE (par exemple si aucune valeur n'est retournée), l'analyseur XML s'arrêtera, et la fonction xml_get_error_code() retournera XML_ERROR_EXTERNAL_ENTITY_HANDLING.

handler ( resource $parser , string $open_entity_names , string $base , string $system_id , string $public_id )
parser
Le premier paramètre,parser, est une référence sur l'analyseur XML qui appelle cette fonction.
open_entity_names
Le deuxième paramètre, open_entity_names , est la liste de noms d'entités, séparés par des espaces. Ces entités sont accessibles à l'analyse par cette entité (y compris le nom de l'entité reférencée).
base
La meilleure base de résolution de l'identifiant système (system_id ) de cette entité externe. Actuellement, ce paramètre est toujours une chaîne vide.
system_id
Identifiant système pour cette entité externe.
public_id
Le cinquième paramètre, public_id , est l'identifiant public, comme spécifié dans la déclaration d'entité, ou une chaîne vide, si aucune déclaration n'a été spécifiée. L'espace dans l'identifiant public sera normalisé comme spécifié dans les spécifications XML.

Si un gestionnaire reçoit une chaîne vide, ou FALSE, c'est qu'il est en train d'être désactivé.

xml_set_external_entity_ref_handler() retourne TRUE si le gestionnaire est actif, et FALSE sinon ou si parser n'est pas un analyseur.

Note: À la place d'un nom de fonction, un tableau contenant une référence d'objet et un nom de méthode peut aussi être utilisé.