La DTD est une description formelle des balises et attributs autorisées et de leurs imbrications possibles.
Ainsi la DTD XHTML précise que les balises <html> <head> et <body> sont obligatoires. La balise body ne peut contenir que des éléments de blocs .
Le type du document (la DTD) doit être précisé au début grâce à la balise <!DOCTYPE>
Informer le navigateur de la nature du document afin qu'il adapte son interprétation en conséquence.
Permettre la validation du document. Un document est valide si il est conforme a sa DTD (Document Type Défintion).
De même qu'en HTML, il existe trois versions du XHTML
L'objectif du XHTML est de faciliter la séparation d'un contenu de sa présentation, le contenu étant codé en XHTML et la présentation par des feuilles de styles CSS. Dans une pareille optique les balises et attributs dévolus à la présentation ne doivent plus être tolérés. Cependant afin de faciliter la transition entre HTML et XHTML, la version "transional" tolére les balises et attributs de présentation.
Le XHTML transitional reprend les balises et attributs HTML en imposant les règles de structuration et de syntaxe du XML présenté dans la rubrique précédente.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Dans sa version stricte, XHTML interdit l'utilisation de balises de présentation. Ainsi les éléments suivants sont proscrite en XHTML strict.
De même, certains attributs de mise en forme sont avantageusement remplaçés par des propriétés CSS. Ainsi l'attribut "align" est désormais remplaçé par la propriété CSS "text-align" de l'élément correspondant. De même l'attribut "bgcolor" n'est plus utilisable en XHTML strict, supplanté par la propriété CSS "background".
Pour plus de détails quant aux restrictions de la version stricte de XHTML :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Comme son nom l'indique, cette version du XHTML est utile à l'élaboration de page construites sur la base de cadres à la mode des années 90. Cette technique présentant de nombreux défauts, en particulier pour le référencement n'est donc pas souhaitable.La créatiuon de pages dynamiques construites à la volée coté serveurs, pouvant aisement combiner plusieurs fichiers, procure les mêmes avantages que l'usage de cadres sans hériter des défauts de cette méthode devenue obsolète.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">