# Analyseur syntaxique XML

# Introduction

Le 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 permet 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 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 qu'il est possible de régler.

- Installation/Configuration
  - Pré-requis
  - Installation
  - Types de ressources
- Constantes pré-définies
- Gestionnaires d'événements
- Problèmes de casse
- Codes d'erreurs
- Codage des caractères
- Exemples
  - Exemple de structure XML
  - Mappage XML -> HTML
  - Entité externe
  - Analyse XML avec une classe
- Fonctions d'analyse de fichier XML
  - xml_error_string — Lit le message d'erreur de l'analyseur XML
  - xml_get_current_byte_index — Retourne l'index de l'octet courant d'un analyseur XML
  - xml_get_current_column_number — Retourne le numéro de colonne courant d'un analyseur XML
  - xml_get_current_line_number — Retourne le numéro de ligne courant d'un analyseur XML
  - xml_get_error_code — Récupère le code erreur de l'analyseur XML
  - xml_parse — Commence l'analyse d'un document XML
  - xml_parse_into_struct — Analyse une structure XML
  - xml_parser_create — Création d'un analyseur XML
  - xml_parser_create_ns — Crée un analyseur XML
  - xml_parser_free — Détruit un analyseur XML
  - xml_parser_get_option — Lit les options d'un analyseur XML
  - xml_parser_set_option — Affecte les options d'un analyseur XML
  - xml_set_character_data_handler — Affecte le gestionnaire de données de caractères
  - xml_set_default_handler — Affecte le gestionnaire XML par défaut
  - xml_set_element_handler — Affecte les gestionnaires de début et de fin de balise XML
  - xml_set_end_namespace_decl_handler — Configure le gestionnaire de fin de déclaration de namespace
  - xml_set_external_entity_ref_handler — Configure le gestionnaire XML de références externes
  - xml_set_notation_decl_handler — Configure le gestionnaire XML de notations
  - xml_set_object — Configure un objet comme analyseur XML
  - xml_set_processing_instruction_handler — Affecte les gestionnaires d'instructions de traitement
  - xml_set_start_namespace_decl_handler — Configure le gestionnaire de début de déclaration de namespace
  - xml_set_unparsed_entity_decl_handler — Affecte le gestionnaire de déclaration d'entités non analysées
- XMLParser — La classe XMLParser

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open