Section courante

A propos

Section administrative du site

Syntaxe

Le langage de programmation du XML est très strictes par rapport aux autres langages de programmation à balises. Dès que la syntaxe du XML n'est pas conforme, elle est automatiquement rejeté et signaler comme invalide par les logiciels et les navigateurs Web. Les deux syntaxes les plus communes sont :

<racine>
   <enfant>
      <sousenfant>...</sousenfant>
   </enfant>
</racine>

ou

<?xml version="1.0" encoding="monencodage"?>
<racine>
   <enfant>
      <sousenfant>...</sousenfant>
   </enfant>
</racine>

Entête

Le XML est en format ASCII et il s'agit donc d'un format de texte lisible. Bien qu'elle ne soit pas obligatoire, la première ligne doit commencer par un type d'encodage comme ceci :

<?xml version="1.0" encoding="monencodage"?>

Si on veut du UTF-8, on ajoutera par exemple la ligne suivante :

<?xml version="1.0" encoding="utf-8"?>

Si la ligne d'entête n'est pas présente, la balises racine commence immédiatement la première ligne.

Les balises

Ensuite, une liste d'un minimum de deux balises (car ils sont toujours regroupés par 2 pour indiquer l'ouverture et la fermeture), indique un contenu d'informations. Contrairement à d'autres langages de programmation à balises, le XML n'impose pas des noms précis aux différents balises qu'il contient. Ainsi, on peut indiquer n'importe quel nom de balise, du moment qu'il respecte l'idée d'ouvrir et de fermer des balises. Dans chacun des couples de balises, on peut inclure un ou des autre(s) groupe(s) de 2 balises, et cela à l'infinie.

La nom des balises doit respecter les règles suivantes :

Ainsi, l'exemple suivant est aussi valide que n'importe quel autre nom que vous choisissez :

<gladir>
</gladir>

Dans chacune des balises ont peut insérer des paramètres, appelé attribut. Il doivent être indiquer dans la première balise (balise d'ouverture) et séparé d'au moins un espace du nom de la balise. La syntaxe des paramètres «value» oblige a remplacer les caractères «"» et «&» par des «&quot;» et des «&amp;».

L'intérieur d'une balise

Le contenu situé à l'intérieur d'une balise peut-être soit d'autres balises, du texte ou des nombres. Dans le cas d'un contexte de texte, malheureusement, les caractères accentués ou autres sont souvent mal interprété ! Pour résoudre le problème, il faut les mettre à l'intérieur d'une balise spéciale «<![CDATA[» et «]]>» afin qu'il soit compris correctement. Aussi étrange que cela puisse paraître le contenu à l'intérieur de cette balise sera hérité par la balise parente. Voici un exemple typique de son utilisation :

<?xml version="1.0" encoding="iso-8859-1" ?>
<content>
<description>>![CDATA[ Cet exemple contient des mots accentués.]]></description>
</content>

Lorsqu'une balise n'a pas de contenu, on peut indiqué seulement une seule balise plutôt que deux en indiquant une barre oblique (/) avant le caractère «>» de la balise. Voici un exemple valide équivalent d'un «<br></br>» :

<br />

Entité

Certains caractères spéciaux ne peuvent pas être écrit directement en XML, il faut donc les remplacé par des entités. Voici les 5 entités prédéfinies du XML :

Entité Caractère Description
&lt; < Inférieur à
&gt; > Supérieur à
&amp; & Le caractère «Et»
&apos; ' L'apostrophe
&quot; " Le double guillemet

On peut définir manuellement d'autres entités à l'aide de balises DTD (Document Type Definition), si les entités prédéfinies ne correspondent pas à vos besoins.

Remarques

Exemple combiné

L'exemple suivant, en langage de programmation PHP, permet de remplacer les caractères spéciaux (entités) en leur encodage respectif :

  1. <?php
  2. /* ... */
  3. echo '<texte value="' . strtr("Mon texte", array('&' => '&amp;','"' => '&quot;')) . '"/>';
  4. /* ... */
  5. ?>


Dernière mise à jour : Vendredi, le 8 août 2017