Utilisation de XHTML et des CSS
Le langage XHTML
Depuis le 26 janvier 2000, le XHTML est la nouvelle norme du W3C en matière de langage balisé pour concevoir des documents Web. Le XHTML est une reformulation du HTML en XML, ce qui veut dire qu'il respecte les règles strictes du XML tout en conservant certaines caractéristiques et balises du HTML 4.0
XHTML est donc un langage de balise permettant de décrire le contenu d'un site web.
Différences par rapport à HTML
Les différences entre le XHTML et le HTML sont surtout visibles au niveau des règles d'écriture des documents. Le langage HTML étant assez permissif au niveau de l'écriture des balises, XHTML va définir de nombreuses règles pour clarifier l'écriture des balises :
- Chaque balise nécessite une fermeture :
<p>Ceci est un paragraphe</p> et non plus <p>Ceci est un paragraphe
- Les balises sans balise fermante nécessitent aussi une fermeture plus directe.
Il n'existe pas de balise img fermante donc on fermera cette balise de cette façon:<img src="" alt="" />
- Imbriquer correctement les balises : quand on ouvre une série de balises en cascades, (les unes à l'intérieur de l'espace de définition des autres), il faut obligatoirement les refermer dans l'ordre inverse de l'ordre d'ouverture pour respecter la structure logique interne du document. Il faut toujours voir une balise HTML comme étant incluse dans une autre balise qui lui sert de parent.
- Utiliser des minuscules dans les balises et leurs attributs
La balise <H1> n'existe plus il faut la déclarer de cette façon : <h1>
- Chaque valeur d'attribut doit être entre guillemets.
- Les formes abrégées d'attributs sont interdites
- L'attribut "name" est remplacé par l'attribut "id"
Conformité et type de document
Afin d'être conforme aux normes XHTML, outre les spécificités de syntaxe XML décrites précédemment, un document doit respecter les règles suivantes :
Prologue XML et encodage de caractères
La déclaration XML est une composante recommandée du document XHTML. Cette déclaration l'identifie en effet comme appartenant au cadre XML et en décrit la version.
Utilisation de la déclaration de type de document
Le document doit respecter les normes de validation d'une des trois DTD XHTML : strict, transitional ou frameset. Une déclaration de type de document doit apparaître dans le document juste avant l'élément html (qui est l'élément racine de tout document XHTML).
- La DTD stricte (strict) n'autorise pas l'utilisation des anciens éléments de présentation (s, u, etc.) mais elle a l'avantage de contraindre le développeur à séparer structure et présentation, avec les facilités de maintenance que cela apporte.
- La DTD transitionnelle (transitional) est plus permissive et plus proche des anciennes habitudes liées à HTML. Les balises dépréciées en XHTML strict y sont autorisées : le recours à cette DTD est donc plus facile dans un premier temps, mais avec le défaut de mêler encore partiellement structure et présentation.
- La DTD frameset permet l'utilisation de cadres. Ceux ci sont de moins en moins utilisés, mais peuvent se révéler utiles dans certains cas exceptionnels
Exemple des déclarations des DTD
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
Elément racine du document XHTML
L'élément racine d'un document doit impérativement être l'élément html et celui-ci se doit d'avoir un espace de nom (namespace) utilisant l'attribut "xmlns" et une déclaration de la langue utilisée principalement dans le document. Par exemple :
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">