Conversion XHTML
Conversion du HTML en XHTML
XHTML propose trois niveaux de conversions:
• Strict: le code doit être parfaitement conforme avec les recommandations du W3c.
• Transitional: un code intermédiaire, moins strict que le premier donc plus simple.
• Frameset: un code "intermédiaire" qui utilise la technique HTML des cadres.
Pour définir l'utilisation d'un de ces trois niveaux, on utilise la balise HTML "DOCTYPE" (Déclaration de TYPE de DOCument) qui définit le type de langage utilisé, sa version et l'URL du document de référence à utiliser (le DTD). Note: Sans DOCTYPE, un document HTML n'est pas valide et la plupart des navigateurs qui visualise votre document passe en mode "quirk" (soit mode "nimportequoi")
Exemple de déclaration de Type de Document STRICT en XHTML 1.0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head></head><body>patali, patala...</body></html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head></head><body>patali, patala...</body></html>
En XHTML Strict, il est recommandé d'utiliser comme ci-dessus la balise racine "html" avec les attributs "xmlns" (xmlNameSpace: permet d'éviter les double-sens sur des noms de balises), "xml:lang" et "lang".
Exemple de déclaration de Type de Document Transitional en XHTML 1.0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head></head><body>patali, patala...</body></html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head></head><body>patali, patala...</body></html>
Si vous voulez utiliser le dernier module XHTML 1.1 (de type Strict)
Exemple de déclaration de Type de Document STRICT en XHTML 1.1
<DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head></head><body>patali, patala...</body></html>
<DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head></head><body>patali, patala...</body></html>
En XHTML 1.1, il est interdit d'utiliser deux fois les attributs xml:lang et lang. C'est par contre obligatoire en XHTML 1.0 Strict.
Pour transformer votre code HTML en XHTML, il vous faudra, non seulement utiliser la balise DOCTYPE, mais aussi écrire toutes vos balises HTML en minuscule et refermer toutes les balises ouvertes même vides. Exemple: <br> devient <br />.
Une fois votre page en ligne, faîtes vérifier par le W3c (via son Markup Validation Service) la bonne correspondance entre votre code et les définitions de son utilisation contenues dans le DTD. Si celles-ci ne sont pas parfaite, le W3c vous affiche les erreurs à corriger.