Argomenti
Un documento HTML 4.0 è composto di tre parti:
Può apparire spazio bianco (spazi, righe nuove, tabulazioni, e commenti) prima o dopo ciascuna sezione. Le sezioni 2 e 3 dovrebbero essere delimitate dall'elemento HTML.
Ecco un esempio di un semplice documento HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <HTML> <HEAD> <TITLE>Il mio primo documento HTML</TITLE> </HEAD> <BODY> <P>Ciao mondo! </BODY> </HTML>
Un documento HTML valido dichiara quale versione di HTML è utilizzata nel documento. La dichiarazione del tipo di documento indica la definizione del tipo di documento (DTD) in uso per il documento (si veda [ISO8879]).
L'HTML 4.0 specifica tre DTD, perciò gli autori devono includere una delle seguenti dichiarazioni del tipo di documento nei loro documenti. Le DTD si differenziano negli elementi che supportano.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN" "http://www.w3.org/TR/REC-html40/frameset.dtd">
L'URI in ciascuna dichiarazione del tipo di documento consente agli interpreti HTML di scaricare la DTD e tutti gli insiemi di entità che sono richiesti. I seguenti URI si riferiscono alle DTD e agli insiemi di entità HTML 4.0 che il W3C supporta:
Il legame tra gli identificatori pubblici e i file può essere specificato utilizzando un file di catalogo che segue il formato raccomandato da SGML Open Consortium (si veda [SGMLOPEN]). Un file di catalogo esemplificativo per HTML 4.0 è incluso all'inizio della sezione sulle informazioni di riferimento in SGML per HTML. Le ultime due lettere della dichiarazione indicano la lingua della DTD. Per HTML, questa è sempre la lingua inglese ("EN").
<!ENTITY % html.content "HEAD, BODY"> <!ELEMENT HTML O O (%html.content;) -- elemento radice del documento --> <!ATTLIST HTML %i18n; -- attributi lang, dir -- >
Tag di inizio: opzionale, Tag di fine: opzionale
Definizioni degli attributi
Attributi definiti altrove
Dopo la dichiarazione del tipo di documento, la parte rimanente di un documento HTML è contenuta dall'elemento HTML. Perciò un tipico documento HTML ha questa struttura:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <HTML> ...L'intestazione, il corpo, ecc. vanno qui... </HTML>
<!-- %head.misc; definito più sopra come "SCRIPT|STYLE|META|LINK|OBJECT" --> <!ENTITY % head.content "TITLE & BASE?"> <!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- intestazione del documento --> <!ATTLIST HEAD %i18n; -- attributi lang, dir -- profile %URI; #IMPLIED -- denominazione del dizionario di metainformazioni -- >
Tag di inizio: opzionale, Tag di fine: opzionale
Definizioni degli attributi
Attributi definiti altrove
L'elemento HEAD contiene informazioni sul documento corrente, quali il suo titolo, le parole chiave che possono essere utili ai motori di ricerca, e altri dati che non sono considerati contenuto del documento. Gli interpreti HTML generalmente non riproducono gli elementi che appaiono nella HEAD come contenuto. Comunque, possono rendere disponibili agli utenti le informazioni nella HEAD attraverso altri meccanismi.
<!-- L'elemento TITLE non è considerato parte del flusso di testo. Dovrebbe essere mostrato, per esempio come intestazione della pagina o titolo della finestra. È richiesto esattamente un titolo per documento. --> <!ELEMENT TITLE - - (#PCDATA) -(%head.misc;) -- titolo del documento --> <!ATTLIST TITLE %i18n>
Tag di inizio: obbligatorio, Tag di fine: obbligatorio
Attributi definiti altrove
Ogni documento HTML deve avere un elemento TITLE nella sezione HEAD.
Gli autori dovrebbero usare l'elemento TITLE per identificare il contenuto di un documento. Poiché gli utenti spesso consultano documenti fuori del contesto, gli autori dovrebbero fornire titoli ricchi di informazione contestuale. Perciò, invece di un titolo quale "Introduzione", che non fornisce molta informazione contestuale, gli autori dovrebbero fornire un titolo quale "Introduzione all'apicoltura medievale" al suo posto.
Per ragioni di accessibilità, gli interpreti HTML devono rendere sempre il contenuto dell'elemento TITLE disponibile agli utenti (inclusi i TITLE che ricorrono nei frame). Il meccanismo per fare ciò dipende dall'interprete HTML (ad es., come una didascalia, come parlato).
I titoli possono contenere entità carattere (per caratteri accentati, caratteri speciali, ecc.), ma non possono contenere altra marcatura. Ecco un titolo di un documento esemplificativo:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <HTML> <HEAD> <TITLE>Uno studio delle dinamiche della popolazione</TITLE> ... altri elementi dell'intestazione... </HEAD> <BODY> ... corpo del documento... </BODY> </HTML>
Definizioni degli attributi
Al contrario dell'elemento TITLE, che fornisce informazioni su un intero documento e può apparire solo una volta, l'attributo title può annotare un numero qualsiasi di elementi. Si consulti la definizione di un elemento per verificare che essa supporti questo attributo.
I valori dell'attributo title possono essere riprodotti dagli interpreti HTML in una varietà di modi. Per esempio, gli interpreti visuali mostrano frequentemente l'attributo title come una noticina (un breve messaggio che appare quando il dispositivo puntatore si sofferma sopra un oggetto). Gli interpreti HTML vocali possono riprodurre vocalmente l'informazione nell'attributo title in un contesto analogo. Per esempio, impostare l'attributo su un collegamento consente agli interpreti HTML (visuali e non visuali) di informare gli utenti sulla natura della risorsa collegata:
...del testo... Ecco una foto di <A href="http://someplace.com/neatstuff.gif" title="Una mia immersione con autorespiratore"> una mia immersione con autorespiratore la scorsa estate </A> ...ancora del testo...
L'attributo title ha un ruolo ulteriore quando viene usato congiuntamente all'elemento LINK per indicare un foglio di stile esterno. Si consulti la sezione sui collegamenti e i fogli di stile per i dettagli.
Nota. Per migliorare la qualità della sintesi vocale per i casi gestiti in maniera inadeguata dalle tecniche standard, le future versioni di HTML potranno includere un attributo per codificare l'informazione fonemica e prosodica.
Mentre queste Specifiche vengono scritte, è in corso un lavoro che consentirà agli autori di assegnare più ricche informazioni "leggibili da parte della macchina" riguardanti i documenti HTML e le altre risorse accessibili da rete. Si sta sviluppando il Resource Description Language del W3C (si veda [RDF]) come struttura comune per i metadati.
L'HTML permette agli autori di specificare metadati -- informazioni riguardanti un documento piuttosto che il contenuto del documento -- in una varietà modi.
Per esempio, per specificare l'autore di un documento, si può usare l'elemento META come segue:
<META name="Author" content="Dave Raggett">
L'elemento META specifica una proprietà (in questo caso "Author") e assegna un valore ad essa (in questo caso "Dave Raggett").
Queste Specifiche non definiscono un insieme di proprietà legali dei metadati. Il significato di una proprietà e l'insieme dei valori legali per quella proprietà dovrebbero essere definiti in un dizionario di riferimento chiamato profilo. Per esempio, un profilo progettato per aiutare i motori di ricerca ad indicizzare i documenti potrebbe definire proprietà quali "author" (autore), "copyright", "keywords" (parole chiave), ecc.
In generale, specificare i metadati coinvolge due passi:
Si noti che poiché è definito un profilo per l'elemento HEAD, lo stesso profilo si applica a tutti gli elementi META e LINK nell'intestazione del documento.
Agli interpreti HTML non è richiesto di supportare i meccanismi dei metadati. Per quelli che scelgono di supportare i metadati, queste Specifiche non definiscono come i metadati debbano essere interpretati.
<!ELEMENT META - O EMPTY -- metainformazione generica --> <!ATTLIST META %i18n; -- attributi lang, dir, da usare con l'attributo content -- http-equiv NAME #IMPLIED -- nome dell'intestazione HTTP di risposta -- name NAME #IMPLIED -- nome della metainformazione -- content CDATA #REQUIRED -- informazioni associate -- scheme CDATA #IMPLIED -- seleziona la forma dell'attributo content -- >
Tag di inizio: obbligatorio, Tag di fine: proibito
Definizioni degli attributi
Per i seguenti attributi, i valori consentiti e le loro interpretazioni dipendono dal profilo specificato dall'attributo profile:
Attributi definiti altrove
L'elemento META può essere usato per identificare le proprietà di un documento (ad es., autore, data di scadenza, elenco di parole chiave, ecc.) e assegnare valori a queste proprietà. Queste Specifiche non definiscono un insieme normativo di proprietà.
Ciascun elemento META specifica una coppia proprietà/valore. L'attributo name identifica la proprietà e l'attributo content specifica il valore della proprietà.
Per esempio, la seguente dichiarazione imposta un valore per la proprietà Author:
<META name="Author" content="Dave Reggett">
L'attributo lang può essere usato insieme a META per specificare la lingua per il valore dell'attributo content. Ciò mette in grado i sintetizzatori vocali di applicare regole di pronuncia dipendenti dalla lingua.
In questo esempio si dichiara che il nome dell'autore è francese:
<META name="Author" lang="fr" content="Arnaud Le Hors">
Nota. L'elemento META è un meccanismo generico per specificare i metadati. Comunque, alcuni elementi e attributi di HTML gestiscono già certe porzioni di metadati, e possono essere usati dagli autori in luogo di META per specificare queste porzioni: l'elemento TITLE, l'elemento ADDRESS, gli elementi INS e DEL, l'attributo title, e l'attributo cite.
Nota.
Quando una proprietà specificata da un elemento META assume un valore che è un
<META name="DC.identifier" content="ftp://ds.internic.net/rfc/rfc1866.txt">
può anche essere scritta:
<LINK rel="DC.identifier" type="text/plain" href="ftp://ds.internic.net/rfc/rfc1866.txt">
L'attributo http-equiv può essere usato al posto dell'attributo name e ha un significato speciale quando i documenti sono recuperati mediante l' Hypertext Transfer Protocol (HTTP). I server HTTP possono usare il nome della proprietà specificato dall'attributo http-equiv per creare un'intestazione secondo lo stile definito in [RFC822] nella risposta HTTP. Si consultino le Specifiche di HTTP ([RFC2068]) per i dettagli sulle intestazioni HTTP valide.
La seguente esemplificazione di dichiarazione META:
<META http-equiv="Expires" content="Tue, 20 Aug 1996 14:25:27 GMT">
avrà come risultato l'intestazione HTTP:
Expires: Tue, 20 Aug 1996 14:25:27 GMT
Questa può essere usata dai supporti cache per determinare quando andare a prelevare una copia aggiornata del documento associato.
Alcuni interpreti HTML supportano l'uso di META per ri-aggiornare la pagina corrente dopo un determinato numero di secondi, con l'opzione di rimpiazzarla con un URI differente.
<META http-equiv="refresh" content="3,http://www.acme.com/intro.html">
Il contenuto è un numero che specifica il ritardo in secondi, seguito dall'URI da caricare quando il tempo è trascorso. Questo meccanismo viene generalmente usato per mostrare agli utenti una pagina introduttiva temporanea. Comunque, poiché alcuni interpreti HTML non supportano questo meccanismo, gli autori dovrebbero includere contenuto nella pagina introduttiva per consentire agli utenti di navigare lontano da lì (in modo che non rimangano "arenati" nella pagina introduttiva).
Un comune impiego per META è quello di specificare le parole chiave che un motore di ricerca può usare per migliorare la qualità dei risultati di ricerca. Quando diversi elementi META forniscono informazioni dipendenti dalla lingua riguardo a un documento, i motori di ricerca possono filtrare sull'attributo lang per mostrare i risultati della ricerca usando le preferenze dell'utente sulla lingua. Per esempio,
<-- Per coloro che parlano inglese americano --> <META name="keywords" lang="en-us" content="vacation, Greece, sunshine"> <-- Per coloro che parlano inglese britannico --> <META name="keywords" lang="en" content="holiday, Greece, sunshine"> <-- Per coloro che parlano francese --> <META name="keywords" lang="fr" content="vacances, Grèce, soleil">
L'efficienza dei motori di ricerca può anche essere incrementata usando l'elemento LINK per specificare collegamenti a traduzioni del documento in altre lingue, collegamenti a versioni del documenti in altri media (ad es.,. PDF), e, quando il documento è parte di una raccolta, collegamenti ad un appropriato punto di partenza per visionare la raccolta.
Ulteriore assistenza è fornita nella sezione su come aiutare i motori di ricerca ad indicizzare il proprio sito Web.
Questo esempio illustra come si possa usare una dichiarazione META per includere un'etichetta PICS 1.1:
<HEAD> <META http-equiv="PICS-Label" content=' (PICS-1.1 "http://www.gcf.org/v2.5" labels on "1994.11.05T08:15-0500" until "1995.12.31T23:59-0000" for "http://w3.org/PICS/Overview.html" ratings (suds 0.5 density 0 color/hue 1)) '> <TITLE>... titolo del documento ...</TITLE> </HEAD>
L'elemento META può essere usato per specificare informazioni predefinite per un documento nelle seguenti istanze:
L'esempio seguente specifica la codifica dei caratteri di un documento come ISO-8859-5
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-5">
Questo esempio si riferisce ad un ipotetico profilo che definisce proprietà utili per l'indicizzazione dei documenti. Le proprietà definite da questo profilo -- comprendenti "autore", "copyright", "keywords", e "data" -- hanno i loro valori settati da successive dichiarazioni META.
<HEAD profile="http://www.acme.com/profili/nucleo"> <TITLE>Come completare le copertine dei Promemoria</TITLE> <META name="autore" content="Mario Rossi"> <META name="copyright" content="© 1997 Acme Corp."> <META name="keywords" content="societario,linee guida,catalogazione"> <META name="data" content="1994-11-06T08:49:37+00:00"> </HEAD>
Mentre queste Specifiche vengono scritte, è pratica comune usare i formati per la data descritti in [RFC2068], sezione 3.3. Siccome questi formati sono relativamente difficili da gestire, si raccomanda agli autori di usare il formato per la data [ISO8601]. Per maggiori informazioni, si vedano le sezioni sugli elementi INS e DEL.
L'attributo scheme permette agli autori di fornire agli interpreti HTML più contesto per la corretta interpretazione dei metadati. A volte, queste informazioni addizionali possono essere critiche, come quando i metadati possono essere specificati in formati differenti. Per esempio, un autore potrebbe specificare una data nel formato (ambiguo) "10-9-97"; ciò significa 9 Ottobre 1997 o 10 Settembre 1997? Il valore dell'attributo scheme "Month-Day-Year" disambiguerebbe questo valore per la data.
Altre volte, l'attributo scheme può fornire informazioni utili ma non critiche agli interpreti HTML.
Per esempio, la seguente dichiarazione scheme può aiutare un interprete HTML a determinare che il valore della proprietà "identifier" è un numero di codice ISBN:
<META scheme="ISBN" name="identifier" content="0-8230-2355-9">
I valori per l'attributo scheme dipendono dalla proprietà name e dal valore dell'attributo profile associato.
Nota. Un profilo esemplificativo è il Dublin Core (vedere [DCORE]). Questo profilo definisce un insieme di proprietà raccomandate per le descrizioni bibliografiche in formato elettronico, ed è destinato a promuovere l'interoperabilità tra modelli disparati di descrizione.
<!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- corpo del documento --> <!ATTLIST BODY %attrs; -- %coreattrs, %i18n, %events -- onload %Script; #IMPLIED -- il documento è stato caricato -- onunload %Script; #IMPLIED -- il documento è stato rimosso -- >
Tag di inizio: opzionale, Tag di fine: opzionale
Definizioni degli attributi
Attributi definiti altrove
Il corpo di un documento contiene il contenuto del documento. Il contenuto può essere presentato da un interprete HTML in una varietà di modi. Per esempio, per i interpreti visuali, si può pensare al corpo come ad un'area tracciabile dove appare il contenuto: testo, immagini, colori, grafica, ecc. Per gli interpreti HTML vocali, lo stesso contenuto può essere riprodotto come parlato. Poiché i fogli di stile sono adesso la maniera preferita per specificare la presentazione di un documento, gli attributi di presentazione dell'elemento BODY sono stati disapprovati.
ESEMPIO DISAPPROVATO:
Il seguente frammento HTML illustra l'impiego degli attributi disapprovati.
Esso imposta il colore dello sfondo dell'area tracciabile a bianco (white), il colore di presentazione del testo nero (black), e il colore dei collegamenti
ipertestuali in rosso (red) inizialmente, a viola (fuchsia) quando vengono attivati, e a rosso scuro (maroon)
una volta che sono stati visitati.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <HTML> <HEAD> <TITLE>Uno studio sulle dinamiche della popolazione</TITLE> </HEAD> <BODY bgcolor="white" text="black" link="red" alink="fuchsia" vlink="maroon"> ... corpo del documento... </BODY> </HTML>
Usando i fogli di stile, lo stesso effetto potrebbe ottenersi come segue:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <HTML> <HEAD> <TITLE>Uno studio sulle dinamiche della popolazione</TITLE> <STYLE type="text/css"> BODY { background: white; color: black} A:link { color: red } A:visited { color: maroon } A:active { color: fuchsia } </STYLE> </HEAD> <BODY> ... corpo del documento... </BODY> </HTML>
Usare fogli di stile esterni (collegati) dà la flessibilità di cambiare la presentazione senza correggere il documento HTML sorgente:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN "http://www.w3.org/TR/REC-html40/strict.dtd"> <HTML> <HEAD> <TITLE>Uno studio sulle dinamiche della popolazione</TITLE> <LINK rel="stylesheet" type="text/css" href="smartstyle.css"> </HEAD> <BODY> ... corpo del documento... </BODY> </HTML>
Organizzazioni a frame e corpi HTML. I documenti che contengono organizzazioni a frame rimpiazzano l'elemento BODY con l'elemento FRAMESET. Si consulti la sezione sui frame per maggiori informazioni.
Definizioni degli attributi
<P id="mioparagrafo"> Questo è un paragrafo denominato in modo univoco.</P> <P id="tuoparagrafo"> Anche questo è un paragrafo denominato in modo univoco.</P>
L'attributo id ha diversi ruoli in HTML:
L'attributo class, d'altra parte, assegna uno o più nomi di classe ad un elemento; l'elemento può essere considerato come appartenente a queste classi. Un nome di classe può essere condiviso da diverse istanze di elemento. L'attributo class ha diversi ruoli nell'HTML:
Nell'esempio seguente l'elemento SPAN è usato in congiunzione con gli attributi id e class per marcare messaggi del documento. I messaggi appaiono in entrambe le versioni inglese e francese.
<!-- Messaggi in inglese --> <P><SPAN id="msg1" class="info" lang="en">Variable declared twice</SPAN> <P><SPAN id="msg2" class="warning" lang="en">Undeclared variable</SPAN> <P><SPAN id="msg3" class="error" lang="en">Bad syntax for variable name</SPAN>
<!-- Messaggi in francese --> <P><SPAN id="msg1" class="info" lang="fr">Variable déclarée deux fois</SPAN> <P><SPAN id="msg2" class="warning" lang="fr">Variable indéfinie</SPAN> <P><SPAN id="msg3" class="error" lang="fr">Erreur de syntaxe pour variable</SPAN>
Le seguenti regole di stile CSS indicherebbero agli interpreti HTML visuali di mostrare i messaggi informativi in verde (green), i messaggi di avvertimento in giallo (yellow), e i messaggi di errore in rosso (red):
SPAN.info { color: green } SPAN.warning { color: yellow } SPAN.error { color: red }
Si noti che il messaggio francese "msg1" e quello inglese "msg1" non possono apparire nello stesso documento dato che condividono lo stesso valore di id. Gli autori possono fare ulteriore uso dell'attributo id per perfezionare la presentazione di messaggi individuali, per renderli ancore di destinazione, ecc.
Quasi ogni elemento HTML può avere identificatore e informazioni di classe assegnati.
Si supponga, per esempio, di scrivere un documento riguardante un linguaggio di programmazione. Il documento dovrà includere un insieme di esempi preformattati. È usato l'elemento PRE per formattare gli esempi. Si assegna inoltre un colore di sfondo verde (green) a tutte le instanze dell'elemento PRE appartenenti alla classe "esempio".
<HEAD> <TITLE>... titolo del documento ...</TITLE> <STYLE type="text/css"> PRE.esempio { background : green } </STYLE> </HEAD> <BODY> <PRE class="esempio" id="esempio-1"> ...il codice dell'esempio va qui... </PRE> </BODY>
Impostando l'attributo id per questo esempio, si può (1) creare un collegamento ipertestuale ad esso e (2) sostituire informazioni di stile della classe con informazioni di stile dell'istanza.
Nota. L'attributo id condivide lo stesso spazio dei nomi dell'attributo name quando è usato per nomi di ancore. Si consulti la sezione sulle ancore con attributo id per maggiori informazioni.
Certi elementi HTML che possono apparire nell'elemento BODY sono detti "a livello del blocco" mentre altri sono detti "in linea" (conosciuti anche come "a livello del testo"). Questa distinzione si fonda su diverse nozioni:
I fogli di stile forniscono i mezzi per riprodurre elementi arbitrari, incluso se un elemento viene riprodotto come blocco oppure in linea. In alcuni casi, quali uno stile in linea per voci di elenco, questo può essere appropriato, ma generalmente parlando, gli autori sono scoraggiati dallo scavalcare l'interpretazione convenzionale degli elementi HTML in questo modo.
L'alterazione degli idiomi di presentazione tradizionali per gli elementi a livello del blocco e gli elementi in linea ha anche un impatto sull'algoritmo per testo bidirezionale. Si veda la sezione sugli effetti dei fogli di stile sulla direzionalità per maggiori informazioni.
<!ELEMENT DIV - - (%flow;)* -- contenitore di lingua/stile generici --> <!ATTLIST DIV %attrs; -- %coreattrs, %i18n, %events -- > <!ELEMENT SPAN - - (%inline;)* -- contenitore di lingua/stile generici --> <!ATTLIST SPAN %attrs; -- %coreattrs, %i18n, %events -- >
Tag di inizio: obbligatorio, Tag di fine: obbligatorio
Attributi definiti altrove
Gli elementi DIV e SPAN, insieme con gli attributi id and class, offrono un meccanismo generico per aggiungere struttura ai documenti. Questi elementi definiscono il contenuto come in linea (SPAN) o a livello del blocco (DIV) ma non impongono altri idiomi di presentazione sul contenuto. Quindi gli autori possono usare questi elementi in congiunzione con fogli di stile, all'attributo lang, ecc., per ritagliare HTML alle proprie necessità e ai propri gusti.
Si supponga, per esempio, di voler generare un documento HTML in base ad un database di informazioni sui clienti. Poiché HTML non include elementi che identificano oggetti quali "cliente", "numero telefonico", "indirizzo di posta eletronica", ecc., si usano gli elementi DIV e SPAN per ottenere gli effetti strutturali e di presentazione desiderati. Si potrebbe usare l'elemento TABLE come segue per strutturare le informazioni:
<!-- Esempio di dati dal database dei clienti: --> <!-- Nome: Stephane Boyera, Tel: (212) 555-1212, Email: sb@foo.org --> <DIV id="cliente-boyera" class="cliente"> <P><SPAN class="titolo-cliente">Informazioni sul cliente:</SPAN> <TABLE class="dati-cliente"> <TR><TH>Cognome:<TD>Boyera</TR> <TR><TH>Nome:<TD>Stephane</TR> <TR><TH>Tel:<TD>(212) 555-1212</TR> <TR><TH>Email:<TD>sb@foo.org</TR> </TABLE> </DIV> <DIV id="cliente-lafon" class="cliente"> <P><SPAN class="titolo-cliente">Informazioni sul cliente:</SPAN> <TABLE class="dati-cliente"> <TR><TH>Cognome:<TD>Lafon</TR> <TR><TH>Nome:<TD>Yves</TR> <TR><TH>Tel:<TD>(617) 555-1212</TR> <TR><TH>Email:<TD>yves@coucou.com</TR> </TABLE> </DIV>
Più tardi si possono aggiungere facilmente dichiarazioni di fogli di stile per adattare in dettaglio la presentazione di questi elementi del database.
Per un altro esempio di utilizzazione, si consulti l'esempio nella sezione sugli attributi class e id.
Gli interpreti HTML visuali generalmente inseriscono un'interruzione di riga prima e dopo gli elementi DIV, ad esempio:
<P>aaaaaaaaa<DIV>bbbbbbbbb</DIV><DIV>ccccc<P>ccccc</DIV>
che è tipicamente riprodotta come:
aaaaaaaaa bbbbbbbbb ccccc ccccc
<!ENTITY % heading "H1|H2|H3|H4|H5|H6"> <!-- Ci sono sei livelli di intitolazioni da H1 (il più importante) a H6 (il meno importante). --> <!ELEMENT (%heading;) - - (%inline;)* -- intitolazione --> <!ATTLIST (%heading;) %attrs; -- %coreattrs, %i18n, %events -- >
Tag di inizio: obbligatorio, Tag di fine: obbligatorio
Attributi definiti altrove
Un elemento di intitolazione descrive brevemente l'argomento della sezione che introduce. Le informazioni di intitolazione possono essere usate dagli interpreti HTML, per esempio, per costruire automaticamente un sommario per un documento.
Ci sono sei livelli di intitolazione in HTML con H1 come il più importante e H6 come il meno importante. Gli interpreti HTML visuali generalmente riproducono le intitolazioni più importanti in caratteri più grandi di quelle meno importanti.
L'esempio seguente mostra come usare l'elemento DIV per associare una intitolazione alla sezione di documento che la segue. Fare questo permette di definire uno stile per la sezione (colorare lo sfondo, impostare il carattere, ecc.) tramite i fogli di stile.
<DIV class="section" id="forest-elephants" > <H1>Gli elefanti della foresta</H1> <P>In questa sezione si discute dei meno conosciuti elefanti della foresta. ...questa sezione continua... <DIV class="subsection" id="forest-habitat" > <H2>Habitat</H2> <P>Gli elefanti della foresta non vivono sugli alberi ma tra questi. ...questa sottosezione continua... </DIV> </DIV>
Questa struttura può essere decorata con informazioni di stile quali:
<HEAD> <TITLE>... titolo del documento ...</TITLE> <STYLE type="text/css"> DIV.section { text-align: justify; font-size: 12pt} DIV.subsection { text-indent: 2em } H1 { font-style: italic; color: green } H2 { color: green } </STYLE> </HEAD>
Sezioni numerate e riferimenti
HTML non causa di per sé stesso la generazione dei
numeri di sezione dalle intitolazioni.
Questa agevolazione, comunque, può essere offerta dagli interpreti HTML.
Fra breve, linguaggi per fogli di stile quale CSS consentiranno agli autori di controllare la generazione dei numeri di sezione (utile per rimandi in avanti nei documenti stampati, come
in "Si consulti la sezione 7.2").
Alcuni ritengono che saltare livelli di intitolazione sia una cattiva pratica. Essi accettano H1 H2 H1 mentre non accettano H1 H3 H1 poiché il livello di intitolazione H2 risulta saltato.
<!ELEMENT ADDRESS - - (%inline;)* -- informazioni sull'autore --> <!ATTLIST ADDRESS %attrs; -- %coreattrs, %i18n, %events -- >
Tag di inizio: obbligatorio, Tag di fine: obbligatorio
Attributi definiti altrove
L'elemento ADDRESS può essere usato dagli autori per fornire informazioni su chi contattare in merito a un documento o una parte rilevante di un documento quale un modulo. Questo elemento appare spesso all'inizio o alla fine di un documento.
Per esempio, una pagina sul sito Web del W3C relativa a HTML può includere le seguenti informazioni di contatto:
<ADDRESS> <A href="../People/Raggett/">Dave Raggett</A>, <A href="../People/Arnaud/">Arnaud Le Hors</A>, persone da contattare riguardo all'<A href="Activity">Attività del W3C su HTML</A><BR> $Date: 1998/04/02 00:20:03 $ </ADDRESS>