Introduction au langage XML
eXtensible Markup Language
Langage de balisage extensible
Ce type de langage utilise des balises pour marquer des portions de texte.
On en distingue plusieurs types.
Le balisage indique au programme des instructions de traitements pour le formatage du document.
Exemple
Un paragraphe contenant un lien.
Un paragraphe contenant un lien.
Le balisage se contente de décrire les données, sans but de traitement.
Alan Turing
23 juin 1912 à Londres (Royaume-Uni) - 7 juin 1954 à Wilmslow (Royaume-Uni)
Alan Mathison Turing est un mathématicien et cryptologue britannique, auteur de travaux qui fondent scientifiquement l'informatique.
HTML
<html>
<head/>
<body>
Alan Turing
23 juin 1912 à Londres (Royaume-Uni) -
7 juin 1954 à Wilmslow (Royaume-Uni)
Alan Mathison Turing est un mathématicien
et cryptologue britannique, auteur de travaux
qui fondent scientifiquement l'informatique.
</body>
</html>
Alan Turing
23 juin 1912 à Londres (Royaume-Uni) - 7 juin 1954 à Wilmslow (Royaume-Uni)
Alan Mathison Turing est un mathématicien et cryptologue britannique, auteur de travaux qui fondent scientifiquement l'informatique.
XML
<notice>
Alan Turing
23 juin 1912 à
Londres (Royaume-Uni) -
7 juin 1954 à
Wilmslow (Royaume-Uni)
Alan Mathison Turing est un
mathématicien et
cryptologue britannique,
auteur de travaux qui fondent scientifiquement
l'informatique.
</notice>
3 étapes
Avantages
Metalangage de balisage
Langage conçu pour définir d'autres langages.
pas de jeu de balises prédéfini.
Harold, Elliotte Rusty et Means, W. Scott. « XML en concentré : manuel de référence ».
Un ensemble de règles pour définir des applications.
Objectif : représenter des données contenues dans un document sans tenir compte des systèmes utilisés pour la saisie et le traitement, ni des solutions de publication.
SGML est un métalangage qui introduit la notion de DTD (Document Type Definition) qui permet de décrire un modèle de document.
Un document SGML se compose de 3 parties : une DTD, une ou plusieurs feuilles de style et une instance
Langage de publication pour le web fondé sur l’utilisation de liens hypertextuels entre les documents et sur le protocole HTTP (Hypertext Transfer Protocol).
Développé au CERN par Tim Berners-Lee, c’est une application SGML.
Contrairement à SGML, HTML mélange des balises de structure et des balises de présentation.
W3C Recommendation, Extensible Markup Language (XML) 1.0 (Fifth Edition)
- XML shall be straightforwardly usable over the Internet.
- XML shall support a wide variety of applications.
- XML shall be compatible with SGML.
- It shall be easy to write programs which process XML documents.
- The number of optional features in XML is to be kept to the absolute minimum, ideally zero.
- XML documents should be human-legible and reasonably clear.
- The XML design should be prepared quickly.
- The design of XML shall be formal and concise.
- XML documents shall be easy to create.
- Terseness in XML markup is of minimal importance.
<?xml version="1.0" encoding="UTF-8"?>
Alan Turing est né le 23 juin 1912 à Londre.
Les signes <, > et </ délimitent les balises ouvrantes et fermantes :
<p></p>
Le nom d’un attribut est séparé de sa valeur par le signe “=”.
La valeur d’un attribut est placée entre guillemets simples ou doubles. (attribut='valeur' est équivalent à attribut="valeur")
Les éléments vides peuvent s’écrire <div></div>
ou <div/>
Comme nous l’avons vu, un document XML est une arborescence :
Un arbre XML possède un seul et un seul élément racine qui contient tous les autres éléments
Alan Turing
Un élément peut contenir du texte et/ou d’autres éléments (contenu mixte), ou être vide.
Alan Turing est né le 23 juin 1912 à Londre.
Les attributs précisent la signification des éléments, leur ajoutent des caractéristiques, des métadonnées.
le 23 juin 1912
L’attribut est toujours saisi à l’intérieur de la balise ouvrante de l’élément.
Les noms d’éléments et d’attributs peuvent contenir (et uniquement) :
Un nom ne peut pas commencer par un nombre, ni par un point, ni par un trait d’union, ni par xml (quelle que soit la casse utilisée).
XML est sensible à la casse ! (<p/> ≠ <P/>)
Avec XML, il y a 5 entités de caractère prédéfinies. Elles servent à représenter des caractères réservés, c’est-à-dire utilisés pour la syntaxe XML : « & » (&), « < » (<), « > » (>), « " » (") et « ' » (').
Il est possible d’en définir d’autres dans des DTD.
Les commentaires commencent par “<!--” et se terminent par “-->”. Ils ne peuvent contenir de double trait d’union.
<?xml version="1.0" encoding="UTF-8"?>
Alan Turing est né le 23 juin 1912 à Londre.
Elles donnent des instructions pour un programme (p. ex. pour l’application d’une feuille de transformation XSLT, ou une feuille de style CSS). Les instructions de traitement commencent par <? et se terminent par ?>.
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="mon-style.css"?>
Alan Turing est né le 23 juin 1912 à Londre.
Les sections CDATA commencent par <![CDATA[ se terminent par ]]>
Elles indiquent que leur contenu ne doit pas être interprété comme du XML.
<![CDATA[
Je peux donc mettre ici du code javascript ou python, ou encore des &, et des <, >…
]]>
Ils permettent l'utilisation d’éléments et d’attributs issus de plusieurs langages XML. Ils peuvent être préfixés ou non.
Mon paragraphe contenant une formule mathématique encodée avec MathML
x = 2
XML propose des attributs par défaut, sous l’espace de nom xml (déclaré par défaut), comme par exemple xml:id ou xml:lang.
On dit d’un document XML qu’il est bien formé lorsqu’il répond aux différentes contraintes syntaxiques que nous venons de voir.