Fiche technique | |
---|---|
Type de produit : | Langage de programmation |
Auteur : | World Wide Web Consortium |
Date de publication : | 1998 |
Site Web : | https://www.w3.org/XML/ |
Introduction
Le XML, tirant son nom de l'abréviation de l'anglicisme «Extensible Markup Language», est un langage de programmation à balise dérivé du SGML (Standard Generalized Markup Language) mais développé par le World Wide Web Consortium à partir de 1995 et finalement réalisé en 1998. Le but du langage de programmation XML est de pouvoir représenté n'importe quel est de pouvoir représenter n'importe quel informations de données sans qu'il soit complexe a échanger entre différents système. Le langage de programmation XML est donc supporté nativement par de nombreux langages de programmations (ColdFusion, PHP, Java,...), technologies (.NET,...) et même logiciel (Word, Excel, FireFox,...) afin de profiter de cette avantages. Le format de fichier en de type ASCII et n'importe quel éditeur de texte (Notepad, Notepad++, vi, nano,...) permet de visualiser le contenu. La première ligne définit la version du format de fichier XML comme par exemple :
<?xml version="1.0" encoding="UTF-8"?>
Ensuite les balises du code suivent cette instruction. Chacune des balises ouvertes doit obligatoirement être fermée. Les balises sont définies par un un symbole plus petit (<) et plus grand (>). Si la balise n'a pas de contenu, il faudra terminer la balise par la barre oblique (/) sinon, il faudra ouvrir une balise en la commençant par la barre oblique (/) afin de lui indiquer qu'il s'agit de la terminaison. On utilise généralement des fichiers XML afin de fournir des données structurées à une application qu'on pourra transmettre directement, par des Services Web ou par des protocoles (XML-RPC,...). On tenta également de le combiner à la page HTML sous l'appellation XHTML.
Voici ses principales caractéristiques du XML :
- Extensible : Le XML est extensible, ce qui signifie que les utilisateurs peuvent définir leurs propres balises en fonction des besoins de leurs applications, contrairement à des langages à balisage fixe comme HTML.
- Lisibilité pour l'humain et pour la machine : Les documents XML sont lisibles à la fois par des humains et des machines. Leur syntaxe simple et claire permet une compréhension facile des données.
- Hiérarchique (Arborescence) : Le XML utilise une structure hiérarchique sous forme d'arborescence, avec des éléments parent-enfant. Chaque élément peut contenir des sous-éléments, des attributs et du texte, créant ainsi une structure imbriquée.
- Métadonnées et auto-descriptif : Le XML permet d'entreposer non seulement des données, mais aussi des métadonnées sous forme de balises, rendant les informations auto-descriptives.
- Séparation du contenu et de la présentation : Le format XML se concentre sur les données et leur structure, mais pas sur leur présentation, pouvant être définie séparément (par exemple avec XSLT pour transformer XML en HTML, PDF,...).
- Indépendant des plateformes : Le XML est indépendant des plateformes et des langages de programmation. Il peut être utilisé pour échanger des données entre différentes applications, systèmes d'exploitation et environnements.
- Valide selon des schémas (DTD, XSD) : Les documents XML peuvent être validés en utilisant des schémas comme le DTD (Document Type Definition) ou le XSD (XML Schema Definition), assurant que la structure du document respecte certaines règles prédéfinies.
- Attributs et éléments : Le XML permet d'entreposer des données dans des éléments et des attributs. Un élément contient du texte ou d'autres éléments, tandis qu'un attribut est une information supplémentaire attachée à un élément.
- Encodage universel (UTF-8, UTF-16) : Le XML prend en charge les encodages universels tels que UTF-8 et UTF-16, permettant ainsi l'utilisation de différents caractères de plusieurs alphabets et langues.
- Strict sur la syntaxe : Le XML a une syntaxe très stricte. Les balises doivent être correctement fermées, les attributs doivent être entre guillemets, et il ne doit pas y avoir d'erreurs de structure. Un fichier mal formé est considéré comme invalide.
-
<person><name>Sylvain Maltais</name><age>50<age></person> <!-- Manque la barre fermante -->
- Support les espaces de noms : Le XML prend en charge les espaces de noms pour éviter les conflits entre balises portant le même nom mais provenant de différents contextes.
- Interopérabilité : Le XML est largement utilisé dans les échanges de données entre systèmes hétérogènes, notamment dans les services Web, les APIs, et les fichiers de configuration.
- Flexible mais verbeux : Bien que le XML soit très flexible, il peut aussi être assez verbeux, ce qui augmente la taille des fichiers et peut affecter les performances.
- Transformation de données (XSLT) : Le XML peut être transformé en d'autres formats, tels que le HTML, PDF, ou JSON, en utilisant des langages comme XSLT (eXtensible Stylesheet Language Transformations).
Voici un exemple avec des attributs :
<livre titre="Vingt Mille Lieues sous les mers" auteur="Jules Verne"/>
Voici un exemple d'une erreur :
Voici un exemple :
<xhtml:div xmlns:xhtml="http://www.w3.org/1999/xhtml">
<xhtml:span>Bonjour</xhtml:span>
</xhtml:div>
Remarque
- Il est souvent plus rapide de tester que l'intégrer du fichier XML n'étant pas brisés en utilisant un simple navigateur Web comme FireFox ou Chrome.
Code source
Voici des exemples de code source d'utilitaires pour manipuler les XML :
Lien | Langage de programmation | Description | Projet | Syntaxe |
---|---|---|---|---|
CSV2XML.PAS | Free Pascal, Turbo Pascal | Cette commande permet de convertir un fichier .CSV en format XML. | Corail | CSV2XML |
DBF2XML.PAS | Free Pascal, Turbo Pascal | Cette commande permet de convertir un fichier .DBF (DBase III) en format XML. | Corail | DBF2XML |
JSON2XML.PAS | Free Pascal, Turbo Pascal | Cette commande permet de convertir un fichier JSON en format XML. | Corail | JSON2XML |
SQL2XML.PAS | Free Pascal, Turbo Pascal | Cette commande permet de convertir un fichier SQL en XML. | Corail | SQL2XML |
Voici des exemples de bibliothèques pour manipuler les XML :
Lien | Langage de programmation | Description | Projet | Définition |
---|---|---|---|---|
XMLLIB-TP | Free Pascal, Turbo Pascal | Cette bibliothèque, en Turbo Pascal (ou Free Pascal), permet de créer des fichiers XML, d'importer,.... | XMLLIB-TP | XMLLIB-TP |