|
|
XML (eXtensible Markup Language ou langage de balisage extensible) est un standard du World Wide Web Consortium qui sert de base pour créer des langages balisés spécialisés; c’est un "méta langage". Il est suffisamment général pour que les langages basés sur XML puissent être utilisés pour décrire toutes sortes de données et de textes.
Il s'agit donc partiellement d'un format de fichier.
L’objectif initial de XML était de faciliter le partage de textes et d’informations structurés, par exemple au travers de l'internet, en séparant le contenu (les données) du contenant (la présentation des données). Il constitue une simplification de SGML bien qu’il inclut des améliorations quant à la portabilité.
Les langages basés sur XML (par exemple XSLT, Schéma XML, XHTML, RDF, SOAP, SMIL, MathML, SVG...) sont décrits de façon formelle : une structure de données simple est définie avec une DTD (Document Type Definition), une structure de données détaillée est définie avec un schéma XML.
Il existe des outils (qui peuvent être gratuits ou libres) permettant la manipulation de ces définitions — Processeurs XML. La disponibilité d’une syntaxe standard, et d’outils de manipulation, réduit significativement le coût du cycle de développement et permettent ainsi à des programmes de modifier et de valider sans connaissances préalables des documents écrits dans ces langages. En effet, avant le succès d’un langage généraliste de description de données tel que XML, les concepteurs de logiciels avaient pour habitude de définir leurs propres formats de fichiers ou leur propres langages pour partager les données entre programmes. Ceci nécessitait de concevoir et de programmer des analyseurs syntaxiques dédiés.
Un fichier XML est un fichier texte. L'encodage des caractères est défini dans la première déclaration du document. Par défaut il s’agit de UTF-8 qui ne diffère pas de l' ASCII si seuls les caractères ASCII sont utilisés (sur-ensemble).
Le fichier XML est structuré en "éléments" à l'aide de "balises" qui marquent le début et la fin de chaque élément. Les éléments peuvent contenir du texte et éventuellement d'autres éléments (le mot "élément" est donc trompeur). L'ensemble des données du document XML est contenu dans un seul élément appelé "racine", qui contient donc aussi tous les autres éléments.
A part les éléments (ou à l'intérieur d'eux), on trouve aussi dans un document XML:
L'efficacité de XML dépend fortement des normes strictes qui régissent sa structure. Pour être considéré comme un document XML, un document doit être « bien formé », c’est à dire qu'il doit au minimum être conforme aux règles suivantes :
Contrairement à HTML, les balises XML indiquent ce que signifient les données et non la façon de les afficher. (Du moins, c'est le principe, que chaque langage basé sur XML est libre de suivre ou ne pas suivre.)
Quand un document XML est bien formé et est conforme à la DTD auquel il est associé, ce document est qualifié de valide.
Un document XML peut être associé à des feuilles de style XSLT qui permettent de générer de nouveaux documents contenants des informations provenant du document XML. Il est ainsi possible de générer des fichiers XML ayant une structure différente du document initial (transformation), mais aussi toutes sortes d'autres documents : requêtes SQL, pages HTML... Un document XML peut aussi être affiché par un navigateur Web (par exemple, Internet Explorer ou Mozilla) en utilisant une feuille de style CSS.
Le succès de XML s'explique aussi par la définition d'interfaces de programmation (API) standard pour les processeurs XML. Les API les plus largement utilisées sont :
Le format des fichiers d’OpenOffice.org (suite bureautique distribuée en logiciel libre) est basé sur XML. Une grande partie de l'interface du navigateur Mozilla est construite avec des langages utilisant XML.
Objectifs et utilité
Fonctionnement
Règles fondamentales
Il est à noter que XML est sensible aux majuscules et minuscules (case sensitive). Par exemple, "Utilisations actuelles
Ces API sont les plus utilisées mais d'autres API existent, comme JDOM et dom4J pour JavaTechnologies en relation avec XML
Technologies dérivées de XML
Voir aussi
Liens externes