<!-- 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 -- >