Web Design  »  Articoli  »  Web design 

Il <!DOCTYPE> ed il <!DOCTYPE> switch nei moderni browser

di: Marcello Cerruti     31 Marzo 2003

Introduzione

In questo articolo vi parleremo del <!DOCTYPE> switch (lo 'scambio del Doctype'), ossia una modalità di interpretazione del codice prevista dai browser di ultima generazione che ogni svluppatore di siti Web dovrebbe conoscere. È bene sapere che la funzione di <!DOCTYPE> switch impone allo sviluppatore scelte e soluzioni mai emerse in precedenza dunque è consigliabile leggere questo e il prossimo articolo per comprendere bene quali tecnologie e comportamenti vi sono alla base.

Prima di entrare nel vivo dell'argomento vi forniamo una quadro degli argomenti che tratteremo in modo da rendere più agevole la navigazione nell'articolo.

Prima Parte

  • Premessa su cosa è il <!DOCTYPE>.
  • Breve storia del <!DOCTYPE> switch per far comprendere meglio come si arrivati ad adottare queste soluzioni.
  • I Browser e il loro supporto al <!DOCTYPE> switch.

Seconda Parte

  • La lista delle principali differenze di visualizzazione tra i due <!DOCTYPE>.
  • Uno strumento di lavoro: due tabelle che mostrano le modalità assunte dei vari browser in base al <!DOCTYPE> scelto.
  • Uno strumento di lavoro: test per verificare in che modalità funzionerà un documento.
  • Un'estensione per Dreamweaver MX che consente agli utenti di questo editor di scegliere il <!DOCTYPE> più appropriato.

Premessa: cosa è il <!DOCTYPE>

I documenti SGML (Standard Generalized Markup Language) devono conformarsi, come i loro predecessori non standard, ad una DTD (Document Type Definition). Il consorzio per gli standard del web, W3C, ha esplicitamente definito l'HTML - a partire dalla versione 3.2 - come un'applicazione SGML che, pertanto, deve aderire agli standard internazionali ISO 8879.

La DTD di un documento (X)HTML definisce i marcatori (tag) e la sintassi utilizzata per creare il documento stesso.

Una pagina (X)HTML valida deve dunque contenere il <!DOCTYPE> (o Document Type Declaration) che ne dichiara la versione ed la relativa DTD cui è conforme.

Il <!DOCTYPE> è quel piccolo pezzo di codice che precede tutti i tag di un documento (X)HTML.

Vediamo in dettaglio come è composto, ad esempio, il <!DOCTYPE> completo per l'HTML Transitional versione 4.01:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

La prima parte, o TopElement, definisce il tipo di documento SGML dichiarato, ovvero HTML.

Il secondo elemento, Availability, specifica se il FPI (Formal Public Identifier) è un oggetto pubblicamente disponibile, come in questo caso: PUBLIC, oppure SYSTEM nel caso di una risorsa di sistema come un file locale o un URL.

La Registration indica se l'organizzazione che ha definito il <!DOCTYPE> è registrata all'ISO. I valori che la Registration può assumere sono + nel caso di registrazione o - quando il nome dell'organizzazione non è registrato all'ISO. Il W3C (World Wide Web Consortium) e la IETF (Internet Engineering Task Force), ad esempio, non sono organizzazioni registrate all'ISO.

La Organization indica l'organizzazione che ha creato e mantiene il DTD cui si riferisce la <!DOCTYPE> declaration (in questo caso il W3C).

Il Type specifica il tipo di oggetto cui si riferisce il <!DOCTYPE>, ovvero un DTD

La Label si riferisce al nome del testo referenziato dal DTD e ne può contenere anche la versione (nell'esempio HTML 4.01).

La Definition indica la definizione del tipo di documento. Nell'HTML 4.0 e 4.01, nonché nell'XHTML 1.0 esso può assumere tre valori: Strict, Transitional e Frameset:

  1. Strict esclude gli elementi di presentazione per tag ed attributi che vengono affidati ai CSS
  2. Transitional comprende tag ed attributi "deprecati" a carattere presentazionale
  3. Frameset viene utilizzato quando una pagina viene suddivisa in frames, al posto dell'elemento body si trova l'elemento frameset, ma per il resto è identica alla Definition Transitional

In ulteriori versioni dell'XHTML, ovvero 1.1 e Basic, non vengono definiti valori per il tipo di documento. XHTML 1.1 è un'ulteriore evoluzione dell'XHTML 1.0 Strict. XHTML Basic è un'insieme ridotto dell'XHTML progettato per quegli strumenti che non supportano tutte le caratteristiche dell'XHTML, quali telefoni cellulari e PDA.

Language specifica la lingua utilizzata (nel caso dell'(X)HTML l'inglese, EN) che viene espressa con una sigla di due lettere maiuscole.

Infine l'URI specifica dove si trova l'oggetto (DTD) in questione. In questo caso http://www.w3.org/TR/html4/loose.dtd (loose e transitional in questo contesto sono sinonimi).

Guide Web design

Guida Architettura dell'Informazione

L'Architettura dell'informazione è la disciplina che permette di...

Guida Accessibilità dei siti Web pratica

La guida per progettare siti ad elevata accessibilità vi permetterà...

Guida Accessibilità dei siti Web teorica

Questa guida è finalizzata sostanzialmente a una conoscenza e a una...

Altre guide

Newsletter @Grafica e Web Design

Ogni settimana, direttamente nella tua e-mail: guide, articoli, tutorial e FAQ su Web Design e grafica per il Web.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Design e Usabilità dei siti

15 Febbraio 2010 a Milano
Disponibilità: 6 Posti

Corso Accessibilità siti Web

22 Marzo 2010 a Milano
Disponibilità: 7 Posti

Corso Accessibilità siti Web

01 Marzo 2010 a Roma
Disponibilità: 8 Posti