xml_set_default_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_default_handlerAffecte le gestionnaire XML par défaut

Description

xml_set_default_handler(XMLParser $parser, callable $handler): bool

Affecte le gestionnaire par défaut de l'analyseur XML parser.

Liste de paramètres

parser

Une référence à un analyseur XML à définir comme fonction d'analyse par défaut.

handler

handler est une chaîne qui contient le nom d'une fonction qui existe lorsque xml_parse() est appelé pour créer parser.

La fonction handler doit accepter deux paramètres :

handler(XMLParser $parser, string $data)
parser
Le premier paramètre, parser, est une référence sur l'analyseur XML qui appelle cette fonction.
data
Le second paramètre, data, contient les caractères sous la forme d'une chaîne. Cela peut être une déclaration XML, un type de document, une entité ou d'autres données pour lesquelles aucun gestionnaire n'est prévu.

Si un gestionnaire reçoit une chaîne vide ou false, c'est qu'il est désactivé.

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

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Historique

Version Description
8.0.0 parser attend une instance de XMLParser désormais; auparavent, une resource était attendu.
add a note add a note

User Contributed Notes 2 notes

up
-1
phillip
19 years ago
it seems to me that in PHP5 the function defined as default-handler (using xml_set_default_handler()) doesen't get passed the cdata anymore:

i.e.:
xml_set_element_handler($this->parser, 'parseSTART', 'parseEND');
xml_set_default_handler($this->parser, 'parseDEFAULT');
function parseSTART() { ... }
function parseEND() { ... }
function parseDEFAULT() { ... }

under PHP5, parseDEFAULT will NOT get passed any cdata, but unter PHP4 it will. at least that's my take on the strange stuff (not) happening after migrating to PHP5.

my solution was to add a xml_set_character_data_handler($parser, 'parseDEFAULT'). it worked for me.
up
-2
anoril at anoril dot com
17 years ago
I have the same issue using two installation of PHP5: on accepts to use the default handler while the other only uses the character_data one.

Maybe a configuration problem...

;) Nonor.
To Top