XHTML
Un article de Wikipédia, l'encyclopédie libre.
XHTML est un langage de balisage servant à l'écriture de pages du World Wide Web. Conçu à l'origine comme le successeur de HTML, XHTML se fonde sur la syntaxe définie par XML, plus récente et plus simple que la syntaxe définie par SGML sur laquelle repose HTML.
Sommaire |
[modifier] Le nom XHTML
Comme de nombreux langages basés sur XML, celui-ci commence par la lettre X, qui représente le mot eXtensible. Ainsi le premier document décrivant officiellement XHTML s'appelle XHTML™ 1.0 The Extensible HyperText Markup Language[1] (« XHTML 1.0 Le langage de balisage hypertexte extensible »). C'est cependant l'abréviation XHTML qui est une marque[2] du World Wide Web Consortium (W3C) et qui est seule utilisée dans les spécifications qui ont suivi la version 1.0.
[modifier] XHTML, évolution de HTML
XHTML 1.0 est une simple reformulation de HTML 4 en application de XML 1.0. Il s'agit donc uniquement d'un changement de syntaxe, aucune fonctionnalité n'ayant été ajoutée ou retirée. La conversion d'un document en HTML 4.01 conforme en XHTML 1.0 peut se faire automatiquement sans perte d'information.
[modifier] Conversion de HTML en XHTML
Cet exemple illustre les différences syntaxiques les plus courantes entre un document écrit en HTML 4 et en XHTML 1.0.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title>
Exemple HTML 4</title>
<ul>
<li>
Des éléments comme HTML, HEAD et BODY sont implicites, leurs balises ouvrantes et fermantes sont optionnelles.</li>
<li>
De nombreuses balises fermantes sont optionnelles, notamment pour P (paragraphe) et LI (entrée de liste).
<li>
Les noms d'éléments et d'attributs peuvent <EM Class="important">
librement</Em>
mélanger majuscules et minuscules.</li>
<li>
Certains attributs ont une valeur par défaut <input type="checkbox" checked value="...">
.</li>
<li>
Les guillemets ne sont pas <em class=important>
toujours</em>
obligatoires autour des valeurs d'attribut.</li>
<li>
Les éléments vides n'ont pas de syntaxe fermante <img src="i.png" alt="i">
.</li>
</ul>
A l'inverse de la syntaxe HTML permissive ci-dessus, le même document doit être « bien formé »[3] pour respecter les règles d'écriture du XHTML :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Exemple XHTML 1.0
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
Tous les éléments doivent être explicitement balisés.
</head>
<body>
<ul>
<li></li>
Les balises fermantes ne sont pas optionnelles.
<li></li>
Les noms d'éléments et d'attributs
<li><em class="important">
doivent</em>
être en minuscules.</li>
Tous les attributs doivent avoir une valeur explicite
<li><input type="checkbox" checked="checked" value="..." />
.</li>
Les guillemets sont
<li><em class="important">
toujours</em>
obligatoires autour des valeurs d'attribut.</li>
Les éléments vides doivent être fermés
<li><img src="i.png" alt="i"/>
.</li>
</ul>
</body>
</html>
[modifier] Modularisation de XHTML
Les évolutions suivantes divisent le langage XHTML en modules, chacun regroupant un type de fonctionnalités. Cette division est conçue pour permettre d'étendre le format, ou à l'inverse d'en tirer des sous-ensembles adaptés à des contextes spécifiques. Ainsi:
- XHTML1.1 enrichit XHTML1.0 avec l'élément
ruby
permettant d'ajouter des annotations aux textes écrits dans les langues idéographiques (japonais, hébreu, chinois...) - XHTML BASIC est un sous-ensemble simplifié, destiné à l'adaptation des contenus aux clients légers (mobiles)
[modifier] Développements en cours
XHTML 2.0 est en cours de développement. Il ne sera pas compatible en ascendance et en descendance, notamment à cause de l'introduction de XForms et de XFrames.
[modifier] Document Valide XHTML
Pour qu'un document soit valide XHTML, il doit avoir une déclaration de type (DOCTYPE) et un encodage (souvent en ISO) conforme aux spécifications du W3C.
[modifier] Prologue en XML
Le prologue XML n'est requis que dans certaines conditions d'encodage (jeu de caractères autre qu'UTF-8 en particulier), et lorsque le document est traité en tant que document XML (type de contenu application/xhtml+xml). Il n'est donc pas nécessaire pour la plupart des documents XHTML 1.0, sachant qu'il entraîne par ailleurs dans le navigateur web Internet Explorer 6.0 Windows un mode d'interprétation problématique des Cascading Style Sheets et des scripts JavaScript.
En fonction du jeu de caractères retenu, le document peut donc commencer par l'instruction suivante mise en première ligne :
<?xml version="1.0" encoding="iso-8859-1"?>
Quelques exemples de Déclaration de Type de Document en XHTML :
XHTML 1.0 Strict
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
XHTML 1.0 Transitional
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
[modifier] Déclaration XMLNS
La redondance des attributs xml:lang et lang n'est requise qu'en cas de document XHTML 1.0 traité en tant que document text/html, selon les recommandations (non normatives) de compatibilité XHTML/HTML. On écrira alors :
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
Dans un document XHTML 1.0 traité en tant que document application/xhtml+xml ou dans un document XHTML 1.1 et au-delà, on écrira obligatoirement :
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
[modifier] Notes et références
[modifier] Voir aussi
[modifier] Liens externes
- Catégorie HTML de l’annuaire dmoz. recouvre également le thème du XHTML
[modifier] Documents du W3C (en anglais)
- XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition), recommandation du W3C, 26 janvier 2000 (1re édition), 1er août 2002 (2e édition)
- XHTML™ 1.1 Basic, recommandation (candidate) du W3C, 13 juillet 2007
- Modularization of XHTML™ 1.1, document de travail du W3C, 5 juillet 2006
- XHTML™ 1.1 - Module-based XHTML (Second Edition), document de travail du W3C, 31 mai 2001 (1re édition) 16 février 2007 (2e édition)
- XHTML™ 2.0, document de travail du W3C, 26 juillet 2006
[modifier] Traductions des recommandations du W3C
- XHTML 1.0 : Le langage de balisage hypertexte extensible
- XHTML élémentaire
- XHTML™ 1.1 - XHTML modulaire
[modifier] Outils de validation
- Validator du W3C (version anglaise)
- Validome validateur francophone
- Validateur Multipages francophone