Experts en commerce électronique et solutions Web

On parle  souvent de doctype, de l’impact que ça a sur l’affichage d’une page, des différences d’interprétation entre les navigateurs, des versions du HTML… mais en bout de ligne c’est quoi un doctype ?

 

C’est un interprète pour le W3C

Un doctype c’est en fin de compte une sorte de grammaire qui indique au navigateur comment interpréter le code HTML de la page. C’est également cette grammaire qui servira au validateurs du W3C pour déterminer si votre document respecte le standard. Voici un exemple de doctype :

 <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”

 ”http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>

La seconde ligne de la balise pointe vers la grammaire en question. De façon régulière, ce document est hébergé sur le site du W3C, mais notez que vous pourriez faire pointer cette adresse sur un de vos serveurs sans problème. En fait le navigateur n’utilise pas la DTD pour valider le fichier HTML/XHTML donc il ne télécharge pas la DTD.  Donc le doctype suivant est aussi valide bien qu’il ne référence pas l’URL du fichier de DTD.

 <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”>

Un parser XHTML ou un validateur, lui, se servira généralement de la DTD pour valider la forme du fichier. (Le W3C éprouve d’ailleurs des problèmes car plusieurs logiciels téléchargent inutilement les DTD causant du trafic inutile : http://www.w3.org/2005/06/blog/systeam/2008/02/08/w3c_s_excessive_dtd_traffic )

 

C’est un guide pour le navigateur

La ”grammaire” du doctype indique au navigateur tout ce qu’il doit savoir sur le document :

  • Les événements supportés :

<!ENTITY % events

 ”onclick     %Script;       #IMPLIED

  ondblclick  %Script;       #IMPLIED

  onmousedown %Script;       #IMPLIED

  onmouseup   %Script;       #IMPLIED

  onmouseover %Script;       #IMPLIED

  onmousemove %Script;       #IMPLIED

  onmouseout  %Script;       #IMPLIED

  onkeypress  %Script;       #IMPLIED

  onkeydown   %Script;       #IMPLIED

  onkeyup     %Script;       #IMPLIED”

  >

  • Les types de listes :

<!ENTITY % lists “ul | ol | dl | menu | dir”>

  • La liste des attributs acceptés par une balise et les valeurs par défaut :

<!ELEMENT iframe %Flow;>

<!ATTLIST iframe

  %coreattrs;

  longdesc    %URI;          #IMPLIED

  name        NMTOKEN        #IMPLIED

  src         %URI;          #IMPLIED

  frameborder (1|0)          “1″

  marginwidth %Pixels;       #IMPLIED

  marginheight %Pixels;      #IMPLIED

  scrolling   (yes|no|auto)  “auto”

  align       %ImgAlign;     #IMPLIED

  height      %Length;       #IMPLIED

  width       %Length;       #IMPLIED

  >

Il existe des tonnes de doctypes (http://www.w3.org/QA/2002/04/valid-dtd-list.html) qui indiqueront à votre navigateur les règles à suivre pour comprendre votre document.

No related posts.

Tags: ,

Leave a Reply