Tutoriel XML
Par
Miloslav
Nic Eric Le Carre (traduction) Le langage XML est décrit dans la
norme XML 1.0. Ce
tutoriel présente certaines caractéristiques de XML à l'aide de
nombreux exemples.
Version PDF
Version HTML/ZIP
1. Exemple 1 2. Exemple 2 3. Exemple 3 4. Exemple 4 5. Exemple 5 6. Exemple 6 7. Exemple 7 8. Exemple 8 9. Exemple 9 10. Exemple 10 11. Exemple 11 12. Exemple 12 13. Exemple 13
1. Exemple 1
Un document XML doit comporter un ou plusieurs éléments.
-
Bien formé <text>Ceci est un document XML</text>
Document XML bien formé comportant un élément
-
Bien formé <text>Ceci est un
<doctype>document XML</doctype>
</text>
Document XML bien formé comportant plusieurs éléments
-
Mal formé ??? Ceci est un document XML ???
Un document XML doit comporter au moins un élément
2. Exemple 2
Il y a exactement un élément appelé élément racine ou élément document, dont aucune partie n'apparaît dans le contenu d'un autre élément.
-
Bien formé <book>Ceci est un livre</book>
<book> est l'élément racine
-
Bien formé <list>
<item>Item 1</item>
<item>Item 2</item>
<item>Item 3</item>
</list>
<list> est l'élément racine
-
Mal formé ???
<item>Item 1</item>
<item>Item 2</item>
<item>Item 3</item>
???
Seul un élément racine est autorisé
3. Exemple 3
Le nom de la balise de fin d'un élément doit correspondre à celui de la balise de début. Les noms tiennent compte des majuscules et des minuscules
-
Bien formé <book>Ceci est un livre</book>
La balise de fin </book> correspond à la balise de début <book>
-
Bien formé <list>
<item>Voiture</item>
<ITEM>Avion</ITEM>
<Item>Train</Item>
</list>
Ce document bien formé comporte 4 éléments différents <list>, <item>, <ITEM> et <Item>
-
Mal formé <list>
<item>Voiture</itm>
<item>Avion</ITEM>
<item>Train</item>
</list>
<item> - </itm> et <item> - </ITEM> ne correspondent pas
4. Exemple 4
Si la balise de début figure dans le contenu d'un autre élément, la balise de fin doit également figurer dans le contenu du même élément. Plus simplement, les éléments délimités par les balises de début et de fin doivent s'imbriquer correctement les uns dans les autres.
-
Ces éléments sont correctement imbriqués.
Bien formé <Weight>
<number>12</number>
<unit>gramme</unit>
</Weight>
-
Autre exemple de document bien formé
Bien formé <book>
<chapter>
<title>Introduction</title>
</chapter>
<chapter>
<title>Récit</title>
<subChapter>
<title>Partie 1</title>
</subChapter>
<subChapter>
<title>Partie 2</title>
</subChapter>
</chapter>
<chapter>
<title>Index</title>
</chapter>
</book>
-
L'élément <italic> n'est pas correctement imbriqué
Mal formé <text>
<bold><italic>XML</bold></italic>
</text>
5. Exemple 5
La fin de chaque élément commençant par une balise de début doit être indiquée par une balise de fin comportant le même nom que celui utilisé dans la balise de début. Le texte figurant entre la balise de début et la balise de fin est appelé le contenu de l'élément. Un élément sans contenu prend la forme spéciale suivante : <nom/> . La barre oblique devant le caractère > remplace la balise de fin.
-
Chaque élément comporte une balise de fin ou adopte la forme spéciale. Il n'y a aucune différence entre <AAA></AAA> et <AAA/> en XML.
Bien formé <listOfTags>
<AAA></AAA>
<BBB></BBB>
<CCC/>
<DDD/>
</listOfTags>
-
Une erreur très fréquente consiste à oublier la barre oblique
Mal formé <description>
Il y a des pommes <color>jaunes<color> et <color>rouges</color>.
</description>
6. Exemple 6
Les noms d'éléments peuvent comporter des lettres, des chiffres, des tirets, des traits de soulignement, des deux-points ou des points. Le caractère deux-points (:) ne peut être utilisé que dans le cas particulier où il sert à séparer des espaces de noms. Les noms d'éléments commençant par xml, XML ou une autre combinaison de la casse de ces lettres sont réservés à la norme XML.
-
Document comportant des caractères autorisés
Bien formé <permittedNames>
<name/>
<xsl:copy-of/>
<A_long_element_name/>
<A.name.separated.with.full.stops/>
<a123323123-231-231/>
<_12/>
</permittedNames>
-
Ce document comporte plusieurs erreurs.
Mal formé <forbiddenNames>
<A;name/>
<last@name>
<@#$%^()%+?=/>
<A*2/>
<1ex/>
</forbiddenNames>
-
Les noms ne peuvent pas commencer par xml
Mal formé <forbiddenNames>
<xmlTag/>
<XMLTag/>
<XmLTag/>
<xMlTag/>
<xmLTag/>
</forbiddenNames>
7. Exemple 7
Un élément peut comporter aucun, un ou plusieurs attributs. Les caractères autorisés sont les mêmes que pour les noms d'éléments. Le nom d'un attribut est séparé de sa valeur par le caractère =. La valeur de l'attribut doit être indiquée entre guillemets simples '...' ou doubles "..." . Si un guillemet simple ou double est utilisé dans la valeur d'un attribut, le délimiteur contraire doit être utilisé.
-
Document comportant des attributs bien formés
Bien formé <elements-with-attributes>
<el _ok = "oui" />
<one attr = "une valeur"/>
<several first="1" second = '2' third= "333"/>
<apos_quote case1="Aujourd'hui" case2='Il lança : "Salut, tout le monde!" '/>
</elements-with-attributes>
-
Document comportant des attributs incorrects
Mal formé <errors>
<wrong_char a*b = "23432"/>
<mismatched_separator value = "12'/>
<wrong_separator_type value="aa"aa"/>
<wrong_separator_type value='bb'bb'/>
<wrong_start XML-ID = "xml234"/>
</errors>
8. Exemple 8
Les caractères < et & ne peuvent pas être utilisés dans le texte, car ils sont utilisés dans le balisage. Si vous devez employer ces caractères, utilisez < à la place de < et & à la place de &
-
Substitution de & et de <
Bien formé <example>
<isLower>
23 < 46
</isLower>
<ampersand>
Dupond & fils
</ampersand>
</example>
-
Les caractères & et < ne peuvent pas être utilisés dans du texte
Mal formé <example>
<isLower>
23 < 46
</isLower>
<ampersand>
Dupond & fils
</ampersand>
</example>
9. Exemple 9
Les caractères >, " , et ' peuvent également être remplacés par > , " et ' respectivement
-
Substitutions possibles
Bien formé <example>
<right-bracket> A la fois > et > sont autorisés</right-bracket>
<double-quote> A la fois " et " sont autorisés</double-quote>
<apostrophe> A la fois ' et ' sont autorisés</apostrophe>
Cela est utile dans : <el value=" ' " ' "/>
</example>
10. Exemple 10
Des commentaires peuvent figurer n'importe où dans un document en dehors des autres balises. Un processeur XML peut permettre à une application, sans que cela soit une obligation, d'extraire le texte des commentaires. La chaîne de caractères "--" (deux tirets) ne doit pas figurer à l'intérieur des commentaires.
-
Les commentaires peuvent comporter n'importe quel caractère à l'exception des caractères --
Bien formé
<example>
</example>
-
Les commentaires ne doivent pas comporter la chaîne de caractères --
Mal formé <example>
</example>
11. Exemple 11
Les instructions de traitement (PI - Processing instruction en anglais) permettent aux documents XML de contenir des instructions destinées aux applications.
-
Instructions de traitement
Bien formé <example>
<?perl lower-to-upper-case ?>
<?web-server add-header = "université" ?>
<text>vscht</text>
</example>
-
Une instruction de traitement doit se terminer par ?>
Mal formé <example>
<?perl run _>
</example>
12. Exemple 12
Les sections CDATA permettent de ne pas traiter les blocs de texte comportant des caractères qui seraient normalement identifiés comme du balisage. Les sections CDATA commencent par la chaîne "<![CDATA[" et se terminent par la chaîne "]]>". La chaîne ']]>' ne doit pas figurer à l'intérieur d'une section CDATA.
-
Section CDATA
Bien formé <example>
<![CDATA[ <aaa>bb&cc<<<]]>
</example>
-
Une section CDATA ne doit pas comporter la chaîne de caractères ']]>'
Mal formé <example>
<![CDATA[ <aaa>bb ]]>cc<<<]]>
</example>
13. Exemple 13
Les documents XML peuvent, et d'ailleurs doivent, commencer par une déclaration XML qui précise la version de la norme XML utilisée.
-
Spécification de la version XML
Bien formé <?xml version="1.0"?>
<text>Ce document respecte la spécification XML 1.0.</text>
-
Spécification du codage
Bien formé <?xml version="1.0" encoding="ISO-8859-2"?>
<text>Si aucun codage n'est indiqué, UTF-8 est pris par défaut</text>
Copyright (c) 2000 Systinet
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections with the no Front-Cover Texts, and with no Back-Cover Texts.
|