XML : comprendre et utiliser ce format

Auteur : Publié le

En bref : XML est un format textuel de stockage et d’échange de données dont les balises décrivent le sens et la structure des informations. Il est notamment utilisé pour l’intégration de systèmes, les fichiers de configuration et les plans de site. Un fichier XML peut se lire dans un éditeur de texte, mais son utilisation correcte exige de connaître les règles adoptées par le système concerné.

Comment fonctionne XML et que signifie son nom ?

XML est l’abréviation de Extensible Markup Language, c’est-à-dire « langage de balisage extensible ». Une balise est une étiquette écrite entre chevrons, par exemple <prix>. Elle permet d’indiquer ce que signifie la valeur placée entre les balises.

« Extensible » signifie que XML n’impose pas une liste unique de noms de balises. L’auteur du format peut définir des éléments tels que <produit>, <commande> ou <client>. Les systèmes qui échangent des données doivent toutefois s’accorder sur les noms et la structure : utiliser XML ne suffit pas à rendre un fichier compréhensible par n’importe quel programme.

XML décrit avant tout les données, et non leur apparence. Un fichier contenant le prix et le nom d’un produit ne définit pas automatiquement leur affichage sur le site d’une boutique. La présentation relève de l’application ou de règles de traitement supplémentaires.

Comment lire un fichier XML : un exemple simple

Voici comment les données d’un produit peuvent être représentées :

<?xml version="1.0" encoding="UTF-8"?>
<produit id="123">
  <nom>Tasse en céramique</nom>
  <prix devise="PLN">39.90</prix>
  <disponible>true</disponible>
</produit>

La première ligne est une déclaration XML facultative. Elle indique la version du langage et l’encodage des caractères, c’est-à-dire la façon dont les lettres et les autres caractères sont enregistrés dans le fichier. Si la déclaration indique UTF-8, l’encodage réel du fichier doit correspondre à cette indication.

<produit> est l’élément racine, qui englobe les autres éléments. <nom>, <prix> et <disponible> contiennent des valeurs. Quant à id="123" et devise="PLN", ce sont des attributs : des informations supplémentaires placées dans la balise ouvrante.

Les noms des éléments suggèrent le sens des données, mais ne définissent pas toutes les règles. XML ne détermine pas à lui seul si le prix doit comporter deux décimales, ni si true signifie que le produit est disponible en stock. Ces règles sont définies dans la documentation du format ou dans le schéma de données.

Quelles règles un document XML doit-il respecter ?

Un document dont la syntaxe est correcte est dit bien formé (well-formed). Il doit avoir un seul élément racine, et ses éléments doivent être correctement fermés et imbriqués. L’écriture <produit><nom>Tasse</produit></nom> est incorrecte, car les balises fermantes apparaissent dans le mauvais ordre.

Pour lire ou corriger un fichier, voici les principales règles à connaître :

Une syntaxe correcte ne garantit pas que le fichier répond aux exigences du système destinataire. Pour vérifier sa structure, on peut utiliser un schéma XSD, un document qui décrit les éléments autorisés, leur ordre et les types de valeurs. Un fichier XML peut être bien formé mais rejeté par l’application, par exemple parce qu’il manque un numéro de commande.

Les documents plus complexes utilisent aussi des espaces de noms. Ceux-ci permettent de distinguer des éléments portant le même nom mais provenant de formats différents. Il ne faut donc pas supprimer des préfixes comme abc: ni des déclarations xmlns simplement parce qu’ils semblent superflus.

Où utilise-t-on XML et en quoi diffère-t-il de HTML et de JSON ?

XML est utilisé pour les échanges de données entre une boutique et un grossiste, l’intégration de systèmes d’entreprise et certains services web. Il est également utilisé dans RSS, un format de diffusion des mises à jour de contenu, et dans SVG, un format de graphisme vectoriel. Des fichiers XML se trouvent aussi à l’intérieur des documents DOCX et XLSX.

Un plan de site XML contient les adresses des pages et peut fournir aux moteurs de recherche des informations supplémentaires à leur sujet. Il ne garantit toutefois ni leur indexation ni une position donnée dans les résultats de recherche.

HTML sert à décrire la structure des pages web au moyen d’éléments prédéfinis, tels que les titres et les paragraphes. XML permet de créer ses propres noms d’éléments pour représenter des données. JSON est un autre format textuel d’échange de données, principalement fondé sur des paires nom–valeur et des listes.

Pour une intégration simple d’applications web, JSON est souvent plus pratique et plus concis. XML peut être un choix adapté lorsque le destinataire ou une norme existante l’exige. Par exemple, si un grossiste fournit son catalogue en XML, la boutique a besoin d’un outil d’importation capable de traiter la structure précise de ce catalogue, et pas seulement des fichiers quelconques portant l’extension .xml.

Comment ouvrir un fichier XML et l’utiliser en toute sécurité ?

Un éditeur de texte suffit pour consulter le fichier. Un éditeur de code mettra en plus les balises en évidence et aidera à repérer les erreurs. Un navigateur web peut également afficher la structure XML ou signaler une erreur de syntaxe, mais cela ne remplace pas la vérification de la conformité aux exigences de l’application.

Avant l’importation, faites une copie du fichier, vérifiez le format requis dans la documentation du destinataire et testez un petit échantillon de données. N’envoyez pas de fichiers contenant des données clients, des mots de passe ou des informations d’entreprise à des validateurs en ligne choisis au hasard.

Si vous développez une application qui lit des fichiers XML provenant d’une source inconnue, veillez à configurer de manière sûre le parseur, c’est-à-dire le programme qui analyse le document. Limitez le traitement des entités externes et le téléchargement de ressources externes afin que le fichier ne puisse pas provoquer des accès indésirables aux fichiers ou au réseau.

Pour commencer concrètement : ouvrez le fichier XML dans un éditeur, repérez l’élément racine et comparez sa structure à la documentation du système dans lequel vous souhaitez importer les données.

À lire aussi : Qu’est-ce que 2FA ?

À lire aussi

Découvrez comment PHP-FPM traite les requêtes PHP, son rôle face au serveur web et comment adapter ses processus au trafic.
Découvrez BIND, logiciel libre de serveur DNS : ses rôles, la gestion des domaines et les cas où le déployer vous-même.
Découvrez le registre polonais REGON, son numéro, ses différences avec NIP et KRS et comment vérifier les données d’une entreprise.