- · Niveau : INTERMÉDIAIRE
- · Compatibilité : Navigateur 5 +
Maintenant que vous savez qu’est-ce que mange le XHTML, pourquoi ne pas faire un fichier XHTML 1.0 conforme. L’exemple suivant utilise le DTD « Document Type Definition » Transitional. On y retrouve dans l’ordre, la balise XML qui indique un fichier XML, la définition du jeu de caractère ou « character set » puis le « DOCTYPE » et son DTD associé.
Le " character set "
La première ligne d’un document XHTML indique au navigateur le jeu de caractère, par défaut le XHTML utilise " Unicode’s UTF-8 ou UTF-16 " mais il arrive qu’un navigateur force un autre jeu. Vous avez deux options, faire votre déclaration avec une balise XML ou utiliser une balise méta.
<?xml version="1.0" encoding="iso-8859-1"?>
(La balise méta dans le <head>)
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />
ou
<?xml version="1.0" encoding="UTF-8"?>
(Unicode sera le prochain standard)
Personnellement je mets la balise XML et la balise méta. Dans la plupart des cas, le XML n’est pas interprété alors le navigateur utilise la balise méta. Par contre, une version 2, 3 ou 4 peut afficher la balise XML en haut de la page. Vous pouvez la supprimer mais elle sera nécessaire pour les prochaines générations.
Le "Document Type Definition" (DTD)
Bien que vous puissiez installer le document DTD sur votre serveur, il est conseiller d’utiliser les DTDs de la W3C. Il faut donner au navigateur le URL du DTD.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
ATTENTION aux majuscule/minuscule. Pour un document en anglais, changer le FR pour EN…
La déclaration type d’une page XHTML 1.0 transitionnel :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
Tous vos documents doivent commencer par ces lignes. Pour le reste, il ne s’agit que des règles XHTML précises à respecter. L’en-tête est spécifique pour la langue française mais votre document peut en contenir d’autre pourvu qu’il soit déclarée : voir les spécifications ISO 639 pour les différents langages.
Un texte peut aussi contenir un langage autre que celui défini pour le document. Exemple :
<span lang="it" xml:lang="it">Italiano...</span>
Lire "Il est temps de passer au XHTML 1.0" pour connaître les règles XHTML
Exemple complet
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Page XHTML</title>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<table width="100%" border="0" summary="Mon logo">
<tr><td align="right">
<img src="logo.png" alt="logo" />
</td></tr>
</table>
<p align="center">Le HTML qui respecte les règle XHTML<br />
Ma première page XHTML</p>
</body>
</html>
Je vous recommande de valider votre HTML 4.01 et vos feuilles de styles (CSS) avant de procéder à la validation XHTML 1.0
Validation XHTML 1.0
Si vous avez des centaines de pages à convertir, le W3C offre un service gratuit, "HTML Tidy", qui permet d’indenter votre code, transforme les balises en minuscule et ajoute ou détruit des entités. N’oubliez pas de faire valider votre code par la suite même si vous utilisez ce service.
Pour tester votre code afin de vous assurer qu’il est bien conforme aux normes XHTML, utiliser le logiciel gratuit "xmllint" qui vient avec la librairie libxml. Pour l’utiliser, entrer cette commande :
xmllint --valid --noout document.html
Finalement, aller directement sur le site du W3C, http://validator.w3.org/ pour faire la validation finale.