



|
Manuel PHP
|
|
Table : .Fonctions .NET.Fonctions Apache .Alternative PHP Cache .Débogueur avancé pour PHP .Tableaux .Aspell (Obsolète) .Nombres de grande taille BCMath .Compilateur bytecode pour PHP .Compression Bzip2 .Calendrier .Paiement CCVS (Obsolète) .Classes et Objets .Fonctions Classkit .Fonctions ClibPDF .COM et .Net (Windows) .Crack .Caractères .CURL .Paiement Cybercash .Fonctions Crédit Mutuel CyberMUT .Cyrus IMAP .Dates et heures .Fonctions DB++ .DBA .dBase .DBM (Obsolète) .Fonctions dbx .Direct IO .Accès aux dossiers .Fonctions DOM .Fonctions DOM XML .Fonctions enchant .Gestion des erreurs .EXIF .Fonctions Expect .Fonctions de monitorage d'altération de fichiers .Forms Data Format .Fonctions Fileinfo .Fonctions filePro .Système de fichiers .Fonctions Filter .Fonctions Firebird/InterBase .Fonctions Firebird/Interbase (PDO FIREBIRD) .Fonctions FriBiDi .FrontBase .Fonctions FTP .Fonctions .Fonctions GeoIP .Gettext (GNU) .Fonctions GMP .gnupg Fonctions .Net Gopher .Fonctions hash .HTTP .Hyperwave .Hyperwave API .Fonctions IBM (PDO IBM) .Fonctions IBM DB2, Cloudscape et Apache Derby .ICAP .Iconv .Fonctions ID3 .Fonctions d'administration d'IIS .Images .Image magick Functions .IMAP .Informix .Fonctions Informix (PDO INFORMIX) .Ingres II .IRC .Intégration de Java avec PHP .Fonctions JSON .KADM5 .LDAP .libxml .Lotus Notes .Fonctions LZF .Traitement d'email .Mathématiques .MaxDB PHP Extension .MCAL .chiffrement mcrypt .Fonctions de paiement MCVE (Monetra) .Fonctions Memcache .Hash .Fonctions Mimetype .Ming pour Flash .Fonctions diverses .mnoGoSearch .Microsoft SQL Server .Microsoft SQL Server et Fonctions Sybase (PDO DBLIB) .Sessions Mohawk .mSQL .Chaînes de caractères multi-octets .Fonctions muscat .MySQL .Fonctions MySQL (PDO MYSQL) .Extension MySQL améliorée .Fonctions de contrôle d'écran de terminal .Réseau .Fonctions Newt .Netscape Server API .agrégation d'objets/Composition de fonctions .Overload .Fonctions Oracle .Fonctions ODBC (unifiés) .Fonctions ODBC et DB2 (PDO ODBC) .oggvorbis .Gestion Audio OpenAL .OpenSSL .Oracle (Obsolète) .Fonctions Oracle (PDO OCI) .Bufferisation de sortie .Ovrimos SQL .Accès aux fichiers Paradox .Fonctions Parsekit .Contrôle des processus .Expressions rationnelles compatibles Perl .Fonctions PDF .Fonctions PDO .Phar archive stream and classes .Options PHP et informations .Fonctions POSIX .Expressions rationnelles .PostgreSQL .Fonctions PostgreSQL (PDO PGSQL) .Impression .Exécution de programmes externes .Création de document PostScript .Pspell .qtdom .Radius .Rar .Readline (GNU) .Recode (GNU) .Fonctions Lecture d'En-tête RPM .Fonctions runkit .SAM - Messagerie asynchrone .Extension client Satellite CORBA (Obsolète) .SCA Functions .Fonctions SDO .Fonctions de Service d'Accès de Données SDO XML .Fonctions SDO Relationnel Service d'Accès de Données .Sémaphores et gestion de la mémoire partagée .SESAM .Sauvegarde d'Identifiant de session PostgreSQL .Sessions .Mémoire partagée .Fonctions SimpleXML .Fonctions SNMP .Fonctions SOAP .Sockets .Fonctions Standard PHP Library (SPL) .Fonctions SQLite .Fonctions SQLite (PDO SQLITE) .Shell2 sécurisé .Fonctions statistics .Flux .Chaînes de caractères (Strings) .Shockwave Flash .Sybase .Fonctions TCP Wrappers .Tidy .Analyseur de code PHP .Unicode Functions .URL .Fonctions de gestion des variables .Paiement par Verisign .vpopmail .API windows .WDDX .Fonctions win32ps .Fonctions win32service .Fonctions xattr .Fonctions xdiff .Analyseur syntaxique XML .XML-RPC .XMLReader functions .Fonctions XMLWriter .XSL .XSLT .YAZ .NIS .Fonctions ZIP .Compression Zlib |
xmlCLXXVI. Analyseur syntaxique XMLIntroductionLe langage XML (eXtensible Markup Language (Langage à Balises Extensible)) est un format structuré de données pour les échanges sur le web. C'est un standard défini par le consortium World Wide Web (W3C). Plus d'informations à propos du XML et des technologies afférentes sont accessibles (en anglais) http://www.w3.org/XML/. Cette extension PHP implémente la bibliothèque expat de James Clark sous PHP. Cela vous permettra d'analyser mais pas de valider les documents XML. Ce langage supporte trois types de jeux de caractères différents, disponibles aussi sous PHP : US-ASCII, ISO-8859-1 et UTF-8. UTF-16 n'est pas supporté. Cette extension vous permet de créer des analyseurs XML puis de définir des gestionnaires pour chaque événement XML. Les analyseurs XML disposent de quelques paramètres que vous pouvez régler. Pré-requisCette extension PHP utilise expat compat layer par défaut. Elle peut aussi utiliser expat, qui est disponible sur http://www.jclark.com/xml/expat.html. Le fichier Makefile livré avec expat ne construit pas par défaut de bibliothèque : il faut utiliser la ligne suivante :
Installation
Ces fonctions sont activées par défaut, et utilisent la
bibliothèque expat fournie avec la distribution. Vous pouvez
désactiver le support de XML en utilisant l'option de
compilation La version Windows de PHP dispose du support automatique de cette extension. Vous n'avez pas à ajouter de bibliothèque supplémentaire pour disposer de ces fonctions. Configuration à l'exécutionCette extension ne définit aucune directive de configuration. Types de ressourcesxmlLa ressource xml est retournée par xml_parser_create() et xml_parser_create_ns(), et représente un analyseur XML à utiliser avec les autres fonctions de cette extension. Constantes pré-définiesCes constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.
gestionnaires d'événementsLes gestionnaires d'événements XML sont : Tableau 1. Les gestionnaires d'événements XML supportés
Problèmes de casseLes fonctions de gestion des balises peuvent rencontrer des balises en minuscule, majuscule ou encore dans un mélange des deux. En XML, la procédure standard est d'"identifier les séquences de caractères qui ne sont pas reconnues comme majuscule, et de les remplacer par leur équivalent majuscule". En d'autres termes, XML met toutes les lettres en majuscules. Par défaut, tous les noms des éléments qui sont transmis aux fonctions de gestion sont mises en majuscule. Ce comportement est contrôlé par l'analyseur XML, et peut être lu et modifié avec les fonctions respectives xml_parser_get_option() et xml_parser_set_option(). Codes d'erreursLes constantes suivantes sont définies comme des codes d'erreurs XML : (retournées par xml_parse())
Codage des caractèresL'extension XML de PHP supporte les caractères Unicode grâce à différents codages. Il y a deux types de codages de caractères : le codage à la source et le codage à la cible. PHP utilise le UTF-8 comme représentation interne. L'encodage à la source est effectué lors de l'analyse du fichier par XML. Lors de la création d'un analyseur XML), un type de codage à la source peut être spécifié (et il ne pourra plus être modifié jusqu'à la destruction de l'analyseur). Les codages supportés sont : ISO-8859-1, US-ASCII et UTF-8. Les deux derniers sont des codages à un seul octet, c'est-à-dire que les caractères sont représentés sur un seul octet. UTF-8 peut représenter des caractères composés par un nombre variable de bits (jusqu'à 21), allant de 1 à quatre octets. Le codage par défaut utilisé par PHP ISO-8859-1. Le codage à la cible est effectué lorsque PHP transfert les données aux gestionnaires XML. Lorsqu'un analyseur est créé, le codage à la cible est spécifié de la même façon que le codage à la source, mais il peut être modifié à tout moment. Le codage à la cible affectera les balises, tout comme les données brutes, et les noms des instructions exécutables. Si l'analyseur XML rencontre un caractère qu'il ne connaît pas (hors limite, par exemple), il retournera une erreur. Si PHP rencontre un caractère dans le document XML analysé, qu'il ne peut pas représenter dans le codage à la cible choisi, le caractère sera remplacé par un point d'interrogation (cette attitude est susceptible de changer ultérieurement). ExemplesVoici quelques exemples de code PHP analysant un document XML. Exemple de structure XMLCe premier exemple affiche la structure de l'élément de début dans un document avec indentation. Transtypage XML -> HTML
Entité externeCet exemple exploite les références externes de XML : il est possible d'utiliser un gestionnaire d'entité externe pour inclure et analyser les documents, tous comme les instructions exécutables peuvent servir à inclure et analyser d'autres documents, et aussi fournir une indication de confiance (voir plus bas). Le document XML qui est utilisé dans cet exemple est fourni plus loin dans l'exemple (xmltest.xml et xmltest2.xml).
Ce fichier est inclus depuis xmltest.xml:
|

