www.webelix.net

[ XHTML ]


DTD (Document Type Declaration)

Une des particularités des langages de la famille du XML est de pouvoir définir ses propres balises par l'intermédiaire d'un DTD.
La référence à un DTD est indispensable car il contient la liste et la définition des balises utilisées dans le document.
Le DTD est la seconde ligne d'un document XHTML.

Le document XHTML

Voici un document type XHTML.

<?xml version="1.0" encoding="UTF-8"?>

La première ligne rappelle que le XHTML est issu du XML et en reprendra la syntaxe.
On en profite généralement pour notifier le "character set" qui indique au navigateur le jeu de caractères utilisé.
Par défaut, le XHTML utilise les Unicodes UTF-8 ou UTF-16, mais il arrive qu'on souhaite utiliser un autre jeu de caractères.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Le fameux DTD propre au type de XHTML utilisé (Strict, Transitional ou Frameset). On respectera scrupuleusement les majuscules et les minuscules.
Pour un document en anglais, on changera le FR par EN.

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">

Le document XHTML commence avec la balise <html> qui comporte différents attributs.
L'attribut xmlns="..." renvoie aux "namespaces" [d'où le ns] ou "espaces de nom" utilisés par le XML pour un référentiel des noms qui sera utilisé par le compilateur XML.
Le W3C recommande aussi d'identifier la langue utilisée pour le document avec la mention xml:lang="xx".
L'attribut lang="xx" n'est là que pour assurer la compatibilité avec les anciens navigateurs.

<head>
  <title> titre du document </title>
  <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />
</head>

Les balises <head> doivent nécessairement contenir un titre <title>.

La balise meta :<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" /> est facultative lorsque le jeu de caractères a été défini par <?xml version="1.0" encoding="UTF-8"?>.
Elle est cependant conseillée pour des raisons de compatibilité car balise XML risque de ne pas être interprétée par le navigateur.
Par contre la balise meta, quand à elle, le sera de toute façon.

Les autres balises meta du HTML 4.0 sont admises pour autant qu'elles se terminent par un slash de fin.

<body>
  corps du document
</body>

Dans le body, vous encodez les balises comme le HTML 4.0 en respectant les règles de syntaxe du XHTML comme détaillé au point précédent.

</html>

Fin du document XHTML. Cette balise de fin est indispensable.