di: Marcello Cerruti 31 Marzo 2003
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.
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:
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).
Guida Architettura dell'InformazioneL'Architettura dell'informazione è la disciplina che permette di... |
Guida Accessibilità dei siti Web praticaLa guida per progettare siti ad elevata accessibilità vi permetterà... |
Guida Accessibilità dei siti Web teoricaQuesta guida è finalizzata sostanzialmente a una conoscenza e a una... |
Ogni settimana, direttamente nella tua e-mail: guide, articoli, tutorial e FAQ su Web Design e grafica per il Web.
Iscriviti alla newsletter
|
|
Corso Design e Usabilità dei siti15 Febbraio 2010 a Milano |
|
|
Corso Accessibilità siti Web22 Marzo 2010 a Milano |
|
|
Corso Accessibilità siti Web01 Marzo 2010 a Roma |