Syntaxe

Un fichier XML, tout comme un fichier HTML, est un simple fichier texte. La création, l'édition la visualisation d'un tel fichier ne nécessite donc pas d'éditeur particulier et peut se faire sous tout type de système d'exploitation.
Pour crééer un fichier XML il suffit de sauvegarder un fichier avec l'extension ".xml" pour qu'il soit considéré comme un fichier XML.
Ainsi, un fichier XML peut être écrit et lu

Néanmoins, pour être compréhensible, un fichier XML doit respecter une certaine syntaxe, plus rigoureurse que celle définie pour le HTML par exemple (qui, il est vrai, est très permissive).

En plus de ces règles qu'il est obligatoire de respecter, s'ajoutent des conventions qu'il est recommandé de suivre.

 
Création d'un fichier XML

Un fichier XML doit toujours commencer par une déclaration du type :

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>

Cette ligne, appellée prologue, est une instruction de traîtement servant à identifier :

Attention, quand on définit les 2 attributs optionnels encoding et standalone dans un prologue XML, on doit obligatoirement le faire dans le même ordre que présenté dans l'exemple : l'attribut "version" suivi de l''attribut "standalone".

Régles et conventions sur les balises XML

Une fois cette balise créée, on peut définir nos propres balises dans le contenu du document. Nous l'avons déjà signalé, le nom des balises est ouvert, il convient à chacun de définir son vocabulaire au sein du fichier (les noms d'éléments et d'attributs).

Néanmoins certaines règles et conventions sont à respecter lors de l'écriture des balises :

<message></message>
<message>mon message</message>

où "message" est le nom de l'élément ("<message>" étant la balise de début dans laquelle on le définit), "monmessage" représente la valeur de l'élément (le contenu de la balise) et "</message>" la balise de fin.

<message/>

Cet exemple est exactement identique au premier exemple fourni. <balise/> est donc équivalent à <balise></balise>. Dans les deux cas on définit un élément vide.

Cet exemple est donc incorrect :

<message>
  <contenu>
</message>
  </contenu>
  celui là est juste :

<message>
  <contenu>
  </contenu>
</message>
Les attributs de balise

Comme en HTML, il est possible d'ajouter des attributs à un élément :

<message expediteur="titi">mon message</message>

Ici "expediteur" est le nom de l'attribut et "titi" la valeur de l'attribut.

Il existe également sur les attributs un certain nombres de règles à respecter :

<message expediteur="titi" destinataire="toto">mon message</message>
<message destinataire="toto" expediteur="titi">mon message</message>

 

Les sections CDATA

Un document se doit de respecter toutes les règles syntaxiques de XML (telles que définies dans la recommandation du W3C et présentées précédemment). Si c'est le cas on dit alors que le document est bien formé. Tout document XML doit être bien formé.

Un document bien formé devient disponible pour une application via une interface standard tel SAX (Simple API for XML) ou DOM (Document Object Model) que nous aborderons dans la partie parseurs.

Certaines règles de syntaxe peuvent être génantes dans des cas précis, comme l'écriture de code JavaScript ou de texte comportant des caractères réservés pour la syntaxe XML. Pour contourner le problème il est possible d'insérer les éléments qui ne seraient pas compris lors de l'analyse du fichier XML, dans des sections non analysées : les sections CDATA (pour Character DATA).

Ces sections sont délimitéespar les balises "<![CDATA[" et "]]>".

Voici un exemple d'utilisation de ces sections CDATA :

<script language="JavaScript">
<![CDATA[
function testValeur() {
  if (i>0 && i <4)
  alert("i compris entre 1 et 3");
}
]]>
</script>

Remarque : La chaîne "]]>", qui sert à délimiter la fin d'une section CDATA, ne peux figurer à l'intérieur d'une section CDATA.

Cela peut également permettre d'insérer du code HTML dans un fichier XML.
Imaginons que nous voulions élaborer une documentation sur le langage HTML en XML, où l'on référence chaque balise et fournisse pour chacune du code HTML d'exemple. On pourrait utiliser le fichier suivant :

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<HTMLDoc>
  <tag-HTML>
  <nom>br</nom>
  <description>Retour à la ligne </description>
  <exemple>
  <![CDATA[
  Première ligne...<br> Nouvelle ligne
  ]]>
  </exemple>
  </tag-HTML>
</HTMLDoc>
voir le fichier source fichier

L'utilisation des sections CDATA n'est toutefois pas recommandé. Elle doit se limiter à des cas bien précis, comme ceux présentés précédemment.

 

Les entités prédéfinies

 

On peut se demander comment faire pour insérer dans un document XML un caractère utilisé dans la syntaxe même du XML ("< " par exemple). Le problème se pose en fait pour 5 cacactères : "<", ">"(caractère d'ouverture et de fermeture de balise), "&" (utilisés pour faire référence à une entité...ce que nous abordons actuellement), et les simples et doubles quote (caractère utilisé pour définir un attribut).
En fait, on vient de le voir, on pourrait utiliser, une section CDATA à chaque fois. Néanmoins cela est contraignant pour un seul caractère et rend difficile la lecture du code.

XML fourni donc une autre alternative pour utiliser facilement ces caractères spéciaux : l'utilisation d'entité.
Une entité est une construction syntaxique commançant par le caractère "&" et finissant par le caractère ";" (comme pour l'insertion de caractères Unicode). A chaque fois qu'une chaîne de caractères correspondant à une entité sera rencontrée, elle sera remplacée par la valeur de celle-ci.

Le tableau suivant vous présente les cinq entités prédéfinies en XMLet le caractère à utiliser dans le fichier XML :

Caractère à définir
Entité
<
&lt;
>
&gt;
&
&amp;
"
&quot;
'
&apos;

On peut également utiliser le code Unicode correspondant au caractère à définir pour palier au problème.

 

Editeurs XML

Nous l'avons signalé, un fichier XML est un fichier texte. Pour la saisie de fichiers XML simples, un éditeur texte classique (VI, Emacs...) est ainsi largement suffisant. Néanmoins, nous avons également vu que la syntaxe du XML est relativement contraignante, car rigoureuse. Ainsi, pour l'élaboration de fichiers XML plus complexes, il peut s'avérer agréable de pouvoir vérifier que la syntaxe saisie est correcte dès l'édition.

Pour les récalcitrants aux éditeurs spécifiques, signalons l'outil PSGML qui permet d'avoir des facilités d'édition pour les fichiers XML et SGML sous Emacs.

Il existe sinon de nombreux éditeurs spécifiques XML offrant des options de validation, de formatage...
Beaucoup d'entre eux sont destinés aux professionels et sont payants :

Il est néanmoins possible avec des logiciels gratuits de disposer d'un éditeur XML. Citons notamment l'outils XMLBuddy dont il existe en 2 versions :

La version gratuite, bien qu'assez limitée, offre des fonctionnalités de base déjà appréciables :


<< Page Précédente
Introduction

Plan complet du site

Page Suivante > >
Structure

-- ©
Guillaume Charpentier - Dernière mise à jour de cette page le 27/02/04 0:18 --