Forum und email

xml_set_element_handler

(PHP 4, PHP 5)

xml_set_element_handler — Affecte les gestionnaires de début et de fin de balise XML

Description

bool xml_set_element_handler ( resource $parser , callback $start_element_handler , callback $end_element_handler )

xml_set_element_handler() affecte les gestionnaires de début et de fin de l'analyseur XML parser . start_element_handler et end_element_handler sont des chaînes qui contiennent les noms de fonctions qui existent lorsque xml_parse() est appelé pour créer parser .

La fonction start_element_handler doit accepter trois paramètres :

start_element_handler ( resource $parser , string $name , array $attribs )
parser
Le premier paramètre, parser, est une référence sur l'analyseur XML qui appelle cette fonction.
name
Le deuxième paramètre, name , contient le nom de l'élément qui a provoqué l'appel du gestionnaire. Si l'analyseur gère la casse, cet élément sera en majuscules.
attribs
Le troisième paramètre, attribs , contient un tableau associatif avec les attributs de l'éléments (s'il en existe). Les clés de ce tableau seront les noms des attributs, et les valeurs seront les valeurs correspondantes des attributs. Les noms des attributs seront mis en majuscules si l'analyseur gère la casse. Les valeurs des attributs seront inchangées. L'ordre original des attributs peut être retrouvé en passant en revue le tableau attribs , avec la fonction each(). La première clé sera la première clé du tableau.

La fonction endelementhandler doit accepter deux paramètres :

end_element_handler ( resource $parser , string $name )
parser
Le premier paramètre, parser, est une référence sur l'analyseur XML qui appelle cette fonction.
name
Le second paramètre, name , contient le nom de l'élément qui a provoqué l'appel du gestionnaire. Si l'analyseur gère la casse, cet élément sera en majuscules.

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

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