Le langage de balisage extensible (XML) (Anglais: Extensible Markup Language) est une norme du World Wide Web Consortium pour la syntaxe des langages de balisage formels qui permet de présenter des données structurées sous forme de texte brut. Cette présentation est à la fois lisible par machine et lisible par l’homme. Le format XML est utilisé pour stocker des données (comme au format OpenDocument) et pour envoyer des données sur Internet.
XML est une forme simplifiée de SGML (Standard Generalized Markup Language), une norme complexe pour la structure des documents.
Les langages XML utilisent des éléments et des attributs dits pour structurer les données. La spécification XML définit la syntaxe des éléments, des attributs et des autres structures pouvant exister dans les fichiers XML. Cependant, la spécification XML n’enregistre pas les noms de ces éléments et attributs, précisément parce que ce choix dépend de la finalité du fichier XML.
Un langage de balisage dérivé de SGML plus ancien est HyperText Markup Language (HTML). HTML a provoqué une percée dans le texte conçu comme SGML, mais les données sur une page HTML ne peuvent pas être reconnues comme telles pour les ordinateurs: en HTML, par exemple, vous pouvez marquer des titres et des paragraphes (structure textuelle), mais vous ne pouvez pas enregistrer qu’une information donnée est un nom personnel, un numéro de téléphone ou une date (signification ou structure sémantique). Cependant, XML peut être utilisé pour développer des langages de balisage qui le permettent.
Exemple XML
Un fichier XML décrivant une liste de lecture musicale pourrait ressembler à ceci:
Dans ce format de fichier, il s’agit donc davantage de la structure des informations, ceci contrairement au HTML, ou plutôt de la manière dont le HTML est largement utilisé, où il s’agit davantage de la présentation des informations. Dans ces fichiers HTML, les balises décrivent comment les informations doivent être présentées, mais pas ce qu’elles signifient.
Normes associées
Les accords concernant les balises à utiliser dans les dialectes « standard » sont formellement enregistrés dans les DTD (Document Type Definition) ou dans les nouvelles définitions de schémas XML (XSD). En plus des étiquettes à utiliser, il décrit également quelles données sont acceptables et comment exactement elles doivent être saisies (par exemple, un code postal se compose de 4 chiffres, 1 espace et 2 lettres). La différence entre DTD et XSD est que les schémas XSD ont plus de pouvoir expressif dans ce domaine; De plus, XSD lui-même est également un dialecte XML qui peut être modifié avec tous les outils XML.
Vous spécifiez comment les données seront formatées avec un document XSL Extensible Stylesheet Language. Il est également possible de formater un document XML avec un document CSS. Cependant, CSS (feuilles de style en cascade) est mieux adapté pour XHTML. De cette façon, vous donnez une séparation nette entre la mise en page et le contenu en XML au moyen de XSD et XSL. XSL lui-même est également un dialecte XML (standard).
Les données au format XML peuvent être converties en d’autres formats tels que HTML, WML ou PDF au moyen de transformations XSLT, mais également en un document XML avec une structure différente. Dans le cas de la transformation en HTML, cette opération peut avoir lieu à la fois dans le navigateur – au moment de l’affichage – et sur le serveur web.
Des langages de requête standard ont été développés pour la recherche de documents XML: XPath et XQuery.
Bien que les balises XML soient en principe libres de choisir, elles sont utiles lors de l’échange de données si une norme commune est convenue. De cette façon, toutes sortes de dialectes XML sont créés, chacun avec sa propre application spécifique. Un exemple de dialecte XML « standard » est la norme dite RSS (Rich Site Summary ou Really Simple Syndication), qui permet aux sites d’actualités de publier leurs titres pour les services RSS et les logiciels RSS. Par exemple, les soi-disant flux RSS sont disponibles sur des sites d’actualités tels que NU.nl et Slashdot.
Les données ont une balise XML attachée au HTML.
XML en vigueur
XML n’est pas seulement conçu pour les flux RSS, il est principalement utilisé comme moyen de transfert de données.
XML-RPC
Pour utiliser XML-RPC, un module peut être construit, qui consiste simplement en une ou plusieurs pages PHP. Une demande est envoyée au moyen de XML-RPC, RPC signifie appel de procédure à distance, du client (bureau) au serveur (site Web). Cela prend de nouvelles données de la base de données du site Web et les convertit en un fichier XML. Le fichier est ensuite envoyé via SOAP via le protocole HTTP. Une connexion à une base de données telle qu’Access ou un package ERP tel que SAP ou Navision est établie avec des pilotes ODBC. Lorsque ce fichier arrive sur le serveur du demandeur, le fichier XML doit être converti aux valeurs du système d’information du demandeur. Cela se fait au moyen d’une DTD ou d’un fichier XSLT. Après la conversion, un nouveau fichier XML est créé qui peut ensuite être chargé dans le système d’information. Tout cela fonctionne automatiquement pour un employé de bureau.