Le langage HTML/XML et XHTML

Un livre de Wikilivres.

Consultez également ces pages dans d’autres projets Wikimedia :

Article encyclopédique sur Wikipédia.
Ressources éducatives sur Wikiversité.


XML[modifier | modifier le wikicode]

Le balisage HTML autorise une souplesse de syntaxe :

  • ouvrir une balise sans la fermer,
  • donner la valeur d'un attribut entre guillemets, apostrophes ou sans délimiteurs (un seul mot),
  • ...

Ces problèmes sont gérés par l'interpréteur du navigateur. La gestion de ces erreurs de syntaxe dépend donc du navigateur.

La syntaxe du XML n'autorise pas les erreurs ; elles sont signalées par le navigateur. Un fichier utilisant la syntaxe XML avec des balises HTML utilise en fait le format XHTML.

Avec les navigateurs supportant le format XML, il est possible d'écrire des pages en XML sans utiliser de balises HTML (exemple : <paragraph>, <section>, ...), et d'utiliser une feuille de transformation XSL pour convertir le fichier XML en page HTML.

Certaines balises utilisées en HTML font directement de la mise en forme, ou font un lien vers une feuille de style CSS particulière :

<div class=noprint>
Le contenu de ce tableau ne sera pas affiché à l'impression.
</div>

XHTML[modifier | modifier le wikicode]

Le format XHTML utilise les balises du HTML avec la syntaxe plus stricte du XML :

  • Les attributs doivent tous avoir une valeur,
  • La valeur des attributs doit obligatoirement être encadrée par des guillemets,
  • Toute balise ouverte doit être fermée,
  • Une balise vide peut utiliser la syntaxe <balise/>.

Cependant les navigateurs ne supportent pas toutes ces règles pour toutes les balises :

  • La syntaxe raccourcie pour les balises vides ne fonctionne qu'avec les balises fermées implicitement en HTML c'est à dire qui ne sont pas censées avoir de contenu :
<br/> <hr/> <img/>
  • Les autres balises doivent avoir une ouverture et une fermeture explicites, même vides :
<p></p> <div></div>
Autrement, la syntaxe raccourcie peut être mal interprétée par le navigateur, par exemple comme une balise d'ouverture, ce qui perturbe tout ce qui la suit.