Upload
corso-grafica-e-web-design
View
224
Download
0
Embed Size (px)
DESCRIPTION
Â
Citation preview
Il linguaggio HTML:
comprendere e rispettare
gli
standard W3C
Introduzione
In questa unità analizzeremo brevemente la storia e l’evoluzione del
linguaggio HTML e le differenze di questo rispetto all’XHTML.
In questo modo sarà possibile fare più chiarezza sulle caratteristiche
stesse dei diversi linguaggi di markup, sui requisiti e sugli standard di
riferimento che la marcatura (X)HTML deve rispettare nella
realizzazione di ogni documento per la rete pubblica.
Introduzione del linguaggio HTML
Dal primo utilizzo di questo linguaggio di markup, da parte di Tim
Berners-Lee nel 1991, sono state sviluppate diverse versioni
dell’HTML.
Il prototipo di questo linguaggio venne prodotto nei laboratori di
fisica del CERN, allo scopo di condividere facilmente i numerosi
documenti di ricerca, attraverso un sistema di ipertesti.
Per questo motivo venne sviluppato un primo “linguaggio di
marcatura” chiamato SGML (Standard Generalized Markup
Language): la base dei futuri HTML e HTML 2.0.
In questo prototipo di linguaggio di markup vennero inizialmente
introdotti alcuni elementi e marcature di base come ad esempio p, h1-
h6 e l’ancora (a), necessaria per aggiungere i collegamenti
ipertestuali.
Nel 1994, la Mosaic Communication introdusse il browser conosciuto
come Netscape. Il maggior contributo di questa compagnia, allo
sviluppo del web, fu quello di introdurre nuove estensioni del
linguaggio HTML di base, atti proprio a migliorare la
“presentazione” e il “design” dei documenti presenti in rete,
compatibili ovviamente solo per il browser Netscape.
Successivamente, nel 1996 la Microsoft lanciò il suo browser:
Internet Explorer 3.0, sviluppando una propria versione aggiornata
del linguaggio HTML, adatta proprio a IE 3.0.
In seguito alla formazione del World-Wide-Web Consortium (W3C),
nel 1996, venne infine discusso uno standard HTML di riferimento,
comune per un migliore sviluppo web: l’HTML 3.2.
Questa prima versione HTML certificata globalmente, rappresenta
ancora oggi lo status del linguaggio HTML, dal momento che include
la maggior parte degli elementi e attributi di presentazione conosciuti
e già visti nell’introduzione del primo Modulo, supportati da browser
diversi e utilizzati nello sviluppo delle pagine web dai web-designer.
Le versioni HTML 4.0 and 4.01, elaborate nel 1999, sono state
sviluppate per stabilire un nuovo standard di accessibilità e,
soprattutto, per specificare la separazione della “presentazione” finale
delle pagine web dal loro contenuto specifico: una divisione volta
proprio a migliorare la fruizione generale dei siti presenti in rete.
Secondo questo nuovo standard di riferimento, dettato attraverso
l’introduzione delle versioni HTML 4.0 e 4-01, la maggior parte della
visualizzazione grafica finale dovrebbe essere affidata ai Fogli di
Stile a Cascata (CSS).
In seguito all’elaborazione dei nuovi standard di riferimento per la
rete, le recenti versioni 4.0 e 4.01 dell’HTML costituiscono proprio
quelle versioni del linguaggio di markup attualmente di maggior
utilizzo, facilmente accessibili a tutte le persone che navigano nella
rete.
Inoltre è importante ricordare che esistono tre versioni specifiche
dell’HTML 4.01: 1) Transitional, 2) Strict e 3) Frameset.
L’HTML 4.01 in tre aspetti
Nonostante l’elaborazione dei nuovi standard di riferimento relativi
all’HTML e ai Fogli di Stile a Cascata (CSS), già nel 1999 esistevano
in rete milioni di pagine web realizzate con delle codifiche HTML
precedenti e, secondo i nuovi standard, ormai obsolete.
Data l’impossibilità di modificare tutti i materiali già presenti in rete,
adeguandoli ai nuovi standard, sono state elaborate diverse versioni
HTML, per ovviare ad eventuali problemi di incompatibilità e
accessibilità dei “vecchi” contenuti del web, non conformi ai nuovi
parametri W3C.
1) HTML Transitional
La versione HTML Transitional include la maggior parte degli
elementi di presentazione dell’HTML, attualmente conosciuti e
utilizzati. Questa opzione di linguaggio “di passaggio” è stata resa
disponibile per avvicinare gradualmente i web-designer ai nuovi
standard e velocizzare l’introduzione di nuovi browser e strumenti di
sviluppo adeguati.
Gli elementi di presentazione (come ad es. center) e alcuni attributi
HTML (come ad es. bgcolor e align) vengono segnalati in questa
versione come già obsoleti o “deprecati”, destinati quindi ad essere
completamente rimossi nelle nuove versioni HTML.
2) HTML 4.01 Strict
Tale versione, al contrario della precedente, non permette l’utilizzo
degli elementi e degli attributi, ormai “deprecati”, secondo gli
standard di riferimento dell’HTML 4.01
3) HTML Frameset
Questa terza versione HTML è stata elaborata per descrivere il
contenuto dei documenti per il web strutturati in frame.
I frame permettono una suddivisione della finestra del browser in
ulteriori finestre, dove ciascuna visualizza differenti documenti
HTML. Le strutture definite come frame sono costruite attraverso un
documento HTML specifico, di tipo frameset, che serve a definire
proprio la struttura e il contenuto di ogni singolo frame. Documenti di
tipo frameset sono differenti dai normali documenti in linguaggio
HTML dal momento che utilizzano un elemento frameset al posto del
normale elemento body.
Attualmente, per motivi di usabilità e accessibilità, i frameset
vengono utilizzati raramente e proprio per questo motivo non
verranno presi direttamente in considerazione durante questo corso,
dedicato principalmente alle attuali tendenze nel campo del web-
design.
Conoscere il DTD
Secondo gli standard di riferimento attuali, durante la creazione di
una struttura (X)HTML è sempre buona norma definire la sua
“definizione” specifica o meglio la sua Document Type Definition
(DTD).
Tale specificazione viene di norma inserita all’inizio di ogni
documento (X)HTML per identificare un modello di documento
unico, globalmente riconosciuto da chi utilizza uno stesso linguaggio
di marcatura.
Tale richiamo ad una codifica unica appare generalmente nei modi
seguenti, all’interno di una struttura HTML 4.01 e di un documento
XHTML 1.0.
esempio di parte di DTD per un documento HTML 4.01 Transitional
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
http://www.w3.org/TR/html4/loose.dtd>
esempio di parte di DTD per un documento XHTML 1.0 Transitional
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Una codifica DTD completa serve a indicare e a definire, a seconda
della versione di linguaggio, tutti gli elementi e gli attributi del
linguaggio utilizzabili in un dato documento e le regole necessarie al
loro impiego.
Secondo l’attuale normativa del W3C, attualmente vengono utilizzati
tre versioni leggermente differenti di DTD, corrispondenti proprio
alle diverse tipologie di linguaggio HTML 4.01: Transitional DTD,
Strict DTD e Frameset DTD.
L’esempio seguente mostra solo una piccola parte di una codifica
completa DTD HTML 4.01, che definisce gli elementi p e h1–h6
insieme agli attributi a questi associabili.
Esempio di un documento DTD
Il linguaggio XHTML
Il linguaggio HTML è limitato a quelle tipologie di contenuto che
possono essere “descritte”, contenenti quindi principalmente elementi
di testo, immagini, file video, ecc. Per permettere la visualizzazione
e la condivisione globale di contenuti di tipologia diversa è
necessario utilizzare un linguaggio di marcatura più specialistico.
Per questo motivo il W3C ha elaborato un linguaggio di marcatura
specifico: l’XML (eXtensible Markup Language).
Attraverso l’utilizzo dell’ XML, gli autori possono creare un
linguaggio di marcatura personalizzato, adeguato alle informazioni
che si vogliono condividere in rete.
Utilizzando un linguaggio XML sarà pertanto possibile inserire
autonomamente dei nuovi elementi di marcatura.
Inoltre è possibile in un singolo documento usare diversi linguaggi di
marcatura di tipo XML.
Mentre il linguaggio HTML di più largo utilizzo viene prevede
l’utilizzo di un set prestabilito di elementi e di una sintassi comune
per la “descrizione” e la formattazione delle pagine web, l’XML
viene impiegato per creare nuovi linguaggi di marcatura, utili per la
descrizione di documenti sempre diversi.
Creando singolarmente sempre nuovi elementi di marcatura diventa
ovviamente difficile controllare l’effettiva accessibilità e usabilità di
quei contenuti realizzati in XML.
I browser infatti devono poter riconoscere i nuovi elementi di
marcatura introdotti e allo stesso tempo capire il perché alcuni
elementi comuni sono stati sostituiti o omessi in una struttura base di
documento.
Proprio per questo motivo le regole di utilizzo della marcatura dei
XML sono molto più rigide di quelle seguite durante la creazione di
un normale documento HTML.
Esempio struttura base di un documento XML
<?xml version="1.0" encoding="UTF-8"?> // versione del linguaggio e codifica standard
<corsisti cpuacademy>
<corsista webdesign>
<nome>Giorgio</nome>
<cognome>Rossi</cognome>
<luogo nascita>Palermo</luogo nascita>
<data nascita>10/02/1971</luogo nascita>
</corsista webdesign>
<corsista webdesign>
<nome>Giovanni</nome>
<cognome>Verdi</cognome>
<luogo nascita>Torino</luogo nascita>
<data nascita>23/05/1985</luogo nascita>
</corsista webdesign>
</corsisti cpuacademy>
Riscrivere l’HTML
Per favorire un utilizzo congiunto di più linguaggi di marcatura in un
unico documento, progettato per essere condiviso in rete, il W3C ha
elaborato l’XHTML: una versione rielaborata del linguaggio HTML,
rispondente alle rigide regole di utilizzo della marcatura XML.
Una prima versione del linguaggio XHTML, la cosiddetta “1.0”,
risulta identica al linguaggio HTML 4.01.
I due linguaggi condividono infatti gli stessi elementi di marcatura e
gli stessi attributi. Inoltre anche per l’XHTML 1.0 abbiamo gli stessi
tre tipi di DTD relativi all’HTML 4.01: Transitional, Strict e
Frameset.
Sintassi XHTML
Quello che rende diverso dall’HTML il linguaggio XHTML è che
quest’ultimo è un linguaggio di tipo XML, dove l’utilizzo di una
sintassi corretta è fondamentale. Ad esempio, ogni elemento deve
essere sempre chiuso con il tag appropriato e correttamente annidato,
mentre gli attributi devono sempre essere racchiusi dalle doppie
virgolette.
Oltre a delle nuove regole sintattiche, l’XHTML aggiunge ulteriori
caratteristiche specifiche, proprie di un linguaggio di tipo XML, non
necessarie invece per l’utilizzo del solo linguaggio HTML 4.01.
La lista seguente comprende tutti i requisiti per una corretta
elaborazione di un documento di tipo XHTML.
Alcuni di questi presentano sostanziali differenze rispetto alle
caratteristiche proprie di un normale documento HTML.
Gli elementi e gli attributi devono comparire in minuscolo
In HTML gli elementi e gli attributi non sono case-sensitive. Pertanto
è possibile scrivere il tag body in entrambi i modi seguenti, senza
pregiudicare la struttura del documento: <html> = <HTML>.
In XHTML invece gli elementi e gli attributi sono case-sensitive:
<html> ≠ <HTML>. Pertanto, per essere correttamente interpretati,
gli attributi e gli elementi dovranno sempre essere inseriti in lettere
minuscole.
I valori degli attributi tuttavia non devono essere necessariamente
riportati in lettere minuscole, a meno che la lista di valori predefinita
per un dato attributo non specifichi diversamente.
Tutti gli elementi devono essere chiusi
Come menzionato nell’introduzione all’HTML, è possibile omettere
il tag di chiusura di alcuni elementi. In XHTML questo non è mai
possibile. Ogni tag di apertura deve essere “terminato”
dall’appropriato tag di chiusura.
Tale regola si estende in XHTML anche agli elementi vuoti.
Pertanto anche quegli elementi come <br>, <hr> e <img> devono
essere terminati.
Ad esempio, mentre in HTML l’elemento <br> può anche essere
utilizzato senza chiusura, dal momento che non racchiude alcun
contenuto, in XHTML tale tag dovrà sempre apparire nel modo
seguente: <br/ > come menzionato già nell’unità introduttiva.
Allo stesso modo anche gli altri elementi vuoti dovranno sempre
essere chiusi, inserendo uno slash prima della parentesi di chiusura:
es. <img/ >, <hr/ >.
I valori degli attributi devono essere racchiusi da doppie
virgolette
Mentre in HTML alcuni valori di attributo possono comparire non
racchiusi tra doppie virgolette, in XHTML tali valori devono sempre
essere racchiusi nel modo seguente: attributo="valore". Inoltre non
dovrebbe essere inserito dello spazio extra (caratteri di spaziatura e/o
invio) prima o dopo il valore di attributo racchiuso tra le virgolette.
Es. <elemento attributo="valore"> ≠ <elemento attributo=" valore ">
Tutti gli attributi devono avere valori espliciti
L’XML e quindi anche l’XHTML non supporta la cosiddetta
“minimizzazione degli attributi”, che implica l’inserimento di un
attributo riportando solamente il suo valore.
Gli elementi devono essere annidati correttamente
In XHTML è fondamentale rispettare il corretto annnidamento dei
vari elementi, secondo criterio gerarchico.
Esempio di annidamento corretto in XHTML
<p>Il mio cane è <em>nero</em></p>
Esempio di annidamento non corretto in XHTML
<p>Il mio cane è <em>nero</p></em>
Utilizzare sempre le entità di carattere per l’inserimento di
caratteri speciali o riservati.
Tutti i caratteri riservati (es. <, >, e &), che vedremo in dettaglio
nell’unità successiva, devono essere rappresentati con la loro codifica
di carattere o letterale e non con quella di tipo numerico.
Tale codifica specifica è necessaria anche per i valori degli attributi e
i titoli stessi dei documenti XHTML.
Struttura giusta per una corretta visualizzazione finale:
<img src="olivercompany.jpg" alt="Oliver & Company" />
Struttura errata per una corretta visualizzazione finale:
<img src="olivercompany.jpg" alt="Oliver & Company" />
Utilizzo di id al posto dell’attributo name come identificatore
Nel linguaggio XHTML, l’attributo id sostituisce l’attributo name,
quando utilizzato come identificatore.
Infatti l’attributo name, utilizzato in origine come elemento di
identificazione al posto di id, è ormai deprecato e non più utilizzato in
associazione alla maggior parte degli elementi (X)HTML.
Gli script devono essere racchiusi nella sezione CDATA
Utilizzando l’XHTML è necessario collocare gli eventuali script di
programmazione in una sezione del documento specifica, chiamata
CDATA, affinchè possano essere correttamente interpretati.
Es.
<script type="type/javascript">
<![CDATA[ I programmi JavaScript vanno inseriti qui ] ]>
</script>
Restrizioni aggiuntive di annidamento
In HTML esistono già delle regole di base da rispettare
nell’annidamento dei vari elementi di markup.
Ad esempio non è bene posizionare un elemento p all’interno di un
altro tag p, oppure non si dovrebbe inserire un elemento di blocco
livello all’interno di un elemento in linea.
In XHTML esistono delle ulteriori regole da seguire affinchè i vari
tag vengano interpretati correttamente.
L’elemento ancora a non deve contenere altri elementi a.
L’elemento pre non deve contenere elementi img, object, big,
small, sub o sup.
L’elemento button non deve contenere gli elementi: input, select,
textarea, label, button, form, fieldset, iframe e isindex .
I form non devono contenere ulteriori elementi form.
Requisiti di nomenclatura (namespace) e lingua
Dal momento che l’XHTML è un linguaggio XML, ci sono alcuni
attributi specifici richiesti per la realizzazione della struttura base di
un documento. Tali attributi non vengono richiesti e usati in un
normale documento HTML.
In un documento XHTML l’elemento HTML, alla base della struttura
del documento, deve essere scritto nel modo seguente:
<html xmlns="http://www.w3.org/1999/xhtml"
lang="en" xml:lang="en">
L’attributo xmlns sta per XML namespace.
Un namespace è una convenzione stabilita in XML per identificare
univocamente il linguaggio usato da un determinato documento.
Dal momento che l’XML permette l’utilizzo di più linguaggi
all’interno di un solo documento, è possibile che si verifichi una
sovrapposizione dei nomi degli elementi.
Ad esempio un elemento a potrebbe essere allo stesso tempo un
l’elemento “ancora” del linguaggio (X)HTML oppure un eventuale
elemento “answer” abbreviato, inserito a livello individuale come
nuovo strumento di marcatura. Utilizzando l’XML namespace, è
possibile specificare la tipologia dei documenti creati, affinchè non si
verifichino errori di interpretazione al momento della visualizzazione
finale.
Per i documenti XHTML, l’xmlns deve essere identificato come
XHTML, utilizzando l’identificatore unico per tutti i documenti
XHTML, come evidenziato nella struttura sopra riportata.
Gli attributi lang e xml:lang rappresentano due modalità per
specificare il linguaggio base di un documento (X)HTML. Il valore
dei due attributi è costituito da un codice abbreviato di lingua,
composto da due o tre lettere (es. en, come nell’esempio riportato).
E’ possibile visualizzare una lista completa dei codici di lingua
attraverso il seguente link: http://www.loc.gov/standards/iso639-
2/php/code_list.php
Gli standard W3C e i browser
Difficoltà nel rispetto degli standard comuni nello sviluppo dei
documenti per il web vengono affrontate non solo dagli sviluppatori
di siti ma anche da chi sviluppa i browser. I browser di moderna
generazione devono infatti conformarsi allo standard comune stabilito
dal W3C e, allo stesso tempo, permettere una corretta visualizzazione
di tutti quei contenuti già presenti in rete.
Per compiere entrambe le operazioni i browser possono operare
secondo due modalità distinte:
La modalità standard segue le regole stabilite per una corretta
interpretazione e visualizzazione dell’HTML 4.01 e del XHTML
1.0.
La modalità “quirks” permette ai browser di visualizzare anche
quei documenti realizzati con una marcatura errata o non
conforme agli standard. Il problema di utilizzo di questa modalità
è che browser diversi hanno differenti modalità di visualizzazione
di pagine di questo tipo. Pertanto stessi documenti potrebbero
essere interpretati e visualizzati ogni volta diversamente.
Creando dei documenti per il web, secondo gli standard W3C, è
possibile comunicare ai browser di utilizzare direttamente la modalità
standard per la loro interpretazione e visualizzazione. Per comunicare
questo è necessario dichiarare il tipo di documento.
Dichiarare il tipo di documento
Per dichiarare il tipo di documento è necessario comunicare al
browser, in una dichiarazione all’inizio del documento, definita
DOCTYPE, la versione (X)HTML esatta (che costituisce appunto il
DTD), utilizzata nella creazione del documento.
I documenti (X)HTML iniziano sempre con una dichiarazione
DOCTYPE, relativa al tipo di documento in oggetto, affinchè questo
venga considerato valido secondo gli standard comuni.
Mentre prima questa dichiarazione poteva essere facilmente omessa,
adesso nell’ambito dello sviluppo dei moderni siti web è necessario
includere sempre una dichiarazione DOCTYPE all’inizio di ogni
documento.
L’esempio seguente rappresenta una dichiarazione DOCTYPE che
indica che il documento in oggetto è stato realizzato conformemente
alle regole dell’HTML 4.01 Strict DTD.
La dichiarazione DOCTYPE deve essere inserita prima del tag di
apertura <html>
Esempio di dichiarazione DOCTYPE
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/HTML4.01/strict.dtd">
<html>
...resto del documento...
Vediamo ora i singoli componenti di questa dichiarazione
Il simbolo <! in apertura comunica al browser che quello che segue
costituisce una dichiarazione relativa al tipo di documento (un
documento di tipo HTML in questo caso) e non un elemento del
linguaggio HTML.
La parte PUBLIC "-//W3C//DTD HTML 4.01//EN" costituisce la
stringa di identificazione pubblica che rappresenta la modalità unica
per identificare un particolare DTD.
Infine nella dichiarazione compare l’URL relativa alla versione Strict
DTD che serve da identificatore unico per quei browser che non
possono interpretare altre versioni.
Dichiarazioni DOCTYPE disponibili
Durante la creazione di un documento (X)HTML conforme agli
standard W3C è sufficiente inserire la dichiarazione DOCTYPE
iniziale, semplicemente copiandola tra quelle attualmente disponibili.
Utilizzando software specifici per il web-authoring, come ad esempio
Adobe Dreamweaver, è anche possibile che tali dichiarazioni
vengano inserite in automatico, alla creazione di ogni documento.
E’ possibile visualizzare la lista completa delle dichiarazioni
attraverso il seguente link: www.w3.org/QA/2002/04/valid-dtd-
list.html.
Di seguito vengono elencate le dichiarazioni DOCTYPE più comuni
e di più largo utilizzo a seconda del linguaggio di markup di
riferimento.
per HTML Strict
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
per HTML Transitional
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
per HTML Frameset
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
per XHTML 1.0 Strict
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
per XHTML 1.0 Transitional
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
per XHTML 1.0 Frameset
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
Quale dichiarazione tra quelle più comunemente utilizzate dovremmo
quindi inserire nei documenti (X)HTML appena creati?
Imparando un linguaggio di marcatura per la prima volta è senz’altro
bene utilizzare elementi e attributi non deprecati, attenendosi agli
standard W3C attuali. Pertanto è possibile in questo caso fare
riferimento ad una “Dichiarazione” HTML 4.01 versione Strict.
Altrimenti, nel caso in cui sia necessario gestire delle pagine web già
create in precedenza, è bene utilizzare una “Dichiarazione” di tipo
transitional, dal momento che alcuni elementi nel linguaggio
utilizzato potrebbero non essere più conformi agli attuali standard
W3C.
HTML o XHTML?
L’XHTML costituisce senz’altro il futuro del linguaggio di marcatura
utilizzato nello sviluppo dei siti web.
I browser di futura generazione saranno infatti largamente
compatibili con questo specifico linguaggio di markup.
Tuttavia è possibile già da adesso utilizzare direttamente questo
linguaggio di marcatura nella creazione dei nostri documenti.
I suoi precisi requisiti sintattici rendono tale linguaggio più
facilmente “leggibile” attraverso l’utilizzo di dispositivi diversi.
Molti apparecchi portatili, come ad esempio i telefoni cellulari e i
palmari utilizzando l’XHTML come codifica standard. Pertanto
pagine realizzate esclusivamente secondo i criteri dell’XHTML
saranno più facilmente fruibili attraverso questi dispositivi.
Dal momento che si tratta di un linguaggio di tipo XML, nei singoli
documenti XHTML è possibile combinare diversi linguaggi XML.
Dal momento che l’XHTML costituisce il linguaggio del futuro,
nell’ambito dello sviluppo della rete, durante questo corso verranno
prese in considerazione soprattutto le rigide regole di marcatura
dell’XHTML.
Nonostante tale scelta, è necessario ricordare che attualmente il
linguaggio HTML è universalmente supportato.
Tuttavia utilizzare direttamente una rigida sintassi XHTML sarà utile
anche durante l’utilizzo di quei software dedicati al web-authoring,
dal momento che consentono di richiamare automaticamente parti di
struttura di un documento XHTML, velocizzando enormemente il
lavoro di sviluppo.
Validare i documenti
Validare un documento per la rete significa controllare la marcatura
realizzata per verificare che questa sia interamente conforme alla
dichiarazione (DTD) scelta.
Documenti senza errori nella struttura di base verranno definiti validi.
Documenti (X)HTML validi verranno interpretati e visualizzati
correttamente e più velocemente attraverso browser diversi. Saranno
pertanto più accessibili.
Attualmente i browser non richiedono necessariamente la “validità”
dei vari documenti per poterli visualizzare.
Pertanto ogni browser proverà a interpretare e visualizzare le pagine
web anche quando queste presentano errori nella struttura del
documento.
Per controllare la “validità” dei documenti realizzati è possibile
utilizzare un valida-tor, un software che controlla i documenti
sorgente, rispetto al DTD che è stato specificato per essi.
Un software di questo tipo controllerà i seguenti elementi relativi al
documento da validare:
L’utilizzo, all’inizio del documento, della dichiarazione
DOCTYPE. Senza di questa il software non saprà a quale tipo di
documento far riferimento.
L’utilizzo di un’indicazione per la codifica di carattere del
documento (si veda il paragrafo successivo dedicato).
L’utilizzo delle regole e degli attributi necessari
L’utilizzo di elementi non conformi agli standard
L’utilizzo errato degli elementi di marcatura
Errori di annidamento
Violazioni delle regole DTD.
Errori di digitazione
Il W3C offre gratuitamente uno strumento per validare i documenti
creati, accessibile attraverso il seguente link: validator.w3.org.
Codifica del carattere
Dal momento che la rete è diffusa a livello mondiale, esistono forme
di scrittura diverse, con un enorme numero di caratteri unici destinati
ad essere visualizzati anche sulle pagine web. Tale insieme di forme e
simboli comprende non solo i vari alfabeti (Occidentale, Ebraico,
Arabo, ecc.) ma anche tutti quei simboli pertinenti a scritture
ideografiche (Cinese, Giapponese e Coreano).
Diversi set di caratteri sono stati standardizzati per essere sempre
visualizzati in uno stesso modo attraverso i computer presenti in rete.
Ad esempio il set di 256 caratteri utilizzati soprattutto in relazione
alle lingue occidentali è stato standardizzato e definito come Latin-1
(o ISO 8859-1, per usare il codice di identificazione “formale”).
Il Latin-1 è pertanto la “codifica di carattere” utilizzata già a partire
dall’HTML 2.0 and 3.0, ed è possibile utilizzarla ancora oggi nella
realizzazione dei moderni documenti per il web.
Unicode
Alcuni set di caratteri appartengono alla codifica Unicode (ISO/IEC
10646), che include i caratteri per le lingue più conosciute e utilizzate
nel mondo. Nell’Unicode rientrano infatti più di un migliaio di
caratteri.
Il codice Unicode assegnato ai vari caratteri viene rappresentato con
il simbolo U+, seguito da quattro (o sei) cifre che costituiscono il
numero che individua ogni singolo carattere.
La codifica Unicode viene riconosciuta e utilizzata dai moderni
linguaggi di programmazione e dai linguaggi di marcatura utilizzati
nel campo del web-design.
Il repertorio di codici numerici della codifica Unicode è serializzato
tramite diversi schemi di codifica (in binario) che permettono un
utilizzo di codici specifici per quei gruppi di caratteri usati con
maggiore frequenza. Il set di caratteri Unicode può pertanto essere
codificato attraverso l’uso di codici con unità da 8 bit (codifica UTF-
8), 16 bit (codifica UTF-16) e 32 bit (codifica UTF-32).
La codifica più utilizzata nella realizzazione di documenti per il web
è senz’altro la UTF-8.
Tuttavia è’ possibile trovare nella dichiarazione DOCTYPE dei
documenti per il web codifiche di tipo UTF-16 o UTF-32, che
utilizzano diversi numeri di byte per descrivere i caratteri.
La codifica UTF-8 rimane comunque la codifica espressamente
raccomandata per tutti i documenti HTML 4.01, XHTML, e XML.
Specificare la codifica del carattere
Esistono diversi modi per associare una codifica di carattere ad un
dato documento (X)HTML.
Chiedere all’amministratore del server di configurare il
documento (X)HTML affinchè questo includa automaticamente la
codifica di carattere nell’intestazione http. Tale intestazione
costituisce una sezione informativa che il server associa ad ogni
documento web prima di restituirlo attraverso il browser.
Tuttavia, dal momento che questa informazione può essere separata
dal resto del documento è bene includere, secondo gli attuali standard
W3C, tale codifica anche all’interno del documento stesso.
Nei documenti HTML 4.01 e XHTML 1.0, la codifica di carattere
viene indicata utilizzando un meta-elemento che costituisce un
elemento vuoto che fornisce quelle informazioni specifiche relative al
documento, come ad esempio: la sua data di creazione, l’autore, i dati
relativi al copyright e soprattutto proprio quelle informazioni
specifiche relative alla codifica dei caratteri e al tipo di documento.
Il cosiddetto meta-elemento va inserito nella sezione head del
documento, così come evidenziato nell’esempio seguente relativo ad
una struttura XHTML 1.0:
<head>
<meta http-equiv="content-type" 1) content="text/html;
2) charset=utf-8" / >
<title>Documento base</title>
</head>
L’attributo http-equiv indica che il meta-elemento fornisce
informazioni specifiche relative al tipo di contenuto del documento
(content-type).
L’attributo in questione fornisce tali informazioni in due sezioni
distinte:
1) una prima parte indica che il documento costituisce un file di
testo HTML e pertanto questo specifico valore dell’attributo
http-equiv identifica la tipologia di linguaggio utilizzato.
Sebbene l’esempio presentato sia stato indicato come esempio di
documento XHTML, anche in questo caso l’attributo riporterà
sempre, per ragione di compatibilità relativi all’utilizzo dei
browser, l’indicazione HTML.
2) La seconda parte dell’attributo indica infine il valore specifico
relativo alla codifica di carattere relativa al documento: in
questo caso la codifica UTF-8.
Per fare un ulteriore esempio relativo alla codifica dei caratteri, viene
riportata di seguito la struttura di un meta-elemento per un
documento (X)HTML che utilizza invece una codifica Latin-1 .
<meta http-equiv="content-type"
content="text/html; charset=ISO-8859-1"> //
Gli esempi seguenti mostrano la struttura minima di markup, secondo
gli attuali standard W3C, necessaria alla pubblicazione dei documenti
HTML 4.01 versione Strict e XHTML 1.0 versione Strict.
HTML 4.01 Strict
Di seguito viene indicata la struttura di markup minima per i
documenti HTML 4.01 Strict, così come indicato dagli standard
W3C.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Esempio di documento HTML 4.01 Strict </title> <meta http-
equiv="content-type" content="text/html; charset=utf-8">
</head>
<body>
<p>... Contenuto del documento ...</p>
</body>
</html>
XHTML 1.0 Strict
Di seguito viene riportata la struttura di markup minima per i
documenti XHTML 1.0 Strict, così come stabilito dagli standard
W3C.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns = http://www.w3.org/1999/xhtml xml:lang="en" lang="en">
<head>
<title>Esempio di documento XHTML 1.0 Strict </title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
</head>
<body>
<p>... Contenuto del documento ...</p>
</body>
</html>
Sebbene negli esempi (X)HTML riportati, contenuti nelle altre unità
didattiche dedicate all’HTML, tale “dichiarazione” dei documenti
non venga indicata, è sempre necessario includerla all’interno dei
documenti, per la loro effettiva pubblicazione e validità.
FINE LEZIONE