Introduction à XML
Le prologue
Dernière modification : 2002/09/10 16:07:13 Contact : Martin Sévigny
Le prologue des documents XML joue trois rôles importants:
Préciser qu'il s'agit d'un document XML
Identifier le jeu de caractères utilisé
Identifier la grammaire (DTD) utilisée
Les trois éléments sont facultatifs, mais il est en général préférable d'include la déclaration XML qui contient les deux premiers éléments d'information.
Si aucun jeu de caractères n'est spécifié, une application XML doit supposer qu'il s'agit du jeu de caractères Unicode, encodé en UTF-8 ou en UTF-16.
Si aucune DTD n'est identifiée, le document est considéré bien formé. Si une DTD est spécifiée, le document est alors valide (s'il respecte les règles dictées dans la DTD bien sûr).
Syntaxe
La syntaxe des différents éléments est la suivante.
L'identification XML
L'identification du document XML est nécessairement au début du document et a la forme suivante:
<?xml version="1.0"?>
L'encodage
L'encodage, s'il est spécifié, se retrouve dans l'instruction de traitement qui identifie le document XML:
<?xml version="1.0" encoding="ISO-8859-1"?>
Dans cet exemple, il s'agit d'un document XML dont le jeu de caractères est l'ISO-Latin 1 (norme ISO 8859-1), et donc pas l'Unicode. Dans l'exemple précédent, le jeu de caractères était l'Unicode, avec encodage UTF-8 ou UTF-16, soit la valeur par défaut.
La DTD
La DTD peut être référencée de la façon suivante:
<!DOCTYPE racine PUBLIC "identificateur public" "uri de la DTD">
Ici, "racine" identifie l'élément qui contient tous les autres dans le document, la mention PUBLIC et la chaîne de caractères qui suit, optionnelles, précise un identificateur public pour cette DTD, et enfin la chaîne de caractères qui la suit, obligatoire, précise la localisation de la DTD à l'aide d'une URI.
Très souvent, un appel à une DTD sera de la forme suivante:
<!DOCTYPE racine SYSTEM "racine.dtd">
ce qui signifie que la DTD est dans un fichier nommé "racine.dtd" et qui se situe dans le même répertoire que le document.
Soulignons également qu'il est possible d'inclure la DTD à l'intérieur du document lui-même, de la façon suivante:
<!DOCTYPE racine [ <!ELEMENT racine EMPTY> ]>
Dans cet exemple, la DTD (fort simple) est incluse dans le document. il s'agit d'une pratique assez rare, mais cette technique est aussi utilisée pour déclarer des entités.
Le schéma
Les schémas ne sont pas références dans l'en-tête du document, mais plutôt en attribut d'un élément, comme dans cet exemple :
<BookCatalogue
xmlns="http://www.publishing.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.publishing.org BookCatalogue.xsd">
<Book>...</Book>
<Book>...</Book>
</BookCatalogue>Dans cet exemple, on identifie l'espace de nom du schéma et sa localisation.
| Document précédent : Unicode |
Table des matières | Document suivant : Les éléments |