Modes

Modes – Explication des modes d'analyse possibles

Modes d'analyse de XML_Parser

XML_Parser fournit deux modes d'analyse :

  • func

  • event

Dans le mode 'event', XML_Parser appellera toujours les méthodes startHandler() et endHandler(), indépendemment du nom du tag. Dans ces méthodes, vous devez vérifier le nom du tag qui est passé en tant que second paramètre et décider ce que vous devez faire. Dans la plupart des cas, cela est fait avec une structure switch/case.

Dans le mode 'func', XML_Parser appellera différentes méthodes basées sur le nom du tag. Cela vous permet de répartir les différents tags pour différentes méthodes. Les méthodes qui gèrent le tag de début doivent s'appeler xmltag_[nom_tag](), où [nom_tag] doit être substitué par le nom de l'élément que vous voulez traiter. Cela signifie que si vous voulez écrire une méthode qui traite tous les tags ouvrants <title>, elle voit s'appeler xmltag_title.

Les méthodes pour gérer les tags fermants doivent se nommer xmltag_[nom_tag]_() (noter la distinction par rapport au gestionnaire de tags ouvrants, en utilisant le tiret bas final).

Vu que les balises XML peuvent contenir des caractères comme ".", ":" et "-" et que ces caractères ne sont pas autorisés dans les noms de fonctions PHP, XML_Parser les remplacera par un "_" lors de la construction du nom de la fonction de callback.

Si une méthode n'existe pas, XML_Parser ignorera cette balise sans gérer ses éléments, sauf si vous implémentez les méthodes xmltag() et xmltag_(), qui seront utilisées en tant que méthodes de fallback.

Définition du mode

Il y a deux façons de définir le mode :

  • En spécifiant le mode dans le constructeur en tant que second paramètre.

    Dans la sous classe de la classe XML_Parser que vous implémentez pour traiter les documents XML, vous devez appeler XML_Parser::XML_Parser() dans le constructeur. Cette méthode accpete le mode en tant que second paramètre.

  • Définition du mode en utilisant XML_Parser::setMode().

Exemple d'utilisation de XML_Parser (Previous) Explication sur les différents types de données entrantes (Next)
Last updated: Sun, 29 Aug 2010 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.