TUTORIELS 
XHTML: entre XML et HTML
XHTML est, en quelque sorte, la reformulation du langage HTML en termes d'application d'XML. Le but est simple: bénéficier de la souplesse (eXtensible) et de la rigueur du second en s'appuyant sur l'universalité du premier.  (19 mars 2001)
 

Le langage XHTML représente la prochaine génération du langage HTML (actuellement dans sa version 4): il en reprend la quasi-totalité des balises, mais son architecture en fait une application XML (de l'XML "présentable", dirons-nous, signifiant par là que les documents XHTML ont une structure de présentation). Rappelons-nous (voir l'article suivant) que les documents XML s'appuient sur une définition de type de document (DTD). Pour l'XHTML, trois DTDs sont disponibles: "Strict", "Transitional" et "Frameset". On écrira, respectivement:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "DTD/xhtml1-frameset.dtd">

A noter que le consortium W3 travaille à remplacer les DTD (issues du SGML) par des "schémas XML".

XHTML/XML: les différences
XHTML se distingue du langage HTML sur les points suivants:

- toutes les balises doivent être en minuscule;
- les élements imbriqués sont possibles, mais sans "chevauchement" (ainsi, <p><b>...</b></p> est permis, pas <p><b>...</p></b>);
- les balises "non vides" doivent être fermées (ainsi de <p>, <td>, <tr>, dont on pouvait omettre la fermeture en HTML 4);
- les balises "vides" (comme <img>) doivent être fermées (on écrira <img source="image.gif" />, <hr />, <input type="submit" value="ok" />, etc.);
- les valeurs des attributs de balise doivent être placées entre guillements (ce qui était facultatif en HTML 4);
- enfin, les "raccourcis" du type <td nowrap> au lieu de <td nowrap="nowrap"> ne sont plus permis.

Par ailleurs, les scripts Javascript ou CSS devraient être importés plutôt qu'imbriqués directement dans le document XHTML, ceci pour éviter tout risque "d'expansion" de certains marqueurs spécifiques par le processeur XML.
On le voit, tout document HTML "mal formé" (au sens de l'XML) n'est potentiellement pas candidat à être un document XHTML. Ce souci de rigueur est aussi la condition de compatibilité avec l'XML, langage "extensible" puisqu'il est possible de définir ses propres balises. Le XHTML, de par sa définition, n'échappe pas à cette règle. Par ailleurs, imposer une structure rigoureuse aux documents HTML ajoute à leur universalité, et rend leur compréhension par diverses internet appliances moins hasardeuse.

Structure type d'un document XHTML
La structure type d'un document XML est la suivante (par exemple):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Exemple</title>
</head>
<body>
<p>
<a href="http://www.journaldunet.com">Journal du Net</a>
</p>
</body>
</html>

Pour plus d'informations sur XHTML, consultez la page suivante: http://www.w3.org/TR/xhtml1/

 
[ Jérôme MorlonJDNet
 
Accueil | Haut de page