Que signifie XML ?
XML signifie Extensible Markup Language (langage de balisage extensible). Devenu une recommandation du W3C en 1998, il décrit les données à l’aide de balises que vous nommez vous-même – c’est le sens du mot « extensible ». Contrairement au HTML, le XML n’a pas de balises prédéfinies : un catalogue peut utiliser <product> et <price>, une facture <item> et <total>.
Un tout petit document XML ressemble à ceci : <book id="1"><title>XML Basics</title><year>2026</year></book>. Le XML est du texte brut : il reste lisible par un humain et tous les langages de programmation peuvent le traiter. Il se contente de stocker et de structurer des données – il ne fait rien par lui-même. Ce sont les programmes qui décident de ce que signifient les données et de la manière de les afficher.
Les règles de syntaxe XML
Tout document XML doit respecter quelques règles strictes. Un document qui les respecte est dit bien formé :
- Il existe exactement un élément racine qui contient tous les autres éléments.
- Chaque élément est fermé :
<name>…</name>, ou auto-fermant comme<br/>. - Les éléments sont correctement imbriqués :
<b><i>…</i></b>, jamais<b><i>…</b></i>. - Les noms sont sensibles à la casse :
<Item>et<item>sont deux éléments différents. - Les valeurs d’attribut sont toujours entre guillemets simples ou doubles.
- Dans le texte,
&et<sont échappés en&et<. - La déclaration facultative
<?xml version="1.0" encoding="UTF-8"?>doit figurer tout au début.
Les commentaires s’écrivent <!-- … -->. Un validateur XML contrôle toutes ces règles en une seconde et indique la ligne de chaque erreur.
Éléments et attributs XML
Un élément se compose d’une balise ouvrante, de son contenu et d’une balise fermante : <price>19.90</price>. Un élément peut contenir du texte, d’autres éléments ou les deux. Un attribut est une paire nom–valeur placée dans la balise ouvrante : <price currency="EUR">.
| Élément | Attribut | |
|---|---|---|
| Exemple | <color>red</color> | color="red" |
| Peut se répéter | Oui | Non, une fois par élément |
| Peut contenir des éléments enfants | Oui | Non, uniquement du texte |
| L’ordre compte | Oui | Non |
Une convention courante : utilisez les éléments pour les données elles-mêmes et pour tout ce qui peut se répéter ou avoir une structure, et les attributs pour les métadonnées comme les identifiants, les unités ou les types.
XML bien formé ou valide : quelle différence ?
Un XML bien formé respecte les règles de syntaxe ; les parseurs refusent tout le reste. Un XML valide est bien formé et, en plus, conforme à un schéma qui définit quels éléments et attributs sont autorisés, dans quel ordre et avec quels types de données.
- DTD (Document Type Definition) est le langage de schéma d’origine, intégré à XML 1.0. Elle permet aussi de déclarer des entités comme
. - XSD (XML Schema Definition) est lui-même écrit en XML et prend en charge des types de données comme les dates et les nombres décimaux. Les formats de facture électronique tels que CFDI, NF-e et UBL publient des schémas XSD.
Les espaces de noms XML (namespaces)
Comme chacun peut inventer des noms de balises, deux vocabulaires peuvent utiliser le même nom – le <title> d’un livre et le <title> d’une personne. Les espaces de noms les distinguent en associant les noms à une URI. xmlns:cfdi="http://www.sat.gob.mx/cfd/4" déclare le préfixe cfdi, si bien que <cfdi:Comprobante> appartient au vocabulaire mexicain CFDI 4.0. Un espace de noms par défaut, xmlns="…" sans préfixe, s’applique à tous les éléments sans préfixe qu’il contient. L’URI n’est qu’un identifiant : rien n’y est téléchargé.
XML vs JSON vs HTML : les différences
| XML | JSON | HTML | |
|---|---|---|---|
| Usage | Stocker et échanger des données structurées et des documents | Échanger des données, notamment dans les API web | Afficher des pages web |
| Noms des balises ou des clés | Définis par vous | Définis par vous | Fixés par le standard HTML |
| Types de données | Texte, sauf si un schéma définit des types | Chaîne, nombre, booléen, null, tableau, objet | Texte |
| Attributs | Oui | Non | Oui |
| Commentaires | Oui | Non | Oui |
| Schémas | DTD, XSD | JSON Schema | – |
| Erreurs de syntaxe | Rejetées par les parseurs | Rejetées par les parseurs | Corrigées par les navigateurs |
Le JSON est plus concis et correspond directement aux objets JavaScript, c’est pourquoi la plupart des API web l’ont adopté. Le XML reste incontournable lorsque les documents mêlent texte et balisage, nécessitent des espaces de noms ou doivent être validés strictement par rapport à des schémas – c’est pourquoi les administrations fiscales, les éditeurs et les formats bureautiques continuent de s’appuyer sur lui.
Qu’est-ce qu’un fichier .xml et comment l’ouvrir ?
Un fichier .xml est un fichier texte brut qui contient un document XML, généralement encodé en UTF-8. Comme il s’agit de texte, n’importe quel éditeur de texte permet d’ouvrir un fichier XML – le Bloc-notes sous Windows, TextEdit sur Mac ou un éditeur de code comme VS Code. Chrome et Firefox affichent les fichiers XML sous forme d’arborescence lorsque vous les faites glisser dans une fenêtre du navigateur, et Excel peut importer des données XML dans une feuille de calcul.
De nombreux fichiers utilisent le XML sans porter l’extension .xml : les images .svg, les flux .rss, les schémas .xsd, les feuilles de style .xsl, les fichiers .config de .NET et les fichiers .plist de macOS, qui peuvent être enregistrés en XML. Les fichiers Word, Excel et PowerPoint (.docx, .xlsx, .pptx) sont des archives ZIP remplies de fichiers XML.
À quoi sert le XML ?
- Sitemaps :
sitemap.xmlindique aux moteurs de recherche quelles pages contient un site web. - Flux RSS et Atom : les sites d’actualité, les blogs et les podcasts publient leurs mises à jour en XML.
- SVG : les images vectorielles du web sont des documents XML.
- Fichiers Office : Office Open XML (DOCX, XLSX, PPTX) et OpenDocument (ODT, ODS) sont des paquets ZIP de fichiers XML.
- Factures électroniques : le CFDI au Mexique et la NF-e au Brésil sont des fichiers XML qui doivent être signés numériquement et autorisés pour avoir une valeur légale ; UBL est le format XML sur lequel repose la facturation électronique Peppol en Europe et au-delà.
- Services web SOAP : banques, prestataires de paiement et systèmes publics échangent des messages XML décrits par des fichiers WSDL.
- Applications Android : les mises en page (layouts), les ressources de chaînes et
AndroidManifest.xmlsont écrits en XML. - Configuration : le
pom.xmlde Maven, leweb.configde .NET et de nombreux autres paramètres de build et de serveur.
Questions fréquentes
Que signifie l’acronyme XML ?
Extensible Markup Language, soit « langage de balisage extensible ». « Extensible » signifie que vous définissez vos propres balises, et « balisage » (markup) que la structure s’écrit sous forme de balises autour des données.
Le XML est-il un langage de programmation ?
Non. Le XML est un format de données : il décrit et structure l’information, mais ne peut rien calculer. Des technologies associées comme XPath et XSLT permettent de l’interroger et de le transformer.
Le XML est-il encore utilisé aujourd’hui ?
Oui. Le JSON a remplacé le XML dans de nombreuses API web, mais le XML reste la norme pour les sitemaps, les flux RSS, le SVG, les documents bureautiques, les layouts Android, les services SOAP et la facturation électronique dans de nombreux pays.
Dernière mise à jour: