<!--
Questa è la DTD Ristretta dell'HTML 4.0, che esclude gli attributi
e gli elementi di presentazione che il W3C si aspetta di eliminare
con la maturazione del supporto per i fogli di stile. Gli autori
dovrebbero usare la DTD Ristretta quando possibile, ma possono usare
la DTD Transitoria quando è richiesto supporto per gli attributi
e gli elementi di presentazione.
L'HTML 4.0 include meccanismi per fogli di stile, scripting,
incorporamento di oggetti, supporto migliorato per testo da destra
a sinistra e a direzione mista, e ampliamenti dei moduli per una
migliore accessibilità in favore delle persone affette da disabilità.
Draft: $Date: 1998/04/02 00:17:00 $
Autori:
Dave Raggett <dsr@w3.org>
Arnaud Le Hors <lehors@w3.org>
Ian Jacobs <ij@w3.org>
Ulteriori informazioni sull'HTML 4.0 sono disponibili in:
http://www.w3.org/TR/REC-html40
-->
<!--
Utilizzazione tipica:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
"http://www.w3.org/TR/REC-html40/strict.dtd">
<html>
<head>
...
</head>
<body>
...
</body>
</html>
L'URI usato come un identificatore di sistema insieme all'identificatore pubblico
consente all'interprete HTML di scaricare la DTD e gli insiemi di entità
come necessario.
L'FPI (Identificatore Pubblico Formale) per
la DTD Transitoria dell'HTML 4.0 è:
"-//W3C//DTD HTML 4.0 Transitional//EN
e il suo URI è:
http://www.w3.org/TR/REC-html40/loose.dtd
Se si sta scrivendo un documento che include frame, si usi il seguente FPI:
"-//W3C//DTD HTML 4.0 Frameset//EN"
con l'URI:
http://www.w3.org/TR/REC-html40/frameset.dtd
Vengono mantenuti i seguenti URI in relazione a HTML 4.0:
"http://www.w3.org/TR/REC-html40/strict.dtd" (DTD Rigorosa)
"http://www.w3.org/TR/REC-html40/loose.dtd" (DTD Allargata)
"http://www.w3.org/TR/REC-html40/frameset.dtd" (DTD organizzata a Frame)
"http://www.w3.org/TR/REC-html40/HTMLlat1.ent" (Entità Latin-1)
"http://www.w3.org/TR/REC-html40/HTMLsymbol.ent" (Entità Symbol)
"http://www.w3.org/TR/REC-html40/HTMLspecial.ent" (Entità Special)
Questi URI puntano alla versione più recente di ciascun file. Per fare
referimento a questa particolare revisione si usino i seguenti URI:
"http://www.w3.org/TR/1998/REC-html40-19980424/strict.dtd"
"http://www.w3.org/TR/1998/REC-html40-19980424/loose.dtd"
"http://www.w3.org/TR/1998/REC-html40-19980424/frameset.dtd"
"http://www.w3.org/TR/1998/REC-html40-19980424/HTMLlat1.ent"
"http://www.w3.org/TR/1998/REC-html40-19980424/HTMLsymbol.ent"
"http://www.w3.org/TR/1998/REC-html40-19980424/HTMLspecial.ent"
-->
<!--================== Nomi Importati ======================================-->
<!ENTITY % ContentType "CDATA"
-- tipo di media, come da [RFC2045]
-->
<!ENTITY % ContentTypes "CDATA"
-- elenco di tipi di media separati da virgole, come da [RFC2045]
-->
<!ENTITY % Charset "CDATA"
-- una codifica dei caratteri, come da [RFC2045]
-->
<!ENTITY % Charsets "CDATA"
-- un'elenco di codifiche dei caratteri separate da spazi, come da
[RFC2045]
-->
<!ENTITY % LanguageCode "NAME"
-- un codice di lingua, come da [RFC1766]
-->
<!ENTITY % Character "CDATA"
-- un singolo carattere dall'insieme di caratteri [ISO10646]
-->
<!ENTITY % LinkTypes "CDATA"
-- elenco di tipi di collegamenti separati da spazi
-->
<!ENTITY % MediaDesc "CDATA"
-- singolo descrittore di media o elenco di descrittori di media
separati da virgole
-->
<!ENTITY % URI "CDATA"
-- un Identificatore Uniforme di Risorsa,
si veda [URI]
-->
<!ENTITY % Datetime "CDATA" -- informazioni relative a data e orario.
Formato ISO per la data
-->
<!ENTITY % Script "CDATA" -- espressione script -->
<!ENTITY % StyleSheet "CDATA" -- dati di foglio di stile -->
<!ENTITY % Text "CDATA">
<!-- Entità parametro -->
<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK|OBJECT" -- elementi ripetibili
dell'intestazione -->
<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
<!ENTITY % list "UL | OL">
<!ENTITY % preformatted "PRE">
<!--=================== Entità Carattere Mnemoniche ========================-->
<!ENTITY % HTMLlat1 PUBLIC
"-//W3C//ENTITIES Latin1//EN//HTML"
"http://www.w3.org/TR/1998/REC-html40-19980424/HTMLlat1.ent">
%HTMLlat1;
<!ENTITY % HTMLsymbol PUBLIC
"-//W3C//ENTITIES Symbols//EN//HTML"
"http://www.w3.org/TR/1998/REC-html40-19980424/HTMLsymbol.ent">
%HTMLsymbol;
<!ENTITY % HTMLspecial PUBLIC
"-//W3C//ENTITIES Special//EN//HTML"
"http://www.w3.org/TR/1998/REC-html40-19980424/HTMLspecial.ent">
%HTMLspecial;
<!--=================== Attributi Generici =================================-->
<!ENTITY % coreattrs
"id ID #IMPLIED -- identificatore unico nell'ambito del
documento --
class CDATA #IMPLIED -- elenco di classi separati da spazi --
style %StyleSheet; #IMPLIED -- informazioni di stile associate --
title %Text; #IMPLIED -- titolo/espansione con funzione guida --"
>
<!ENTITY % i18n
"lang %LanguageCode; #IMPLIED -- codice di lingua --
dir (ltr|rtl) #IMPLIED -- direzione per testo indeterminato/neutro --"
>
<!ENTITY % events
"onclick %Script; #IMPLIED -- un bottone del dispositivo puntatore è stato
cliccato --
ondblclick %Script; #IMPLIED -- un bottone del dispositivo puntatore è stato
cliccato due volte --
onmousedown %Script; #IMPLIED -- un bottone del dispositivo puntatore è stato
premuto --
onmouseup %Script; #IMPLIED -- un bottone del dispositivo puntatore è stato
rilasciato --
onmouseover %Script; #IMPLIED -- un puntatore è stato spostato sopra
(l'elemento) --
onmousemove %Script; #IMPLIED -- un puntatore è stato spostato di posizione
all'interno (dell'elemento) --
onmouseout %Script; #IMPLIED -- un puntatore è stato spostato fuori
(dall'elemento) --
onkeypress %Script; #IMPLIED -- è stato premuto e rilasciato un tasto --
onkeydown %Script; #IMPLIED -- è stato premuto un tasto --
onkeyup %Script; #IMPLIED -- è stato rilasciato un tasto --"
>
<!-- Interruttore per caratteristica riservata -->
<!ENTITY % HTML.Reserved "IGNORE">
<!-- I seguenti attributi sono riservati per possibile uso futuro -->
<![ %HTML.Reserved; [
<!ENTITY % reserved
"datasrc %URI; #IMPLIED -- una sorgente di dati singola o a
forma tabellare --
datafld CDATA #IMPLIED -- il nome della proprietà o
della colonna --
dataformatas (plaintext|html) plaintext -- testo o html --"
>
]]>
<!ENTITY % reserved "">
<!ENTITY % attrs "%coreattrs; %i18n; %events;">
<!--=================== Marcatura per Testo =================================-->
<!ENTITY % fontstyle
"TT | I | B | BIG | SMALL">
<!ENTITY % phrase "EM | STRONG | DFN | CODE |
SAMP | KBD | VAR | CITE | ABBR | ACRONYM" >
<!ENTITY % special
"A | IMG | OBJECT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO">
<!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON">
<!-- %inline; comprende elementi nel contesto della riga o "a livello del testo" -->
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
<!ELEMENT (%fontstyle;|%phrase;) - - (%inline;)*>
<!ATTLIST (%fontstyle;|%phrase;)
%attrs; -- %coreattrs, %i18n, %events --
>
<!ELEMENT (SUB|SUP) - - (%inline;)* -- pedice, apice -->
<!ATTLIST (SUB|SUP)
%attrs; -- %coreattrs, %i18n, %events --
>
<!ELEMENT SPAN - - (%inline;)* -- contenitore associato a lingua/stile
generici -->
<!ATTLIST SPAN
%attrs; -- %coreattrs, %i18n, %events --
%reserved; -- riservato per possibile uso futuro --
>
<!ELEMENT BDO - - (%inline;)* -- esclusione di I18N BiDi -->
<!ATTLIST BDO
%coreattrs; -- attributi id, class, style, title --
lang %LanguageCode; #IMPLIED -- codice di lingua --
dir (ltr|rtl) #REQUIRED -- direzionalità --
>
<!ELEMENT BR - O EMPTY -- interruzione forzata di riga -->
<!ATTLIST BR
%coreattrs; -- attributi id, class, style, title --
>
<!--================== Modelli di contenuto di HTML ========================-->
<!--
HTML ha due modelli di contenuto fondamentali:
%inline; elementi a livello del carattere e stringhe di testo
%block; elementi tipo blocco ad es. paragrafi ed elenchi
-->
<!ENTITY % block
"P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">
<!ENTITY % flow "%block; | %inline;">
<!--================== Corpo del documento =================================-->
<!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 --
>
<!ELEMENT ADDRESS - - (%inline;)* -- informazioni sull'autore -->
<!ATTLIST ADDRESS
%attrs; -- %coreattrs, %i18n, %events --
>
<!ELEMENT DIV - - (%flow;)* -- contenitore associato a lingua/stile
generici -->
<!ATTLIST DIV
%attrs; -- %coreattrs, %i18n, %events --
%reserved; -- riservato per possibile uso futuro --
>
<!--================== L'Elemento Àncora ===================================-->
<!ENTITY % Shape "(rect|circle|poly|default)">
<!ENTITY % Coords "CDATA" -- elenco di lunghezze separate da virgole -->
<!ELEMENT A - - (%inline;)* -(A) -- àncora -->
<!ATTLIST A
%attrs; -- %coreattrs, %i18n, %events --
charset %Charset; #IMPLIED -- codifica dei caratteri della risorsa
collegata --
type %ContentType; #IMPLIED -- tipo di contenuto con funzione guida --
name CDATA #IMPLIED -- estremità del collegamento con nome
assegnato --
href %URI; #IMPLIED -- URI della risorsa collegata --
hreflang %LanguageCode; #IMPLIED -- codice di lingua --
rel %LinkTypes; #IMPLIED -- tipi di collegamenti diretti --
rev %LinkTypes; #IMPLIED -- tipi di collegamenti inversi --
accesskey %Character; #IMPLIED -- carattere del tasto di scelta rapida --
shape %Shape; rect -- da utilizzare con mappe sensibili
client-side --
coords %Coords; #IMPLIED -- da utilizzare con mappe sensibili
client-side --
tabindex NUMBER #IMPLIED -- posizione nell'ordine di tabulazione --
onfocus %Script; #IMPLIED -- l'elemento è stato messo a fuoco --
onblur %Script; #IMPLIED -- l'elemento è stato de-focalizzato --
>
<!--================== Mappe sensibili client-side =========================-->
<!-- Queste possono essere collocate nello stesso documento o essere raggruppate
in un documento separato sebbene ciò non sia ancora diffusamente supportato -->
<!ELEMENT MAP - - ((%block;)+ | AREA+) -- mappa sensibile client-side -->
<!ATTLIST MAP
%attrs; -- %coreattrs, %i18n, %events --
name CDATA #REQUIRED -- per riferimento da parte
dell'attributo usemap --
>
<!ELEMENT AREA - O EMPTY -- area di mappa sensibile client-side -->
<!ATTLIST AREA
%attrs; -- %coreattrs, %i18n, %events --
shape %Shape; rect -- controlla l'interpretazione
dell'attributo coords --
coords %Coords; #IMPLIED -- elenco di lunghezze separate da virgole --
href %URI; #IMPLIED -- URI della risorsa collegata --
nohref (nohref) #IMPLIED -- questa regione non ha azioni --
alt %Text; #REQUIRED -- breve descrizione --
tabindex NUMBER #IMPLIED -- posizione nell'ordine di tabulazione --
accesskey %Character; #IMPLIED -- carattere del tasto di scelta rapida --
onfocus %Script; #IMPLIED -- l'elemento è stato messo a fuoco --
onblur %Script; #IMPLIED -- l'elemento è stato de-focalizzato --
>
<!--==================== L'Elemento LINK ===================================-->
<!--
I valori di relazione possono essere usati in linea di principio:
a) per barre degli strumenti/menu specifici del documento quando
utilizzati con l'elemento LINK nell'intestazione del documento ad es.
inizio, sommario, precedente,
successivo, indice, fine, guida
b) per collegarsi ad un foglio di stile esterno (rel=stylesheet)
c) per collegarsi ad uno script esterno (rel=script)
d) da fogli di stile per controllare come collezioni di nodi html
vengono riprodotti in documenti stampati
e) per collegarsi ad una versione stampabile di questo documento
ad es. una versione postscript o pdf (rel=alternate media=print)
-->
<!ELEMENT LINK - O EMPTY -- collegamento indipendente dai media -->
<!ATTLIST LINK
%attrs; -- %coreattrs, %i18n, %events --
charset %Charset; #IMPLIED -- codifica dei caratteri della risorsa
collegata --
href %URI; #IMPLIED -- URI della risorsa collegata --
hreflang %LanguageCode; #IMPLIED -- codice di lingua --
type %ContentType; #IMPLIED -- tipo di contenuto con funzione guida --
rel %LinkTypes; #IMPLIED -- tipi di collegamenti diretti --
rev %LinkTypes; #IMPLIED -- tipi di collegamenti inversi --
media %MediaDesc; #IMPLIED -- per la riproduzione su questi media --
>
<!--=================== Immagini ===========================================-->
<!-- Lunghezza definita nella DTD ristretta per gli attributi
cellpadding/cellspacing -->
<!ENTITY % Length "CDATA" -- nn per lunghezza in pixel o nn% per lunghezza
percentuale -->
<!ENTITY % MultiLength "CDATA" -- in pixel, percentuale, o relativa -->
<!ENTITY % MultiLengths "CDATA" -- elenco di entità MultiLength separate da virgole -->
<!ENTITY % Pixels "CDATA" -- intero rappresentante una lunghezza in pixel -->
<!-- Per evitare problemi con gli interpreti HTML a solo testo,
così come per rendere il contenuto dell'immagine comprensibile
e navigabile per gli utenti di interpreti HTML non visuali,
si deve fornire una descrizione tramite ALT e si devono
evitare mappe sensibili server-side -->
<!ELEMENT IMG - O EMPTY -- immagine incorporata -->
<!ATTLIST IMG
%attrs; -- %coreattrs, %i18n, %events --
src %URI; #REQUIRED -- URI dell'immagine da incorporare --
alt %Text; #REQUIRED -- breve descrizione --
longdesc %URI; #IMPLIED -- collegamento a descrizione estesa
(integra l'attributo alt) --
height %Length; #IMPLIED -- altezza prestabilita
--
width %Length; #IMPLIED -- ampiezza prestabilita
--
usemap %URI; #IMPLIED -- utilizza mappa sensibile client-side --
ismap (ismap) #IMPLIED -- utilizza mappa sensibile server-side
--
>
<!-- USEMAP punta ad un elemento MAP che può trovarsi nel documento stesso o in un
documento esterno, sebbene l'ultima possibilità non sia ampiamente supportata -->
<!--========================== OBJECT ======================================-->
<!--
OBJECT è usato per incorporare oggetti come parti di pagine HTML.
Gli elementi PARAM dovrebbero precedere gli altri contenuti.
Il tecnicismo del modello SGML per contenuti misti preclude
che ciò possa essere specificato formalmente...
-->
<!ELEMENT OBJECT - - (PARAM | %flow;)* -- oggetto generico incorporato -->
<!ATTLIST OBJECT
%attrs; -- %coreattrs, %i18n, %events --
declare (declare) #IMPLIED -- indicatore per dichiarazione senza
istanziazione --
classid %URI; #IMPLIED -- identifica una implementazione --
codebase %URI; #IMPLIED -- URI di base per gli attributi classid, data,
archive --
data %URI; #IMPLIED -- riferimento ai dati dell'oggetto --
type %ContentType; #IMPLIED -- tipo di contenuto dei dati --
codetype %ContentType; #IMPLIED -- tipo di contenuto del codice --
archive %URI; #IMPLIED -- elenco di archivi separati da spazi --
standby %Text; #IMPLIED -- messaggio da mostrare durante il
caricamento --
height %Length; #IMPLIED -- altezza prestabilita
--
width %Length; #IMPLIED -- ampiezza prestabilita
--
usemap %URI; #IMPLIED -- utilizza mappa sensibile client-side --
name CDATA #IMPLIED -- da inviare come parte del modulo --
tabindex NUMBER #IMPLIED -- posizione nell'ordine di tabulazione --
%reserved; -- riservato per possibile uso futuro --
>
<!ELEMENT PARAM - O EMPTY -- valore di proprietà con nome assegnato -->
<!ATTLIST PARAM
id ID #IMPLIED -- identificatore unico nell'ambito del
documento --
name CDATA #REQUIRED -- nome della proprietà --
value CDATA #IMPLIED -- valore della proprietà --
valuetype (DATA|REF|OBJECT) DATA -- Come interpretare l'attributo value --
type %ContentType; #IMPLIED -- tipo di contenuto per value quando
valuetype=ref --
>
<!--=================== Separatore orizzontale =============================-->
<!ELEMENT HR - O EMPTY -- separatore orizzontale -->
<!ATTLIST HR
%coreattrs; -- attributi id, class, style, title --
%events;
>
<!--=================== Paragrafi ==========================================-->
<!ELEMENT P - O (%inline;)* -- paragrafo -->
<!ATTLIST P
%attrs; -- %coreattrs, %i18n, %events --
>
<!--=================== Intitolazioni ======================================-->
<!--
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 --
>
<!--=================== Testo preformattato ================================-->
<!-- Esclude marcatura per immagini e variazioni di dimensione dei font -->
<!ENTITY % pre.exclusion "IMG|OBJECT|BIG|SMALL|SUB|SUP">
<!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;) -- testo preformattato -->
<!ATTLIST PRE
%attrs; -- %coreattrs, %i18n, %events --
>
<!--================= Citazioni nel contesto della riga ====================-->
<!ELEMENT Q - - (%inline;)* -- breve citazione nel contesto della riga -->
<!ATTLIST Q
%attrs; -- %coreattrs, %i18n, %events --
cite %URI; #IMPLIED -- URI per documento sorgente o messaggio --
>
<!--=================== Citazioni tipo blocco ==============================-->
<!ELEMENT BLOCKQUOTE - - (%block;|SCRIPT)+ -- citazione estesa -->
<!ATTLIST BLOCKQUOTE
%attrs; -- %coreattrs, %i18n, %events --
cite %URI; #IMPLIED -- URI per documento sorgente o messaggio --
>
<!--=================== Testo Inserito/Rimosso =============================-->
<!-- INS/DEL sono gestiti attraverso l'inclusione nel BODY -->
<!ELEMENT (INS|DEL) - - (%flow;)* -- testo inserito, testo rimosso -->
<!ATTLIST (INS|DEL)
%attrs; -- %coreattrs, %i18n, %events --
cite %URI; #IMPLIED -- informazioni sul motivo della modifica --
datetime %Datetime; #IMPLIED -- data e orario della modifica --
>
<!--=================== Elenchi ============================================-->
<!-- Elenchi di definizioni - DT per il termine, DD per la sua definizione -->
<!ELEMENT DL - - (DT|DD)+ -- elenco di definizioni -->
<!ATTLIST DL
%attrs; -- %coreattrs, %i18n, %events --
>
<!ELEMENT DT - O (%inline;)* -- termine della definizione -->
<!ELEMENT DD - O (%flow;)* -- descrizione della definizione -->
<!ATTLIST (DT|DD)
%attrs; -- %coreattrs, %i18n, %events --
>
<!ELEMENT OL - - (LI)+ -- elenco ordinato -->
<!ATTLIST OL
%attrs; -- %coreattrs, %i18n, %events --
>
<!-- elenco non ordinato (UL) stili puntati -->
<!ELEMENT UL - - (LI)+ -- elenco non ordinato -->
<!ATTLIST UL
%attrs; -- %coreattrs, %i18n, %events --
>
<!ELEMENT LI - O (%flow;)* -- voce di elenco -->
<!ATTLIST LI
%attrs; -- %coreattrs, %i18n, %events --
>
<!--================== Moduli ==============================================-->
<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- modulo interattivo -->
<!ATTLIST FORM
%attrs; -- %coreattrs, %i18n, %events --
action %URI; #REQUIRED -- gestore server-side di moduli --
method (GET|POST) GET -- metodo HTTP utilizzato per inoltrare
il modulo --
enctype %ContentType; "application/x-www-form-urlencoded"
onsubmit %Script; #IMPLIED -- il modulo è stato inoltrato --
onreset %Script; #IMPLIED -- il modulo è stato azzerato --
accept-charset %Charsets; #IMPLIED -- elenco di codifiche dei caratteri
supportate --
>
<!-- Ciascuna etichetta non deve contenere più di UN campo -->
<!ELEMENT LABEL - - (%inline;)* -(LABEL) -- testo di etichetta del campo di modulo -->
<!ATTLIST LABEL
%attrs; -- %coreattrs, %i18n, %events --
for IDREF #IMPLIED -- uguaglia il valore ID del campo --
accesskey %Character; #IMPLIED -- carattere del tasto di scelta rapida --
onfocus %Script; #IMPLIED -- l'elemento è stato messo a fuoco --
onblur %Script; #IMPLIED -- l'elemento è stato de-focalizzato --
>
<!ENTITY % InputType
"(TEXT | PASSWORD | CHECKBOX |
RADIO | SUBMIT | RESET |
FILE | HIDDEN | IMAGE | BUTTON)"
>
<!-- nome di attributo obbligatorio per tutti eccetto "submit" & "reset" -->
<!ELEMENT INPUT - O EMPTY -- controllo di modulo -->
<!ATTLIST INPUT
%attrs; -- %coreattrs, %i18n, %events --
type %InputType; TEXT -- quale tipo di widget viene richiesto --
name CDATA #IMPLIED -- da inoltrare come parte del modulo --
value CDATA #IMPLIED -- obbligatorio per bottoni di opzione
e caselle di selezione --
checked (checked) #IMPLIED -- per bottoni di opzione e caselle di
selezione --
disabled (disabled) #IMPLIED -- inutilizzabile in questo contesto --
readonly (readonly) #IMPLIED -- per testo e password --
size CDATA #IMPLIED -- specifico per ciascun tipo di campo --
maxlength NUMBER #IMPLIED -- numero massimo di caratteri per campi
di testo --
src %URI; #IMPLIED -- per campi con immagini --
alt CDATA #IMPLIED -- breve descrizione --
usemap %URI; #IMPLIED -- utilizza mappa sensibile client-side --
tabindex NUMBER #IMPLIED -- posizione nell'ordine di tabulazione --
accesskey %Character; #IMPLIED -- carattere del tasto di scelta rapida --
onfocus %Script; #IMPLIED -- l'elemento è stato messo a fuoco --
onblur %Script; #IMPLIED -- l'elemento è stato de-focalizzato --
onselect %Script; #IMPLIED -- è stato selezionato del testo --
onchange %Script; #IMPLIED -- il valore dell'elemento è stato modificato --
accept %ContentTypes; #IMPLIED -- elenco di tipi MIME per il caricamento di
file --
%reserved; -- riservato per possibile uso futuro --
>
<!ELEMENT SELECT - - (OPTGROUP|OPTION)+ -- selettore di opzioni -->
<!ATTLIST SELECT
%attrs; -- %coreattrs, %i18n, %events --
name CDATA #IMPLIED -- nome del campo --
size NUMBER #IMPLIED -- righe visibili (contemporaneamente) --
multiple (multiple) #IMPLIED -- il default è la selezione singola --
disabled (disabled) #IMPLIED -- inutilizzabile in questo contesto --
tabindex NUMBER #IMPLIED -- posizione nell'ordine di tabulazione --
onfocus %Script; #IMPLIED -- l'elemento è stato messo a fuoco --
onblur %Script; #IMPLIED -- l'elemento è stato de-focalizzato --
onchange %Script; #IMPLIED -- il valore dell'elemento è stato modificato --
%reserved; -- riservato per possibile uso futuro --
>
<!ELEMENT OPTGROUP - - (OPTION)+ -- raggruppamento di opzioni -->
<!ATTLIST OPTGROUP
%attrs; -- %coreattrs, %i18n, %events --
disabled (disabled) #IMPLIED -- inutilizzabile in questo contesto --
label %Text; #REQUIRED -- da utilizzare nei menu gerarchici --
>
<!ELEMENT OPTION - O (#PCDATA) -- scelta selezionabile -->
<!ATTLIST OPTION
%attrs; -- %coreattrs, %i18n, %events --
selected (selected) #IMPLIED
disabled (disabled) #IMPLIED -- inutilizzabile in questo contesto --
label %Text; #IMPLIED -- da utilizzare nei menu gerarchici --
value CDATA #IMPLIED -- assume di default il contenuto
dell'elemento --
>
<!ELEMENT TEXTAREA - - (#PCDATA) -- campo di testo a righe multiple -->
<!ATTLIST TEXTAREA
%attrs; -- %coreattrs, %i18n, %events --
name CDATA #IMPLIED
rows NUMBER #REQUIRED
cols NUMBER #REQUIRED
disabled (disabled) #IMPLIED -- inutilizzabile in questo contesto --
readonly (readonly) #IMPLIED
tabindex NUMBER #IMPLIED -- posizione nell'ordine di tabulazione --
accesskey %Character; #IMPLIED -- carattere del tasto di scelta rapida --
onfocus %Script; #IMPLIED -- l'elemento è stato messo a fuoco --
onblur %Script; #IMPLIED -- l'elemento è stato de-focalizzato --
onselect %Script; #IMPLIED -- è stato selezionato del testo --
onchange %Script; #IMPLIED -- il valore dell'elemento è stato modificato --
%reserved; -- riservato per possibile uso futuro --
>
<!--
#PCDATA serve a risolvere il problema del contenuto misto,
secondo le Specifiche lì è consentito solo spazio bianco!
-->
<!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- raggruppamento di controlli
di modulo -->
<!ATTLIST FIELDSET
%attrs; -- %coreattrs, %i18n, %events --
>
<!ELEMENT LEGEND - - (%inline;)* -- didascalia dell'elemento fieldset -->
<!ENTITY % LAlign "(top|bottom|left|right)">
<!ATTLIST LEGEND
%attrs; -- %coreattrs, %i18n, %events --
accesskey %Character; #IMPLIED -- carattere del tasto di scelta rapida --
>
<!ELEMENT BUTTON - -
(%flow;)* -(A|%formctrl;|FORM|FIELDSET)
-- bottone a pressione -->
<!ATTLIST BUTTON
%attrs; -- %coreattrs, %i18n, %events --
name CDATA #IMPLIED
value CDATA #IMPLIED -- inviato al server quando inoltrato --
type (button|submit|reset) submit -- da utilizzare come bottone di modulo --
disabled (disabled) #IMPLIED -- inutilizzabile in questo contesto --
tabindex NUMBER #IMPLIED -- posizione nell'ordine di tabulazione --
accesskey %Character; #IMPLIED -- carattere del tasto di scelta rapida --
onfocus %Script; #IMPLIED -- l'elemento è stato messo a fuoco --
onblur %Script; #IMPLIED -- l'elemento è stato de-focalizzato --
%reserved; -- riservato per possibile uso futuro --
>
<!--======================= Tabelle ========================================-->
<!-- Standard IETF per le tabelle HTML, si veda [RFC1942] -->
<!--
L'attributo BORDER imposta lo spessore della cornice attorno
alla tabella. Le unità di default sono i pixel di schermo.
L'attributo FRAME specifica quale parte della cornice attorno
alla tabella dovrebbe essere riprodotta. I valori non sono gli
stessi di CALS per evitare conflitti di nome con l'attributo
VALIGN.
Il valore "border" è incluso per preservare la compatibilità
con il precedente <TABLE BORDER> che produce frame=border e
border=implied. Per <TABLE BORDER=1> si ha border=1 e frame=implied.
In questo caso è appropriato trattare questo come frame=border
per preservare la compatibilità con i browser costruiti.
-->
<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
<!--
L'attributo RULES definisce quali separatori tracciare tra le celle:
Se RULES è assente allora assumere:
"none" se BORDER è assente o BORDER=0 altrimenti "all"
-->
<!ENTITY % TRules "(none | groups | rows | cols | all)">
<!-- posizionamento orizzontale della tabella relativamente al documento -->
<!ENTITY % TAlign "(left|center|right)">
<!-- attributi di allineamento orizzontale per i contenuti delle celle -->
<!ENTITY % cellhalign
"align (left|center|right|justify|char) #IMPLIED
char %Character; #IMPLIED -- carattere di allineamento, ad es. char=':' --
charoff %Length; #IMPLIED -- indentamento del carattere di allineamento --"
>
<!-- attributi di allineamento verticale per i contenuti delle celle -->
<!ENTITY % cellvalign
"valign (top|middle|bottom|baseline) #IMPLIED"
>
<!ELEMENT TABLE - -
(CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
<!ELEMENT CAPTION - - (%inline;)* -- didascalia di tabella -->
<!ELEMENT THEAD - O (TR)+ -- intestazione di tabella -->
<!ELEMENT TFOOT - O (TR)+ -- piè di tabella -->
<!ELEMENT TBODY O O (TR)+ -- corpo di tabella -->
<!ELEMENT COLGROUP - O (col)* -- raggruppamento di colonne di tabella -->
<!ELEMENT COL - O EMPTY -- colonna di tabella -->
<!ELEMENT TR - O (TH|TD)+ -- riga di tabella -->
<!ELEMENT (TH|TD) - O (%flow;)* -- cella contenente intestazione di tabella,
cella contenente dati di tabella -->
<!ATTLIST TABLE -- elemento tabella --
%attrs; -- %coreattrs, %i18n, %events --
summary %Text; #IMPLIED -- scopo/struttura per riproduzione vocale --
width %Length; #IMPLIED -- ampiezza della tabella --
border %Pixels; #IMPLIED -- controlla l'ampiezza della cornice attorno
alla tabella --
frame %TFrame; #IMPLIED -- quali parti della cornice riprodurre --
rules %TRules; #IMPLIED -- separazioni tra righe e colonne --
cellspacing %Length; #IMPLIED -- spaziatura tra una cella e l'altra --
cellpadding %Length; #IMPLIED -- spaziatura dentro le celle --
%reserved; -- riservato per possibile uso futuro
datapagesize CDATA #IMPLIED -- riservato per possibile uso futuro --
>
<!ENTITY % CAlign "(top|bottom|left|right)">
<!ATTLIST CAPTION
%attrs; -- %coreattrs, %i18n, %events --
>
<!--
COLGROUP raggruppa un insieme di elementi COL. Permette di raggruppare insieme
diverse colonne collegate semanticamente.
-->
<!ATTLIST COLGROUP
%attrs; -- %coreattrs, %i18n, %events --
span NUMBER 1 -- numero di colonne di default nel
raggruppamento --
width %MultiLength; #IMPLIED -- ampiezza di default per gli elementi COL
inclusi --
%cellhalign; -- allineamento orizzontale nelle celle --
%cellvalign; -- allineamento verticale nelle celle --
>
<!--
Gli elementi COL definiscono le proprietà di allineamento
delle celle in una o più colonne.
L'attributo width specifica l'ampiezza delle colonne, ad es.
width=64 ampiezza in pixel di schermo
width=0.5* ampiezza relativa di 0.5
L'attributo SPAN fa sì che gli attributi di un elemento
COL siano applicati a più di una colonna.
-->
<!ATTLIST COL -- raggruppamenti di colonne e proprietà --
%attrs; -- %coreattrs, %i18n, %events --
span NUMBER 1 -- gli attributi dell'elemento COL riguardano
N colonne --
width %MultiLength; #IMPLIED -- specificazione dell'ampiezza delle colonne --
%cellhalign; -- allineamento orizzontale nelle celle --
%cellvalign; -- allineamento verticale nelle celle --
>
<!--
Si usi THEAD per duplicare le intestazioni quando la tabella viene
spezzata a cavallo di due pagina, o per intestazioni statiche quando
le sezioni TBODY sono riprodotte nel pannello scorrevole.
Si usi TFOOT per duplicare le note in calce quando la tabella viene
spezzata a cavallo di due pagina, o per note statiche quando le
sezioni TBODY sono riprodotte nel pannello scorrevole.
Si usino sezioni TBODY multiple quando sono necessari separatori
tra gruppi di righe della tabella.
-->
<!ATTLIST (THEAD|TBODY|TFOOT) -- porzione di tabella --
%attrs; -- %coreattrs, %i18n, %events --
%cellhalign; -- allineamento orizzontale nelle celle --
%cellvalign; -- allineamento verticale nelle celle --
>
<!ATTLIST TR -- riga di tabella --
%attrs; -- %coreattrs, %i18n, %events --
%cellhalign; -- allineamento orizzontale nelle celle --
%cellvalign; -- allineamento verticale nelle celle --
>
<!-- Scope è più semplice dell'attributo axes per le tabelle comuni -->
<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
<!-- TH è per le intestazioni, TD per i dati,
ma per celle che agiscono come entrambi usarei TD -->
<!ATTLIST (TH|TD) -- cella contenente dati o intestazione --
%attrs; -- %coreattrs, %i18n, %events --
abbr %Text; #IMPLIED -- abbreviazione per cella di intestazione --
axis CDATA #IMPLIED -- denomina gruppi di intestazioni correlate --
headers IDREFS #IMPLIED -- elenco di attributi id per le celle di
intestazione --
scope %Scope; #IMPLIED -- campo di azione ricoperto dalle celle di
intestazione --
rowspan NUMBER 1 -- numero di righe occupate da una cella --
colspan NUMBER 1 -- numero di colonne occupate da una cella --
%cellhalign; -- allineamento orizzontale nelle celle --
%cellvalign; -- allineamento verticale nelle celle --
>
<!--================ Intestazione del documento ============================-->
<!-- %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 --
>
<!-- 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>
<!ELEMENT BASE - O EMPTY -- URI di base del documento -->
<!ATTLIST BASE
href %URI; #REQUIRED -- URI che agisce come URI di base --
>
<!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 --
>
<!ELEMENT STYLE - - %StyleSheet -- informazioni di stile -->
<!ATTLIST STYLE
%i18n; -- attributi lang, dir, da utilizzare con
l'attributo title --
type %ContentType; #REQUIRED -- tipo di contenuto del linguaggio di stile --
media %MediaDesc; #IMPLIED -- progettato per l'utilizzazione con questi
media --
title %Text; #IMPLIED -- titolo guida --
>
<!ELEMENT SCRIPT - - %Script; -- comandi script -->
<!ATTLIST SCRIPT
charset %Charset; #IMPLIED -- codifica dei caratteri della risorsa
collegata --
type %ContentType; #REQUIRED -- tipo di contenuto del linguaggio di script --
src %URI; #IMPLIED -- URI per uno script esterno --
defer (defer) #IMPLIED -- l'interprete HTML può differire
l'esecuzione dello script --
event CDATA #IMPLIED -- riservato per possibile uso futuro --
for %URI; #IMPLIED -- riservato per possibile uso futuro --
>
<!ELEMENT NOSCRIPT - - (%block;)+
-- contenitore di contenuto alternativo per riproduzione non basata su script -->
<!ATTLIST NOSCRIPT
%attrs; -- %coreattrs, %i18n, %events --
>
<!--================ Struttura del documento ===============================-->
<!ENTITY % html.content "HEAD, BODY">
<!ELEMENT HTML O O (%html.content;) -- elemento radice del documento -->
<!ATTLIST HTML
%i18n; -- attributi lang, dir --
>