[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico] [volume] [parte]
HTML sta per Hypertext markup language e in pratica è un formato SGML per i documenti della rete che fa uso di un DTD particolare: HTML appunto. La formattazione di un documento HTML non può mai essere valutata perfettamente in anticipo, perché dipende da diversi fattori:
il programma utilizzato per visualizzare il documento;
la risoluzione utilizzata;
i tipi di carattere a disposizione;
la profondità di colori disponibili.
Lo standard HTML è tale per cui tutti (o quasi) i programmi utilizzabili per la lettura di tali documenti sono in grado di cavarsela. Ma questo risultato minimo è ben lontano dall'esigenza di costruire qualcosa che tutti possano vedere più o meno nello stesso modo. Per questo, quando si costruisce un documento HTML, occorre pensare all'utenza a cui è destinato, in modo da decidere quali caratteristiche possono essere utilizzate e quali invece è meglio scartare per evitare inutili problemi di lettura.
L'HTML nasce all'inizio degli anni 1990, abbinato in particolare al primo navigatore: Mosaic. Da quel momento a oggi il formato HTML ha subito diversi aggiornamenti; si ricorda in particolare la versione 2.0 del 1995 e la versione 3.2 del 1997. Allo stato attuale, lo sviluppo di questo standard è condotto da W3C (World wide web consortium) e in questo capitolo si fa riferimento alla versione 4.
Si potrebbe dire che l'HTML abbia ricevuto un successo iniziale superiore alle sue possibilità tecniche, cosa che ha causato una proliferazione di varianti. In pratica, chi ha realizzato i programmi di navigazione, volendo offrire effetti speciali che non potevano essere ottenuti altrimenti, ha definito nel tempo una propria estensione allo standard di partenza (e anche a quelli successivi). Questo però ha creato e crea ancora oggi una grande confusione sul modo corretto di scrivere un documento in formato HTML. Questo problema si aggrava anche di più nel momento in cui questi navigatori non sono in grado di gestire correttamente gli standard indipendenti.
Lo spirito alla base dello sviluppo dell'HTML da parte del W3C, come ente indipendente, è quello di ottenere un formato multimediale-ipertestuale completo, adatto per la lettura attraverso qualunque tipo di mezzo: dal terminale tattile braille al documento stampato. Le estensioni proprietarie di questo standard si sono rivolte principalmente all'aspetto visuale e scenografico di questo formato, trascurando le altre esigenze. Scrivere un documento «puro» in HTML è un'arte raffinata, che attualmente non è conosciuta abbastanza. In generale, maggiori sono i contenuti e le esigenze di divulgazione, minori devono essere le pretese estetiche.
La documentazione di riferimento per tutto ciò che riguarda l'HTML è quella offerta dal W3C: <http://www.w3.org>, in particolare <http://www.w3.org/TR/>.
L'HTML è un linguaggio di composizione basato sull'SGML (si veda quando descritto a partire dal capitolo 249). Come tale, un documento HTML inizia sempre con la dichiarazione del DTD; poi tutto il documento viene racchiuso nell'elemento principale di questa struttura:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> ... ... ... </HTML>
Purtroppo, la maggior parte dei programmi di navigazione o di composizione per il formato HTML non è in grado di comprendere tutte le regole dell'SGML, per cui occorre evitare di utilizzare alcune delle sue caratteristiche. In particolare bisogna evitare:
la creazione di entità interne per l'utilizzo di macro specifiche relative al testo;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd" [ <!ENTITY GNULINUX "GNU/Linux"> <!ENTITY HURD "GNU/Hurd"> <!ENTITY DOS "Dos"> <!ENTITY POSIX "POSIX"> <!ENTITY UNIX "Unix"> ]>
le sezioni marcate per l'inclusione e l'esclusione del testo;
<![INCLUDE[ ... <!-- testo incluso --> ... ]]> ... <![IGNORE[ ... <!-- testo escluso --> ... ]]>
le sezioni marcate per individuare un contenuto di tipo CDATA, allo scopo di proteggere il simbolo < in modo da poterlo usare letteralmente;
<![CDATA[ ... <!-- testo letterale --> ... ]]>
la delimitazione di un elemento in forma abbreviata;
<nome_elemento/contenuto_dell'elemento/
l'indicazione di marcatori iniziali e finali vuoti.
<> ... </>
Il fatto che l'HTML sia definito da un DTD, permette di verificare la sua correttezza formale, anche se le regole stabilite nel DTD non sono sufficienti a definire la sintassi completa. Per poter verificare la correttezza formale di un documento HTML, oltre agli strumenti di convalida, cioè il pacchetto SP, occorre procurarsi il DTD e le sue estensioni riferite alle entità generali, quelle che permettono di utilizzare le macro per le lettere accentate e i simboli speciali.
Il DTD dell'HTML 4.01 e la definizione delle entità standard a cui questo fa riferimento si trovano presso <http://www.w3.org/TR/html4/>. Per la precisione si distinguono tre DTD alternativi, corrispondenti ai file strict.dtd
, loose.dtd
e frameset.dtd
, assieme a tre gruppi di entità riferite a caratteri speciali, corrispondenti ai file HTMLlat1.ent
, HTMLspecial.ent
e HTMLsymbol.ent
. Si può realizzare un catalogo SGML per l'analisi locale di un documento del genere nel modo seguente:
OVERRIDE YES PUBLIC "-//W3C//DTD HTML 4.01//EN" strict.dtd PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" loose.dtd PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" frameset.dtd PUBLIC "-//W3C//ENTITIES Latin1//EN//HTML" HTMLlat1.ent PUBLIC "-//W3C//ENTITIES Special//EN//HTML" HTMLspecial.ent PUBLIC "-//W3C//ENTITIES Symbols//EN//HTML" HTMLsymbol.ent
Con questo catalogo, una copia dei file che sono stati elencati prima deve trovarsi nella directory corrente. Si noti l'istruzione iniziale, OVERRIDE YES, con la quale si vuole permettere la dichiarazione del DTD come è già stato mostrato:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
In questo modo, se è disponibile un collegamento con la rete esterna, si utilizza direttamente il DTD originale, presso www.w3.org
, mentre se questa possibilità manca, si fa riferimento ai file locali attraverso le specifiche del catalogo.
Nell'esempio seguente si utilizza il programma nsgmls (del pacchetto SP) supponendo in particolare che il catalogo sia contenuto nel file catalogo
; il file da verificare viene indicato come mio_file.html
. Il catalogo e il file da controllare si intendono collocati nella directory corrente.
$
cat mio_file.html | nsgmls -s -c catalogo
È il caso di ricordare che alcune distribuzioni GNU/Linux, in particolare Debian, predispongono un pacchetto apposito contenente i DTD più comuni riferiti alle varie versioni dell'HTML, comprese le estensioni proprietarie, assieme alle relative entità standard. Naturalmente, il tutto è organizzato in un catalogo unico che va eventualmente ad aggiornare il catalogo di sistema (dovrebbe trattarsi del file /etc/sgml.catalog
, oppure del file /usr/share/sgml/catalog
). Il nome di questo pacchetto potrebbe essere sgml-data*
.
Oltre alla verifica in base al DTD sarebbe opportuno sapere leggere il contenuto del DTD stesso. A questo proposito è da notare il fatto che nel manuale che descrive le specifiche HTML di W3C, si fa spesso riferimento alle caratteristiche degli elementi attraverso lo schema offerto dalla dichiarazione relativa nel DTD. In effetti, ciò permette di rendere molto chiara e precisa la descrizione che ne viene fatta subito dopo.
Il DTD dell'HTML 4.01 fa un uso massiccio di entità parametriche e questo può disorientare inizialmente. In generale basta ricordare che qualunque cosa nella forma %nome; è una macro che si espande in una stringa. La dichiarazione di queste entità parametriche avviene nella parte iniziale del DTD, attraverso istruzioni del tipo:
<!ENTITY % nome "stringa">
È interessante notare l'utilizzo di entità parametriche per fare riferimento agli attributi degli elementi. Infatti, quasi tutti gli elementi dell'HTML 4.01 prevedono l'uso di attributi, per cui si è ritenuto opportuno classificarli all'interno di entità parametriche. In particolare è importante individuarne due molto importanti:
<!ENTITY % coreattrs "id ID #IMPLIED -- document-wide unique id -- class CDATA #IMPLIED -- space-separated list of classes -- style %StyleSheet; #IMPLIED -- associated style info -- title %Text; #IMPLIED -- advisory title --" > <!ENTITY % i18n "lang %LanguageCode; #IMPLIED -- language code -- dir (ltr|rtl) #IMPLIED -- direction for weak/neutral text --" >
Si può osservare che anche la dichiarazione di queste entità è sottoposta all'interpretazione di altre macro; queste riguardano il tipo di contenuto relativo agli attributi.
La macro %coreattrs; serve a individuare un gruppo di attributi disponibili nella maggior parte degli elementi:
id permette di attribuire una stringa di riconoscimento all'elemento, in modo da potervi fare riferimento;
class permette di abbinare all'elemento una classe, definita attraverso un nome, in modo da potergli attribuire uno stile particolare;
stile permette definire l'abbinamento con uno stile;
title permette di attribuire un «titolo» all'elemento, cosa che si traduce in pratica in modo differente a seconda del contesto (ovvero, a seconda dell'elemento a cui si applica).
La macro %i18n; serve invece a definire ciò che riguarda la localizzazione:
lang permette di indicare una sigla, secondo lo standard ISO 639 (sezione 543) e anche secondo altri standard, per attribuire all'elemento il linguaggio relativo;
dir permette di stabilire il flusso del testo nel risultato finale, dove la parola chiave ltr si riferisce a uno scorrimento da sinistra a destra (Left to right) e la parola chiave rtl indica uno scorrimento opposto, da destra a sinistra (Right to left).
Gli attributi a cui si fa riferimento attraverso le macro %coreattrs; e %i18n; sono così importanti che si trova un'altra entità parametrica che le raccoglie per comodità:
<!ENTITY % attrs "%coreattrs; %i18n; %events;">
La macro %events; si riferisce a una serie di attributi legati a «eventi», ovvero azioni che si compiono con il mouse o con la tastiera.
Si osservi, a titolo di esempio, la dichiarazione dell'elemento P, dove gli attributi sono tutti quelli più comuni, rappresentati dalla macro %attrs;, ovvero dalla somma di %coreattrs;, %i18n; e %events;:
<!ELEMENT P - O (%inline;)* -- paragraph --> <!ATTLIST P %attrs; -- %coreattrs, %i18n, %events -- >
All'interno di un documento HTML si distinguono due gruppi di elementi fondamentali: quelli che rappresentano dei blocchi e quelli che servono a inserire qualcosa all'interno di una riga di testo normale. Questa suddivisione corrisponde a due macro: %block; e %inline rispettivamente.
Per fare un esempio, l'elemento P (paragrafo) è un «blocco», mentre l'elemento EM (enfasi) è un componente interno a una riga di testo.
Questa classificazione semplifica molto la dichiarazione degli elementi, come nel caso dell'elemento P, già visto, il cui contenuto è semplicemente tutto ciò che va inserito nelle righe di testo:
<!ELEMENT P - O (%inline;)* -- paragraph -->
Alcuni elementi di un documento HTML sono ambigui, nel senso che possono contenere sia blocchi che testo. Questa ambiguità viene dichiarata attraverso la macro %flow; che rappresenta la scelta alternativa tra un blocco o una riga di testo:
<!ENTITY % flow "%block; | %inline;">
A titolo di esempio si osservi la dichiarazione dell'elemento LI che rappresenta la voce di un elenco puntato o numerato:
<!ELEMENT LI - O (%flow;)* -- list item -->
Le estensioni proprietarie dell'HTML hanno portato questo linguaggio di composizione a una proliferazione di dialetti, a causa dell'esigenza di trasferire anche le informazioni sull'aspetto finale della composizione, che in origine non erano state prese in considerazione. L'HTML 4.* standard cerca di porre rimedio a questa carenza, con l'uso di una serie di attributi che però non sono disponibili nella versione «ristretta», ciò proprio a indicare che si tratta di estensioni sconsigliate.
La soluzione migliore per risolvere il problema sembra essere l'abbinamento di uno stile, che può essere dichiarato all'interno del file HTML stesso, attraverso l'elemento STYLE, attraverso l'attributo STYLE, oppure in un file esterno, richiamandolo con l'elemento LINK (verrà mostrato tra poco).
L'HTML non presuppone il formato in cui può essere realizzato lo stile. È comune l'uso di stili in formato CSS (Cascading style sheet) e per farvi riferimento si indica il tipo text/css.
Per il momento, non viene spiegato in che modo si scrivono le direttive in un foglio di stile CSS. Intuitivamente, il lettore può comprendere che la direttiva seguente serve a colorare in blu il contenuto degli elementi H1:
H1 { color: blue }
Inoltre, la direttiva seguente serve per fare in modo che il contenuto dell'elemento P abbia il carattere di 12 punti e di colore rosso:
P { font-size: 12pt; color: red }
Si osservi che la stessa cosa avrebbe potuto essere scritta nel modo seguente:
P { font-size: 12pt; color: red; }
Per definire questi stili all'interno di un documento HTML, senza fare uso di un file esterno, si potrebbe agire nel modo seguente, attraverso l'uso dell'elemento STYLE:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Esempio</TITLE> <STYLE TYPE="text/css"> H1 { color blue } P { font-size: 12pt; color: red; } </STYLE> </HEAD> <BODY> ... ... ... </BODY> </HTML>
Si comprende che il testo contenuto nell'elemento STYLE non deve interferire con l'HTML e quindi non può contenere simboli che possano risultare ambigui. Questo problema riguarda naturalmente il linguaggio con cui è realizzato lo stile; nel caso del formato CSS non dovrebbe porsi alcun problema. Tuttavia, qualche programma utilizzato per la navigazione, potrebbe non riconoscere l'elemento STYLE, arrivando a riprodurre il testo che rappresenta in realtà lo stile. Per evitare questo problema si può circoscrivere la cosa all'interno di un commento SGML:
<STYLE TYPE="text/css"> <!-- H1 { color blue } P { font-size: 12pt color: red } --> </STYLE>
Volendo agire direttamente in un elemento singolo, si può utilizzare l'attributo STYLE, ma in tal caso si possono usare esclusivamente direttive CSS. Nel caso di un elemento P isolato che deve avere un carattere di 12 punti ed essere colorato in rosso, lo si può dichiarare nel modo seguente:
<P STYLE="font-size: 12pt; color: red">Attenzione!</P>
Probabilmente, il modo più elegante di abbinare uno stile a un documento HTML è quello di aggiungere un file esterno. Nell'esempio seguente si include lo stile corrispondente al file stile.css
:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Esempio</TITLE> <LINK REL="stylesheet" TYPE="text/css" HREF="stile.css"> ... </HEAD> ... </HTML>
È chiaro che dipende dal programma di navigazione la capacità o meno di conformarsi allo stile. In generale, lo standard CSS sembra essere quello che ha più probabilità di affermarsi. |
Il documento HTML è contenuto tutto nell'elemento omonimo: HTML. Nel caso della definizione «rigorosa» (il DTD strict.dtd
) questo si scompone in due elementi fondamentali, HEAD e BODY, che rappresentano rispettivamente l'intestazione e il corpo:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <HTML> <HEAD> <TITLE>Titolo della pagina</TITLE> </HEAD> <BODY> ... <!-- Corpo del documento --> ... </BODY> </HTML>
In generale, è conveniente annotare la lingua principale del documento, attraverso l'attributo LANG da collocare nel marcatore di apertura dell'elemento HTML:
<HTML LANG="it">
Per la precisione, il codice che definisce il linguaggio viene indicato secondo la sintassi seguente:
codice_principale[-codice_secondario]
In pratica, la prima parte, quella che appare prima del trattino di separazione, indica la lingua, di solito attraverso il codice ISO 639 (sezione 543), mentre la seconda parte indica l'area nazionale, secondo lo standard ISO 3166 (sezione 544), che a sua volta può implicare delle varianti nel linguaggio.
In generale, un documento di grandi dimensioni realizzato attraverso il formato HTML, richiede la scomposizione dello stesso in più file HTML collegati tra loro da riferimenti ipertestuali. Questa, purtroppo, è una necessità a causa delle limitazioni dei programmi di navigazione.
L'intestazione è una parte del documento HTML che serve per annotare delle informazioni generali. Deve contenere almeno il titolo all'interno dell'elemento TITLE. Di solito, la riproduzione di un documento HTML non fa apparire il titolo nel testo del documento, che comunque viene usato per farvi riferimento (per esempio nel segnalibro del programma utilizzato per la sua visualizzazione).
Nell'intestazione, prima o dopo il titolo, può essere conveniente collocare alcune «meta-informazioni», attraverso alcuni elementi META. Si tratta di un elemento vuoto, per il quale si utilizza soltanto il marcatore di apertura con l'indicazione di attributi opportuni. In particolare, si possono utilizzare gli attributi seguenti:
NAME per indicare un nome che qualifica il tipo di meta-informazione (si tratta di parole chiave più o meno standard, che però non sono state definite nel DTD);
HTTP-EQUIV per indicare un campo di risposta nell'ambito del protocollo HTTP, tenendo conto che l'attributo NAME è alternativo a HTTP-EQUIV.
CONTENT (obbligatorio) per indicare il valore abbinato al nome indicato attraverso l'attributo NAME, oppure attraverso l'attributo HTTP-EQUIV;
Come si intuisce dall'elenco degli attributi più importanti, si può distinguere tra elementi META che utilizzano l'attributo NAME e altri che usano l'attributo HTTP-EQUIV. Le informazioni che si definiscono attraverso elementi META con l'attributo NAME permettono di indicare informazioni che qualificano il documento, soprattutto quando questo viene trattato automaticamente da un motore di ricerca; l'attributo HTTP-EQUIV permette invece di intervenire a livello del protocollo HTTP (quando il documento viene ottenuto in questo modo), specificando le intestazioni HTTP relative. Si osservi l'esempio seguente:
<HEAD> <TITLE>Titolo della pagina</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> <META NAME="Description" CONTENT="Esempio di una pagina HTML"> <META NAME="Keywords" CONTENT="HTML, SGML, Editoria elettronica"> <META NAME="Author" CONTENT="P. Pallino ppallino@dinkel.brot.dg"> <META NAME="Classification" CONTENT="Esempio HTML"> </HEAD>
In particolare, ricevendo questo documento attraverso il protocollo HTTP, si otterrà anche l'intestazione HTTP seguente:
Content-Type: text/html; charset=ISO-8859-1
Si noti l'indicazione esplicita dell'insieme di caratteri: ISO 8859-1
Un altro tipo di elemento speciale può apparire all'interno dell'intestazione di un documento HTML; si tratta di LINK. Anche questo è un elemento vuoto e serve solo per indicare degli attributi nel marcatore di apertura. Gli attributi più importanti sono:
HREF per indicare un URI a cui si intende fare riferimento;
REL per definire la relazione che c'è con questo tipo di collegamento;
TYPE per specificare in anticipo il tipo dei dati contenuti nell'URI;
MEDIA per specificare il mezzo attraverso cui viene letto il documento.
Trattandosi di un elemento vuoto, collocato nell'intestazione HTML, non è pensato per essere rappresentato nella composizione. Tuttavia, abbinando le parole chiave opportune all'attributo REV, si stabiliscono una serie di collegamenti utili per ricomporre un documento più grande costituito da più pagine HTML. In pratica, si può dichiarare in modo esplicito come è articolato, così che il programma di navigazione o composizione sappia regolarsi. La tabella 260.1 elenca alcune delle parole chiave che possono essere assegnate all'attributo REV.
Tabella 260.1. Parole chiave tipiche da assegnare all'attributo REV dell'elemento LINK.
Nome | Descrizione |
Alternate | Una versione alternativa dello stesso documento. |
Stylesheet | Foglio di stile esterno. |
Start | Il primo documento di una collezione. |
Next | Il prossimo documento di una sequenza lineare. |
Prev | Il documento precedente di una sequenza lineare. |
Contents | Un documento che funge da indice generale. |
Index | Un documento che funge da indice analitico. |
Glossary | Un documento che funge da glossario. |
Copyright | Un documento che contiene la dichiarazione del copyright. |
Chapter | Un documento che funge da capitolo in una collezione. |
Section | Un documento che funge da sezione in una collezione. |
Subsection | Un documento che funge da sottosezione in una collezione. |
Appendix | Un documento che funge da appendice in una collezione. |
Help | Un documento che funge da guida. |
L'esempio seguente mostra parte di un'intestazione di una pagina HTML in cui sono stati usati alcuni elementi LINK per definire la relazione con altre pagine che compongono la stessa raccolta:
<HEAD> ... <LINK REL="Stylesheet" TYPE="text/css" HREF="stile.css"> <LINK REL="Start" TITLE="inizio" HREF="index.html"> <LINK REL="Contents" TITLE="indice generale" HREF="indice-generale.html"> <LINK REL="Prev" TITLE="precedente" HREF="capitolo-6.html"> <LINK REL="Next" TITLE="successivo" HREF="capitolo-8.html"> <LINK REL="Index" TITLE="indice analitico" HREF="indice-analitico.html"> </HEAD>
Merita un po' di attenzione l'attributo MEDIA che serve a stabilire il mezzo adatto per la lettura del documento relativo. Questo attributo si usa generalmente all'interno di un elemento LINK che serve a indicare un foglio di stile esterno; inoltre può essere usato per lo stesso motivo all'interno di un elemento STYLE. In pratica, in questo modo, si stabilisce l'abbinamento tra stile e mezzo di lettura. La tabella 260.2 elenca i nomi che si possono assegnare a un attributo MEDIA.
Tabella 260.2. Parole chiave tipiche da assegnare all'attributo MEDIA dell'elemento LINK e dell'elemento STYLE.
Nome | Descrizione |
screen | Schermo per lo scorrimento continuo. |
tty | Terminale a celle di caratteri o simile. |
tv | Televisione (bassa risoluzione e altre limitazioni). |
projection | Proiettore. |
handheld | Schermi portatili. |
Stampa e simili (composizione impaginata). | |
braille | Terminale a barra braille per i non vedenti. |
aural | Lettore a sintesi vocale. |
all | Valido per tutti i tipi di dispositivo. |
L'esempio seguente mostra in che modo si potrebbero selezionare diversi fogli di stile in base al mezzo utilizzato per la lettura del documento:
<LINK REL="Stylesheet" TYPE="text/css" MEDIA="screen" HREF="stile-schermo.css"> <LINK REL="Stylesheet" TYPE="text/css" MEDIA="tty" HREF="stile-testo.css"> <LINK REL="Stylesheet" TYPE="text/css" MEDIA="braille" HREF="stile-braille.css">
Il corpo di un documento HTML è delimitato dall'elemento BODY e il suo contenuto è ciò che alla fine viene mostrato nella composizione finale.
La composizione del corpo viene descritta nel capitolo 261.
All'inizio del capitolo si è accennato al fatto che molti elementi condividano un insieme comune di attributi. Vale la pena di descrivere brevemente alcuni di questi.
Il linguaggio di un elemento viene definito esplicitamente attraverso l'attributo LANG, a cui viene assegnato solitamente un codice corrispondente allo standard ISO 639. La tabella 260.3 riporta un elenco di questi codici ridotto ad alcune lingue occidentali.
Tabella 260.3. Alcuni codici dello standard ISO 639 per la definizione della lingua attraverso una sigla di due soli caratteri.
Codice | Lingua |
fr | Francese |
it | Italiano |
ro | Rumeno |
es | Spagnolo |
ca | Catalano |
co | Corso |
pt | Portoghese |
da | Danese |
nl | Olandese |
en | Inglese |
de | Tedesco |
is | Islandese |
no | Norvegese |
sv | Svedese |
fi | Finlandese |
In generale può essere conveniente l'utilizzo di questo attributo nell'elemento HTML, in modo da fissare il linguaggio di tutto il documento. Tuttavia, quando un elemento contiene un testo in un altro linguaggio, conviene annotarlo nello stesso modo.
L'effetto più evidente che potrebbe risultare dalla distinzione in base al linguaggio, è la separazione delle parole in sillabe, per creare una composizione più gradevole.
L'attributo CHARSET permette di definire esplicitamente l'insieme di caratteri dell'elemento. Come è già stato mostrato, di solito lo si utilizza in un elemento META introduttivo allo scopo di definire l'intestazione HTTP relativa:
<HEAD> <TITLE>...</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> <!--...--> </HEAD>
La tabella 260.4 elenca alcuni codici comuni per la definizione dell'insieme dei caratteri.
Tabella 260.4. Alcuni codici per definire l'insieme di caratteri.
Codice | Corrispondenza |
ISO-8859-1 | latin1 |
ISO-8859-2 | latin2 |
ISO-8859-3 | latin3 |
ISO-8859-4 | latin4 |
ISO-8859-5 | ciryllic |
ISO-8859-6 | arabic |
ISO-8859-7 | greek |
ISO-8859-8 | hebrew |
ISO-8859-9 | latin5 |
Il testo di un documento HTML può scorrere da sinistra a destra o viceversa. Per controllare questo flusso si può utilizzare l'attributo DIR, a cui si possono abbinare esclusivamente le parole chiave ltr o rtl: Left to right, da sinistra a destra; Right to left, da destra a sinistra.
In generale, il flusso del testo avviene da sinistra a destra, come richiedono le lingue occidentali, per cui non è necessario usare questo attributo in condizioni «normali».
È importante notare che il testo nel sorgente di un documento HTML segue sempre il flusso normale, da sinistra a destra, ammesso che si possa definire un flusso per un file sorgente. |
Non è disponibile la possibilità di ribaltare orizzontalmente i caratteri, quando il flusso del testo cambia direzione, come avviene nella scrittura geroglifica. |
Molti elementi dispongono di un attributo TITLE. Il suo scopo è quello di indicare un titolo, che viene preso in considerazione in modo differente in base al contesto. Questo attributo può essere molto utile negli elementi che comportano l'inclusione di un'immagine, dal momento che rappresenta un testo alternativo per chi non può visualizzarle. Anche un riferimento ipertestuale può avvantaggiarsi di questo attributo, perché si può visualizzare il testo corrispondente prima di raggiungere l'oggetto, in modo da avere una breve descrizione di ciò che si tratta (così da poter decidere se ne vale la pena).
<A HREF="http://www.brot.dg/foto/tizio.jpg" TITLE="Tizio in divisa">Tizio</A>
L'esempio mostra proprio il caso di un riferimento ipertestuale, ottenuto con l'elemento A, attraverso il quale si raggiunge un file che dovrebbe mostrare l'immagine di Tizio vestito in divisa. Se il navigatore permette di conoscere il titolo del riferimento prima di doverlo raggiungere, si può evitare di prelevare il file nel caso ciò non sia interessante.
È ovvio che sta poi all'autore della pagina la scelta nello scrivere dei titoli utili o ingannevoli. Chi realizza una pagina pubblicitaria ha ovviamente degli interessi diversi da chi invece vuole realizzare un documento ordinato e facile da consultare. |
Molti elementi dispongono di un attributo ID che permette di attribuire loro un'etichetta con la quale poi farvi riferimento. Il modo tradizionale per realizzare dei riferimenti incrociati in HTML è l'uso dell'elemento A, prima con l'attributo NAME (l'etichetta), poi con l'attributo HREF (il riferimento ipertestuale).
L'attributo ID permette di generalizzare il problema, dal momento che in tal modo gli elementi comuni hanno la possibilità di «identificarsi» in maniera univoca per qualunque scopo, non solo quello di definire un obiettivo per un riferimento.
<P ID="superparagrafo">Questo è un paragrafo nominato in modo univoco.</P> <P ID="supermegaparagrafo">Anche questo è un altro paragrafo nominato in modo univoco.</P>
Si deve tenere presente che i nomi utilizzati per gli attributi ID devono essere univoci. Questi nomi devono essere univoci anche nei confronti dell'attributo NAME nell'elemento A.
A differenza dell'attributo ID, l'attributo CLASS consente di abbinare a un gruppo di elementi una certa classe. Il meccanismo è lo stesso, con la differenza che si vogliono indicare dei raggruppamenti. Di solito, si attribuisce una classe per abbinarne le definizioni di un foglio di stile.
<SPAN CLASS="nota">la vita è fatta per essere vissuta</SPAN>
L'esempio mostra la delimitazione di una parte di testo attraverso l'elemento SPAN, al quale viene attribuita la classe nota. In seguito, sarà possibile abbinare a tutti gli elementi di questa classe le stesse caratteristiche attraverso un foglio di stile. Utilizzando i fogli di stile CSS, si potrebbe applicare la regola seguente a tutti gli elementi SPAN della classe nota:
SPAN.nota { color: green }
W3C
W3C, Technical Reports and Publications
Character sets
daniele @ swlibero.org
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome html_aspetti_generali.html
[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico]