<!-- Questa è la DTD Rigorosa dell'HTML 4.0, che esclude gli attributi e gli elementi di rappresentazione che il W3C ritiene saranno soppiantati appena maturerà il supporto per i fogli di stile. Gli autori dovrebbero usare la DTD Rigorosa quando possibile, ma possono usare la DTD Transitoria quando è richiesto il supporto per gli attributi e gli elementi di rappresentazione. L'HTML 4.0 include meccanismi per fogli di stile, programmazione, inclusione di oggetti, supporto migliorato per il testo scritto da destra a sinistra o a direzione mista, e miglioramenti ai moduli per fornire una migliore accessibilità alle persone disabili. Draft: $Date: 1997/12/18 09:36:02 $ Autori: Dave Raggett <dsr@w3.org> Arnaud Le Hors <lehors@w3.org> Ian Jacobs <ij@w3.org> Ulteriori informazioni circa l'HTML 4.0 si possono trovare presso: http://www.w3.org/TR/REC-html40 --> <!-- Uso tipico: <!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 identificatore di sistema insieme all'identificatore pubblico consente all'inteprete HTML di prelevare la DTD e le liste delle entità appena necessario. L'FPI per la DTD Transitoria dell'HTML 4.0 è: "-//W3C//DTD HTML 4.0 Transitional//EN ed il suo URI è: http://www.w3.org/TR/REC-html40/loose.dtd Se state scrivendo un documento che include i frame, usate il seguente FPI: "-//W3C//DTD HTML 4.0 Frameset//EN" con l'URI: http://www.w3.org/TR/REC-html40/frameset.dtd Possono essere usati i seguenti URI in relazione all'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 basata su 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 si riferiscono alla versione più recente di ogni file. Per referenziare questa specifica revisione usate i seguenti URI: "http://www.w3.org/TR/REC-html40-971218/strict.dtd" "http://www.w3.org/TR/REC-html40-971218/loose.dtd" "http://www.w3.org/TR/REC-html40-971218/frameset.dtd" "http://www.w3.org/TR/REC-html40-971218/HTMLlat1.ent" "http://www.w3.org/TR/REC-html40-971218/HTMLsymbol.ent" "http://www.w3.org/TR/REC-html40-971218/HTMLspecial.ent" --> <!--================== Nomi Importati ====================================--> <!ENTITY % ContentType "CDATA" -- tipo di media, come secondo [RFC2045] --> <!ENTITY % ContentTypes "CDATA" -- lista separata con virgole di tipi di media , come secondo [RFC2045] --> <!ENTITY % Charset "CDATA" -- un insieme di caratteri, come secondo [RFC2045] --> <!ENTITY % Charsets "CDATA" -- una lista separata con spazi di insieme di caratteri, come secondo [RFC2045] --> <!ENTITY % LanguageCode "NAME" -- un codice di lingua, come secondo [RFC1766] --> <!ENTITY % Character "CDATA" -- un singolo carattere da [ISO10646] --> <!ENTITY % LinkTypes "CDATA" -- lista di tipi di collegamenti separata con spazi --> <!ENTITY % MediaDesc "CDATA" -- singolo o lista separata con virgole di descrittori di media (o "media descriptors") --> <!ENTITY % URI "CDATA" -- un Uniform Resource Identifier (o "Identificatore Uniforme di Risorsa"), consultare [URI] --> <!ENTITY % Datetime "CDATA" -- informazione su data ed orario. Formato data ISO --> <!ENTITY % Script "CDATA" -- enunciati di programma --> <!ENTITY % StyleSheet "CDATA" -- dati dei fogli 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 =================================--> <!ENTITY % HTMLlat1 PUBLIC "-//W3C//ENTITIES Latin1//EN//HTML" "http://www.w3.org/TR/REC-html40-971218/HTMLlat1.ent"> %HTMLlat1; <!ENTITY % HTMLsymbol PUBLIC "-//W3C//ENTITIES Symbols//EN//HTML" "http://www.w3.org/TR/REC-html40-971218/HTMLsymbol.ent"> %HTMLsymbol; <!ENTITY % HTMLspecial PUBLIC "-//W3C//ENTITIES Special//EN//HTML" "http://www.w3.org/TR/REC-html40-971218/HTMLspecial.ent"> %HTMLspecial; <!--=================== Attributi Generici ===============================--> <!ENTITY % coreattrs "id ID #IMPLIED -- id univoco nell'intero documento -- class CDATA #IMPLIED -- lista di classi separata con spazi -- style %StyleSheet; #IMPLIED -- informazione connessa ai fogli di stile -- title %Text; #IMPLIED -- titolo introduttivo/chiarimento --" > <!ENTITY % i18n "lang %LanguageCode; #IMPLIED -- codice di lingua -- dir (ltr|rtl) #IMPLIED -- direzione per testo debole/neutrale --" > <!ENTITY % events "onclick %Script; #IMPLIED -- un pulsante del puntatore è stato cliccato -- ondblclick %Script; #IMPLIED -- un pulsante del puntatore è stato cliccato due volte-- onmousedown %Script; #IMPLIED -- un pulsante del puntatore è stato abbassato -- onmouseup %Script; #IMPLIED -- un pulsante del puntatore è stato alzato -- onmouseover %Script; #IMPLIED -- il puntatore è stato mosso sopra -- onmousemove %Script; #IMPLIED -- il puntatore è stato mosso all'interno di -- onmouseout %Script; #IMPLIED -- il puntatore è stato mosso via da -- onkeypress %Script; #IMPLIED -- un tasto è stato premuto e rilasciato -- onkeydown %Script; #IMPLIED -- un tasto è stato premuto -- onkeyup %Script; #IMPLIED -- un tasto è stato rilasciato --" > <!-- Enunciati riservati per il futuro--> <!ENTITY % HTML.Reserved "IGNORE"> <!-- I seguenti attributi sono riservati per un possibile utilizzo futuro --> <![ %HTML.Reserved; [ <!ENTITY % reserved "datasrc %URI; #IMPLIED -- una sorgente di dati singola o tabulare -- datafld CDATA #IMPLIED -- la proprietà o il nome della colonna -- dataformatas (plaintext|html) plaintext -- testo o html --" > ]]> <!ENTITY % reserved ""> <!ENTITY % attrs "%coreattrs; %i18n; %events;"> <!--=================== Impaginazione 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 in linea 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 generico di linguaggio/stile --> <!ATTLIST SPAN %attrs; -- %coreattrs, %i18n, %events -- %reserved; -- riservato per possibile uso futuro -- > <!ELEMENT BDO - - (%inline;)* -- I18N BiDi over-ride --> <!ATTLIST BDO %coreattrs; -- id, class, style, title -- lang %LanguageCode; #IMPLIED -- codice di lingua -- dir (ltr|rtl) #REQUIRED -- direzione -- > <!ELEMENT BR - O EMPTY -- interruzione forzata della linea --> <!ATTLIST BR %coreattrs; -- id, class, style, title -- > <!--================== Modelli di contenuto dell'HTML ====================--> <!-- L'HTML ha due modelli di contenuto di base: %inline; elementi in linea e delle stringhe di testo %block; elementi a livello blocco ad es. paragrafi e liste --> <!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 generico di linguaggio/stile --> <!ATTLIST DIV %attrs; -- %coreattrs, %i18n, %events -- %reserved; -- riservato per possibile uso futuro -- > <!--================== L'Elemento Ancora =================================--> <!ENTITY % Shape "(rect|circle|poly|default)"> <!ENTITY % Coords "CDATA" -- lista di lunghezze separate con virgole --> <!ELEMENT A - - (%inline;)* -(A) -- ancora --> <!ATTLIST A %attrs; -- %coreattrs, %i18n, %events -- charset %Charset; #IMPLIED -- insieme di caratteri della risorsa referenziata -- type %ContentType; #IMPLIED -- tipo di contenuto -- name CDATA #IMPLIED -- nome della destinazione di un collegamento -- href %URI; #IMPLIED -- URI per la risorsa referenziata -- hreflang %LanguageCode; #IMPLIED -- codice di lingua -- rel %LinkTypes; #IMPLIED -- tipi di link forward (o "riferimento successivo") -- rev %LinkTypes; #IMPLIED -- tipi di link reverse (o "riferimento precedente") -- accesskey %Character; #IMPLIED -- carattere di un tasto di scelta rapida -- shape %Shape; rect -- da usare con le mappe per immagini gestite dal client -- coords %Coords; #IMPLIED -- da usare con le mappe per immagini gestite dal client -- tabindex NUMBER #IMPLIED -- posizione nell'ordine di selezione -- onfocus %Script; #IMPLIED -- l'elemento è stato selezionato -- onblur %Script; #IMPLIED -- l'elemento è stato deselezionato -- > <!--================== Mappe per immagini gestite dal client =============--> <!-- Queste sono poste nello stesso documento o raggruppate in un documento separato sebbene ciò non sia ancora diffusamente implementato --> <!ELEMENT MAP - - ((%block;)+ | AREA+) -- mappa per immagini gestita dal client --> <!ATTLIST MAP %attrs; -- %coreattrs, %i18n, %events -- name CDATA #REQUIRED -- per essere referenziato da usemap -- > <!ELEMENT AREA - O EMPTY -- area della mappa gestita dal client --> <!ATTLIST AREA %attrs; -- %coreattrs, %i18n, %events -- shape %Shape; rect -- controlla l'interpretazione delle coordinate -- coords %Coords; #IMPLIED -- lista di lunghezze separate con virgole -- href %URI; #IMPLIED -- URI per la risorsa referenziata -- nohref (nohref) #IMPLIED -- questa regione non ha azione -- alt %Text; #REQUIRED -- breve descrizione -- tabindex NUMBER #IMPLIED -- posizione nell'ordine di selezione -- accesskey %Character; #IMPLIED -- carattere di un tasto di scelta rapida -- onfocus %Script; #IMPLIED -- l'elemento è stato selezionato -- onblur %Script; #IMPLIED -- l'elemento è stato deselezionato -- > <!--================== L'Elemento LINK ===================================--> <!-- I valori di relazione possono essere usati di norma: a) Per toolbar/menu proprie del documento quando usate insieme all'elemento Link nell'intestazione ad es. inizio, sommario, precedente, successivo, indice, fine, guida b) per referenziare un foglio di stile esterno (rel=stylesheet) c) per referenziare uno script esterno (rel=script) d) dai fogli di stile per controllare come le collezioni di nodi html sono mostrati nei documenti stampati e) per referenziare una versione stampabile del documento ad es. una versione postscript o pdf (rel=alternate media=print) --> <!ELEMENT LINK - O EMPTY -- un collegamento indipendente dai media --> <!ATTLIST LINK %attrs; -- %coreattrs, %i18n, %events -- charset %Charset; #IMPLIED -- insieme di caratteri della risorsa referenziata -- href %URI; #IMPLIED -- URI per la risorsa referenziata -- hreflang %LanguageCode; #IMPLIED -- codice di lingua -- type %ContentType; #IMPLIED -- tipo di contenuto -- rel %LinkTypes; #IMPLIED -- tipi di collegamento successivo -- rev %LinkTypes; #IMPLIED -- tipi di collegamento precedente -- media %MediaDesc; #IMPLIED -- per essere mostrati su questi media -- > <!--=================== Immagini =========================================--> <!-- Lunghezza definita nella DTD rigorosa per cellpadding/cellspacing --> <!ENTITY % Length "CDATA" -- nn per lunghezze in pixel o nn% per quelle percentuali --> <!ENTITY % MultiLength "CDATA" -- in pixel, percentuale, o relativa --> <!ENTITY % MultiLengths "CDATA" -- lista separata con virgole di MultiLength --> <!ENTITY % Pixels "CDATA" -- intero che rappresenta una lunghezza in pixel --> <!-- Per evitare problemi con interpreti solo testo come pure per rendere il contenuto dell'immagine navigabile e comprensibile per gli utenti di interpreti non visuali, è necessario fornire una descrizione con ALT, ed evitare mappe per immagini gestite dal server --> <!ELEMENT IMG - O EMPTY -- Immagine inclusa --> <!ATTLIST IMG %attrs; -- %coreattrs, %i18n, %events -- src %URI; #REQUIRED -- URI dell'immagine da includere -- alt %Text; #REQUIRED -- breve descrizione -- longdesc %URI; #IMPLIED -- collegamento ad una descrizione estesa (completa alt) -- height %Length; #IMPLIED -- reimposta l'altezza -- width %Length; #IMPLIED -- reimposta la larghezza -- usemap %URI; #IMPLIED -- usa una mappa per immagini gestita dal client -- ismap (ismap) #IMPLIED -- usa una mappa per immagini gestita dal server -- > <!-- USEMAP referenzia un elemento MAP che può trovarsi nello stesso documento o in uno esterno, sebbene l'ultima possibilità non sia diffusamente implementata --> <!--==================== OBJECT ======================================--> <!-- OBJECT è usato per inserire oggetti come parte delle pagine HTML. Gli elementi PARAM dovrebbero precedere l'altro contenuto. Il modello SGML per contenuti misti preclude tecnicamente che ciò possa essere specificato formalmente... --> <!ELEMENT OBJECT - - (PARAM | %flow;)* -- generico oggetto incluso --> <!ATTLIST OBJECT %attrs; -- %coreattrs, %i18n, %events -- declare (declare) #IMPLIED -- impone di dichiarare e di non instanziare -- classid %URI; #IMPLIED -- identifica un'implementazione -- codebase %URI; #IMPLIED -- URI di base per classid, data, archive -- data %URI; #IMPLIED -- riferimento ad i dati dell'oggetto -- type %ContentType; #IMPLIED -- tipo di contenuto per i dati -- codetype %ContentType; #IMPLIED -- tipo di contenuto per il codice -- archive %URI; #IMPLIED -- lista di archivi separata con spazi -- standby %Text; #IMPLIED -- messaggio da mostrare durante il caricamento -- height %Length; #IMPLIED -- reimposta l'altezza -- width %Length; #IMPLIED -- reimposta la larghezza -- usemap %URI; #IMPLIED -- usa una mappa per immagini gestita dal client -- name CDATA #IMPLIED -- invia come parte di un modulo -- tabindex NUMBER #IMPLIED -- posizione nell'ordine di tabulazione -- %reserved; -- riservato per possibile uso futuro -- > <!ELEMENT PARAM - O EMPTY -- valore di una proprietà con nome simbolico --> <!ATTLIST PARAM id ID #IMPLIED -- id univoco nell'intero documento -- name CDATA #REQUIRED -- nome della proprietà -- value CDATA #IMPLIED -- valore della proprietà -- valuetype (DATA|REF|OBJECT) DATA -- come interpretare il valore -- type %ContentType; #IMPLIED -- tipo di contenuto quando valuetype=ref -- > <!--=================== Divisore orizzontale ================================--> <!ELEMENT HR - O EMPTY -- divisore orizzontale --> <!ATTLIST HR %coreattrs; -- id, class, style, title -- %events; > <!--=================== Paragrafi ========================================--> <!ELEMENT P - O (%inline;)* -- paragrafo --> <!ATTLIST P %attrs; -- %coreattrs, %i18n, %events -- > <!--=================== Titoli ===========================================--> <!-- Ci sono sei livelli di titolazione da H1 (il più importante) ad H6 (il meno importante). --> <!ELEMENT (%heading;) - - (%inline;)* -- titolo --> <!ATTLIST (%heading;) %attrs; -- %coreattrs, %i18n, %events -- > <!--=================== Testo precomposto ==============================--> <!-- Esclude l'inserimento di immagini e variazioni nella dimensione dei font --> <!ENTITY % pre.exclusion "IMG|OBJECT|BIG|SMALL|SUB|SUP"> <!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;) -- testo precomposto --> <!ATTLIST PRE %attrs; -- %coreattrs, %i18n, %events -- > <!--===================== Citazioni brevi ================================--> <!ELEMENT Q - - (%inline;)* -- citazione breve --> <!ATTLIST Q %attrs; -- %coreattrs, %i18n, %events -- cite %URI; #IMPLIED -- URI per la fonte -- > <!--=================== Citazioni estese =================================--> <!ELEMENT BLOCKQUOTE - - (%block;|SCRIPT)+ -- citazione estesa --> <!ATTLIST BLOCKQUOTE %attrs; -- %coreattrs, %i18n, %events -- cite %URI; #IMPLIED -- URI per la fonte -- > <!--=================== Testo Inserito/Eliminato =========================--> <!-- INS/DEL sono gestiti per mezzo della inclusione nel corpo del testo --> <!ELEMENT (INS|DEL) - - (%flow;)* -- testo inserito, testo eliminato --> <!ATTLIST (INS|DEL) %attrs; -- %coreattrs, %i18n, %events -- cite %URI; #IMPLIED -- informazioni sul motivo della modifica -- datetime %Datetime; #IMPLIED -- data ed ora della modifica -- > <!--=================== Liste ============================================--> <!-- Liste di definizioni - DT per i termini, DD per le loro definizioni --> <!ELEMENT DL - - (DT|DD)+ -- lista di definizioni --> <!ATTLIST DL %attrs; -- %coreattrs, %i18n, %events -- > <!ELEMENT DT - O (%inline;)* -- termine di definizione --> <!ELEMENT DD - O (%flow;)* -- descrizione della definizione --> <!ATTLIST (DT|DD) %attrs; -- %coreattrs, %i18n, %events -- > <!ELEMENT OL - - (LI)+ -- lista ordinata --> <!ATTLIST OL %attrs; -- %coreattrs, %i18n, %events -- > <!-- lista non ordinata (UL) stili con pallini --> <!ELEMENT UL - - (LI)+ -- lista non ordinata --> <!ATTLIST UL %attrs; -- %coreattrs, %i18n, %events -- > <!ELEMENT LI - O (%flow;)* -- elemento della lista --> <!ATTLIST LI %attrs; -- %coreattrs, %i18n, %events -- > <!--================ Moduli ==============================================--> <!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- modulo interattivo --> <!ATTLIST FORM %attrs; -- %coreattrs, %i18n, %events -- action %URI; #REQUIRED -- gestore della scheda sul server -- method (GET|POST) GET -- metodo HTTP usato per inviare il modulo -- enctype %ContentType; "application/x-www-form-urlencoded" onsubmit %Script; #IMPLIED -- il modulo è stato inviato -- onreset %Script; #IMPLIED -- il modulo è stato annullato -- accept-charset %Charsets; #IMPLIED -- lista di insieme di caratteri gestiti -- > <!-- Ogni etichetta non deve contenere più di UN campo --> <!ELEMENT LABEL - - (%inline;)* -(LABEL) -- testo di un'etichetta di un campo del modulo --> <!ATTLIST LABEL %attrs; -- %coreattrs, %i18n, %events -- for IDREF #IMPLIED -- corrisponde al valore ID del campo -- accesskey %Character; #IMPLIED -- carattere di un tasto di scelta rapida -- onfocus %Script; #IMPLIED -- l'elemento è stato selezionato -- onblur %Script; #IMPLIED -- l'elemento è stato deselezionato -- > <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT | RESET | FILE | HIDDEN | IMAGE | BUTTON)" > <!-- nome dell'attributo richiesto per tutti tranne che per submit & reset --> <!ELEMENT INPUT - O EMPTY -- elemento del modulo --> <!ATTLIST INPUT %attrs; -- %coreattrs, %i18n, %events -- type %InputType; TEXT -- che tipo di componente è richiesto -- name CDATA #IMPLIED -- invia come parte del modulo -- value CDATA #IMPLIED -- richiesto per radio e checkbox -- checked (checked) #IMPLIED -- per radio e checkbox -- disabled (disabled) #IMPLIED -- non utilizzabile in questo contesto -- readonly (readonly) #IMPLIED -- per testo e password -- size CDATA #IMPLIED -- specifico per ogni tipo di campo -- maxlength NUMBER #IMPLIED -- numero massimo di caratteri per il campo di testo -- src %URI; #IMPLIED -- per campi con immagini -- alt CDATA #IMPLIED -- descrizione breve -- usemap %URI; #IMPLIED -- usa mappa per immagini gestita dal client -- tabindex NUMBER #IMPLIED -- posizione nell'ordine di tabulazione -- accesskey %Character; #IMPLIED -- carattere di un tasto di scelta rapida -- onfocus %Script; #IMPLIED -- l'elemento è stato selezionato -- onblur %Script; #IMPLIED -- l'elemento è stato deselezionato -- onselect %Script; #IMPLIED -- del testo è stato selezionato -- onchange %Script; #IMPLIED -- il valore dell'elemento è stato cambiato -- accept %ContentTypes; #IMPLIED -- lista di tipi MIME per l'invio del 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 -- multiple (multiple) #IMPLIED -- è predefinita la selezione singola -- disabled (disabled) #IMPLIED -- non utilizzabile in questo contesto -- tabindex NUMBER #IMPLIED -- posizione nell'ordine di tabulazione -- onfocus %Script; #IMPLIED -- l'elemento è stato selezionato -- onblur %Script; #IMPLIED -- l'elemento è stato deselezionato -- onchange %Script; #IMPLIED -- il valore dell'elemento è stato cambiato -- %reserved; -- riservato per possibile uso futuro -- > <!ELEMENT OPTGROUP - - (OPTION)+ -- gruppo di opzioni --> <!ATTLIST OPTGROUP %attrs; -- %coreattrs, %i18n, %events -- disabled (disabled) #IMPLIED -- non utilizzabile in questo contesto -- label %Text; #REQUIRED -- da usare in menu gerarchici -- > <!ELEMENT OPTION - O (#PCDATA) -- scelta selezionabile --> <!ATTLIST OPTION %attrs; -- %coreattrs, %i18n, %events -- selected (selected) #IMPLIED disabled (disabled) #IMPLIED -- non utilizzabile in questo contesto -- label %Text; #IMPLIED -- da usare in menu gerarchici -- value CDATA #IMPLIED -- l'opzione predefinita è il contenuto dell'elemento -- > <!ELEMENT TEXTAREA - - (#PCDATA) -- campo di testo multiriga --> <!ATTLIST TEXTAREA %attrs; -- %coreattrs, %i18n, %events -- name CDATA #IMPLIED rows NUMBER #REQUIRED cols NUMBER #REQUIRED disabled (disabled) #IMPLIED -- non utilizzabile in questo contesto -- readonly (readonly) #IMPLIED tabindex NUMBER #IMPLIED -- posizione nell'ordine di selezione -- accesskey %Character; #IMPLIED -- carattere di un tasto di scelta rapida -- onfocus %Script; #IMPLIED -- l'elemento è stato selezionato -- onblur %Script; #IMPLIED -- l'elemento è stato deselezionato -- onselect %Script; #IMPLIED -- del testo è stato selezionato -- onchange %Script; #IMPLIED -- il valore dell'elemento è stato cambiato -- %reserved; -- riservato per possibile uso futuro -- > <!-- #PCDATA deve risolvere il problema del contenuto misto, secondo la specifica solo spazi bianchi sono consentiti qui! --> <!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- gruppo di componenti del modulo --> <!ATTLIST FIELDSET %attrs; -- %coreattrs, %i18n, %events -- > <!ELEMENT LEGEND - - (%inline;)* -- legenda di un insieme di campi --> <!ENTITY % LAlign "(top|bottom|left|right)"> <!ATTLIST LEGEND %attrs; -- %coreattrs, %i18n, %events -- accesskey %Character; #IMPLIED -- carattere di un tasto di scelta rapida -- > <!ELEMENT BUTTON - - (%flow;)* -(A|%formctrl;|FORM|FIELDSET) -- pulsante a pressione --> <!ATTLIST BUTTON %attrs; -- %coreattrs, %i18n, %events -- name CDATA #IMPLIED value CDATA #IMPLIED -- inviato al server quando il modulo è spedito -- type (button|submit|reset) submit -- da usare come pulsante del modulo -- disabled (disabled) #IMPLIED -- non utilizzabile in questo contesto -- tabindex NUMBER #IMPLIED -- posizione nell'ordine di tabulazione -- accesskey %Character; #IMPLIED -- carattere di un tasto di scelta rapida -- onfocus %Script; #IMPLIED -- l'elemento è stato selezionato -- onblur %Script; #IMPLIED -- l'elemento è stato deselezionato -- %reserved; -- riservato per possibile uso futuro -- > <!--======================= Tabelle ======================================--> <!-- Tabella standard IETF HTML, consultare [RFC1942] --> <!-- L'attributo BORDER imposta lo spessore della cornice intorno alla tabella. L'unità predefinita sono pixel. L'attributo FRAME specifica quale parte della cornice intorno alla tabella dovrebbe essere mostrata. I valori non sono gli stessi di CALS per evitare conflitti di nome con l'attributo VALIGN. Il valore "border" è incluso per compatibilità con il sorpassato <TABLE BORDER> che consente frame=border e border=implied . Per <TABLE BORDER=1> il risultato è border=1 e frame=implied. In questo case, è appropriato trattare questo come frame=border per compatibilità con i browser diffusi. --> <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)"> <!-- L'attributo RULES definisce quali divisori disegnare tra le celle: Se RULES è assente allora è assunto: "none" se BORDER è assente o BORDER=0 altrimenti "all" --> <!ENTITY % TRules "(none | groups | rows | cols | all)"> <!-- posizione orizzontale della tabella relativa 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 -- distanza per il 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 della tabella --> <!ELEMENT THEAD - O (TR)+ -- intestazione della tabella --> <!ELEMENT TFOOT - O (TR)+ -- note della tabella --> <!ELEMENT TBODY O O (TR)+ -- corpo della tabella --> <!ELEMENT COLGROUP - O (col)* -- gruppo di colonne della tabella --> <!ELEMENT COL - O EMPTY -- colonna della tabella --> <!ELEMENT TR - O (TH|TD)+ -- fila della tabella --> <!ELEMENT (TH|TD) - O (%flow;)* -- cella dell'intestazione della tabella, cella dei dati della tabella --> <!ATTLIST TABLE -- elemento tabella -- %attrs; -- %coreattrs, %i18n, %events -- summary %Text; #IMPLIED -- scopo/struttura per emissione vocale -- width %Length; #IMPLIED -- larghezza tabella -- border %Pixels; #IMPLIED -- controlla lo spessore della cornice frame intorno alla tabella -- frame %TFrame; #IMPLIED -- quale parte della cornice mostrare -- rules %TRules; #IMPLIED -- griglia tra colonne e file -- cellspacing %Length; #IMPLIED -- distanza tra le celle -- cellpadding %Length; #IMPLIED -- distanza all'interno delle 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 più colonne semanticamente collegate insieme. --> <!ATTLIST COLGROUP %attrs; -- %coreattrs, %i18n, %events -- span NUMBER 1 -- numero predefinito di colonne nel gruppo -- width %MultiLength; #IMPLIED -- larghezza predefinita delle COL incluse -- %cellhalign; -- allineamento orizzontale nelle celle -- %cellvalign; -- allineamento verticale nelle celle -- > <!-- Gli elementi COL definiscono le proprietà dell'allineamento per le celle in una o più colonne. L'attributo width specifica la larghezza delle colonne, ad es. width=64 larghezza in pixel width=0.5* larghezza relativa in 0.5 L'attributo SPAN fa in modo che gli attributi di un elemento COL siano applicati a più di una colonna. --> <!ATTLIST COL -- gruppi di colonne e proprietà -- %attrs; -- %coreattrs, %i18n, %events -- span NUMBER 1 -- gli attributi COL si riferiscono a N colonne -- width %MultiLength; #IMPLIED -- specifica la larghezza della colonna -- %cellhalign; -- allineamento orizzontale nelle celle -- %cellvalign; -- allineamento verticale nelle celle -- > <!-- Usa THEAD per duplicare le intestazioni quando si interrompe la tabella a cavallo di una pagina, o per intestazioni statiche quando le sezioni TBODY sono visualizzate nel pannello scorrevole. Usa TFOOT per duplicare le note quando si interrompe la tabella a cavallo di una pagina, o per note statiche quando le sezioni TBODY sono visualizzate nel pannello scorrevole. Usa multiple sezioni TBODY quando sono necessarie griglie tra gruppi di file della tabella. --> <!ATTLIST (THEAD|TBODY|TFOOT) -- sezione della tabella -- %attrs; -- %coreattrs, %i18n, %events -- %cellhalign; -- allineamento orizzontale nelle celle -- %cellvalign; -- allineamento verticale nelle celle -- > <!ATTLIST TR -- riga della tabella -- %attrs; -- %coreattrs, %i18n, %events -- %cellhalign; -- allineamento orizzontale nelle celle -- %cellvalign; -- allineamento verticale nelle celle -- > <!-- Scope è più semplice che l'attributo axes per le tabelle comuni--> <!ENTITY % Scope "(row|col|rowgroup|colgroup)"> <!-- TH è per le intestazioni, TD per i dati, ma per celle che hanno la funzione di entrambi bisogna usare TD --> <!ATTLIST (TH|TD) -- cella di dati o dell'intestazione -- %attrs; -- %coreattrs, %i18n, %events -- abbr %Text; #IMPLIED -- abbreviazione per la cella di intestazione -- axis CDATA #IMPLIED -- nomi dei gruppi di intestazioni correlate -- headers IDREFS #IMPLIED -- lista di id per le celle di intestazione -- scope %Scope; #IMPLIED -- portata coperta dalle celle di intestazione -- rowspan NUMBER 1 -- numero di righe coperto dalle celle -- colspan NUMBER 1 -- numero di colonne coperto dalle celle -- %cellhalign; -- allineamento orizzontale nelle celle -- %cellvalign; -- allineamento verticale nelle celle -- > <!--================ Intestazione del documento ==========================--> <!-- %head.misc; definito precedentemente 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; -- lang, dir -- profile %URI; #IMPLIED -- dizionario con nome di metainformazioni -- > <!-- L'elemento TITLE non è considerato parte del flusso di testo. Dovrebbe essere mostrato, per esempio come titolo della pagina della finestra. È richiesto esattamente un title per documento. --> <!ELEMENT TITLE - - (#PCDATA) -(%head.misc;) -- titolo del documento --> <!ATTLIST TITLE %i18n> <!ELEMENT BASE - O EMPTY -- URI base del documento --> <!ATTLIST BASE href %URI; #REQUIRED -- URI che funge da URI base -- > <!ELEMENT META - O EMPTY -- metainformazione generica --> <!ATTLIST META %i18n; -- lang, dir, da usare con il contenuto -- http-equiv NAME #IMPLIED -- nome dell'intestazione della risposta HTTP -- name NAME #IMPLIED -- nome della metainformazione -- content CDATA #REQUIRED -- informazione associata -- scheme CDATA #IMPLIED -- seleziona la forma del contenuto -- > <!ELEMENT STYLE - - %StyleSheet -- informazione connessa ai fogli di stile --> <!ATTLIST STYLE %i18n; -- lang, dir, da usare con il titolo -- type %ContentType; #REQUIRED -- tipo di contenuto del linguaggio dello stile -- media %MediaDesc; #IMPLIED -- per essere mostrati su questi media -- title %Text; #IMPLIED -- titolo introduttivo -- > <!ELEMENT SCRIPT - - %Script; -- enunciati di programma --> <!ATTLIST SCRIPT charset %Charset; #IMPLIED -- insieme di caratteri della risorsa referenziata -- type %ContentType; #REQUIRED -- tipo di contenuto del linguaggio dello script -- language CDATA #IMPLIED -- nome del linguaggio predefinito del programma -- src %URI; #IMPLIED -- URI per uno script esterno -- defer (defer) #IMPLIED -- l'interprete può differire l'esecuzione del programma -- event CDATA #IMPLIED -- riservato per possibile uso futuro -- for %URI; #IMPLIED -- riservato per possibile uso futuro -- > <!ELEMENT NOSCRIPT - - (%block;)+ -- contenitore del contenuto alternativo da mostrare in caso di mancato supporto allo 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; -- lang, dir -- >