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é.