Il doctype
Finora ho volutamente tralasciato l'analisi della prima riga di una pagina
HTML (quella che consente di specificare di che tipo di documento si tratta). Il
<!DOCTYPE> assume un aspetto di questo genere:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"
http://www.w3.org/TR/html4/loose.dtd>
Questa riga fornisce alcune informazioni sul documento:
- HTML: il tipo di linguaggio utilizzato è l'HTML
- PUBLIC: il documento è pubblico
- W3C: il documento fa riferimento alle specifiche rilasciate
dal W3C
- - (è il segno "meno"): le specifiche non sono registrate
all'ISO (organizzazione di standardizzazione internazionale). Se lo fossero
state, ci sarebbe stato un "+"
- DTD HTML 4.01 Transitional: il documento fa riferimento a
una DTD ("Document Type Definition" cioè "Definizione del tipo di documento");
la versione di HTML supportata è la 4.01 "transitional"
- EN: la lingua con cui è scritta la DTD è l'inglese
Inoltre, se necessario, è possibile specificare l'indirizzo di riferimento a
cui è possibile trovare la DTD: per l'HTML non lo si fa quasi mai, perché gli
URL a cui trovare la documentazione sono universalmente noti.
Per quel che riguarda l'HTML le indicazioni possibili sono tre:
- Strict: è una DTD particolarmente rigorosa: esclude ogni
elemento che riguarda il layout (la cui formattazione è affidata all'utilzzo dei
CSS) e non è consentito l'uso degli elementi deprecati:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Strict//EN"
http://www.w3.org/TR/html4/strict.dtd>
- Transitional: è una versione temporanea, per consentire il
passaggio da una specifica all'altra. Nella DTD transitionali tag deprecati sono
ammeesi. Questa DTD andrà bene nella maggior parte dei casi:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"
http://www.w3.org/TR/html4/loose.dtd>
- Frameset. È la DTD che riguarda i frames:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Frameset//EN"
http://www.w3.org/TR/html4/frameset.dtd>
Nelle ultime versioni il tipo di <!DOCTYPE> utilizzato influisce sulla visualizzazione della pagina da parte del browser. Tale tecnica, chiamata <!DOCTYPE> switch, è una delle principali cause di visualizzazione delle pagine sul Web. A questo argomento HTML.it ha dedicato un lungo e dettagliato approfondimento nell'articolo Il <!DOCTYPE> ed il <!DOCTYPE> switch nei moderni browser