22 Definizione del Tipo di Documento Transitoria (Transitional)


<!--
    Questa è la DTD Transitoria dell'HTML 4.0, che include 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, scripting,
	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
-->
<!ENTITY % HTML.Version "-//W3C//DTD HTML 4.0 Transitional//EN"
  -- Uso tipico:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
            "http://www.w3.org/TR/REC-html40/loose.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 Rigorosa dell'HTML 4.0 è:

        "-//W3C//DTD HTML 4.0//EN"

	ed il suo URI è:

        http://www.w3.org/TR/REC-html40/strict.dtd

    Gli Autori dovrebbero usare la DTD Rigorosa se non hanno bisogno
    di controllare la rappresentazione su quegli interpreti HTML che
    non gestiscono (adeguatamente) i fogli di stile.

    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 collegamento 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 % FrameTarget "CDATA" -- mostra in questo frame -->

<!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 |  DIR | MENU">

<!ENTITY % preformatted "PRE">

<!ENTITY % Color "CDATA" -- un colore che usa sRGB: #RRGGBB come valori esadecimali (Hex) -->

<!-- Ci sono anche 16 nomi di colore ampiamente conosciuti
     insieme ai loro valori sRGB:

    Black  = #000000    Green  = #008000
    Silver = #C0C0C0    Lime   = #00FF00
    Gray   = #808080    Olive  = #808000
    White  = #FFFFFF    Yellow = #FFFF00
    Maroon = #800000    Navy   = #000080
    Red    = #FF0000    Blue   = #0000FF
    Purple = #800080    Teal   = #008080
    Fuchsia= #FF00FF    Aqua   = #00FFFF
 -->

<!ENTITY % bodycolors "
  bgcolor     %Color;        #IMPLIED  -- colore dello sfondo del documento --
  text        %Color;        #IMPLIED  -- colore del testo del documento --
  link        %Color;        #IMPLIED  -- colore dei collegamenti --
  vlink       %Color;        #IMPLIED  -- colore dei collegamenti visitati --
  alink       %Color;        #IMPLIED  -- colore dei collegamenti selezionati --
  ">


<!--=================== 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 unico 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;">

<!ENTITY % align "align (left|center|right|justify)  #IMPLIED"
                   -- È predefinito come sinistra per paragrafi ltr (sinistra verso destra), destra per rtl (destra verso sinistra) --
  >


<!--=================== Impaginazione Testo ==============================-->

<!ENTITY % fontstyle
 "TT | I | B | U | S | STRIKE | BIG | SMALL">

<!ENTITY % phrase "EM | STRONG | DFN | CODE |
                   SAMP | KBD | VAR | CITE | ABBR | ACRONYM" >

<!ENTITY % special
   "A | IMG | APPLET | OBJECT | FONT | BASEFONT | BR | SCRIPT |
    MAP | Q | SUB | SUP | SPAN | BDO | IFRAME">

<!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 BASEFONT - O EMPTY           -- dimensione base del carattere -->
<!ATTLIST BASEFONT
  id          ID             #IMPLIED  -- id unico nell'intero documento --
  size        CDATA          #REQUIRED -- dimensione base del carattere per elementi FONT --
  color       %Color;        #IMPLIED  -- colore del testo --
  face        CDATA          #IMPLIED  -- lista di nomi di caratteri separata con virgole --
  >

<!ELEMENT FONT - - (%inline;)*         -- cambiamento locale al carattere -->
<!ATTLIST FONT
  %coreattrs;                          -- id, class, style, title --
  %i18n;		               -- lang, dir --
  size        CDATA          #IMPLIED  -- [+|-]nn e.g. size="+1", size="4" --
  color       %Color;        #IMPLIED  -- colore del testo --
  face        CDATA          #IMPLIED  -- lista di nomi di caratteri separata con virgole --
  >

<!ELEMENT BR - O EMPTY                 -- interruzione forzata della linea -->
<!ATTLIST BR
  %coreattrs;                          -- id, class, style, title --
  clear       (left|all|right|none) none -- controllo del flusso di testo --
  >


<!--================== 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 lievello blocco ad es.. paragrafi e liste
-->

<!ENTITY % block
     "P | %heading; | %list; | %preformatted; | DL | DIV | CENTER |
      NOSCRIPT | NOFRAMES | BLOCKQUOTE | FORM | ISINDEX | HR |
      TABLE | FIELDSET | ADDRESS">

<!ENTITY % flow "%block; | %inline;">

<!--================== Corpo del documento ===============================-->

<!ELEMENT BODY O O (%flow;)* +(INS|DEL) -- corpo del documento -->
<!ATTLIST BODY
  %attrs;                              -- %coreattrs, %i18n, %events --
  onload          %Script;   #IMPLIED  -- il documento è stato caricato --
  onunload        %Script;   #IMPLIED  -- il documento è stato chiuso --
  background      %URI;      #IMPLIED  -- tassello della trama per lo sfondo del documento --
  %bodycolors;                         -- bgcolor, text, link, vlink, alink --
  >

<!ELEMENT ADDRESS - - ((%inline;)|P)*  -- informazioni sull'autore  -->
<!ATTLIST ADDRESS
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

<!ELEMENT DIV - - (%flow;)*            -- contenitore generico di linguaggio/stile -->
<!ATTLIST DIV
  %attrs;                              -- %coreattrs, %i18n, %events --
  %align;                              -- allinea, posizione del testo --
  %reserved;                           -- riservato per possibile uso futuro --
  >

<!ELEMENT CENTER - - (%flow;)*         -- equivalente di DIV align=center -->
<!ATTLIST CENTER
  %attrs;                              -- %coreattrs, %i18n, %events --
  >


<!--================== 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 --
  target      %FrameTarget;  #IMPLIED  -- mostra in questo frame --
  rel         %LinkTypes;    #IMPLIED  -- tipi di collegamento successivo --
  rev         %LinkTypes;    #IMPLIED  -- tipi di collegamento 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 tabulazione --
  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 --
  target      %FrameTarget;  #IMPLIED  -- mostra in questo frame --
  nohref      (nohref)       #IMPLIED  -- questa regione non ha azione --
  alt         %Text;         #REQUIRED -- breve descrizione --
  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 --
  >


<!--================== 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 --
  target      %FrameTarget;  #IMPLIED  -- mostra in questo frame --
  >


<!--=================== Immagini =========================================-->

<!-- Lunghezza definita nella DTD strict per cellpadding/cellspacing -->
<!ENTITY % Length "CDATA" -- nn per lunghezze in pixel o nn% per quelle percentuali -->
<!ENTITY % MultiLength "CDATA" -- nn per lunghezze in pixel o nn% per quelle percentuali -->

<!ENTITY % MultiLengths "CDATA" -- lista separata con virgole di MultiLength -->

<!ENTITY % Pixels "CDATA" -- intero che rappresenta una lunghezza in pixel -->

<!ENTITY % IAlign "(top|middle|bottom|left|right)" -- centrato? -->

<!-- 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 --
  align       %IAlign;       #IMPLIED  -- allineamento verticale oppure orizzontale --
  border      %Length;       #IMPLIED  -- larghezza del bordo del collegamento --
  hspace      %Pixels;       #IMPLIED  -- margine orizzontale --
  vspace      %Pixels;       #IMPLIED  -- margine verticale --
  >

<!-- 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 --
  align       %IAlign;       #IMPLIED  -- allineamento verticale oppure orizzontale --
  border      %Length;       #IMPLIED  -- larghezza del bordo del collegamento --
  hspace      %Pixels;       #IMPLIED  -- margine orizzontale --
  vspace      %Pixels;       #IMPLIED  -- margine verticale --
  %reserved;                           -- riservato per possibile uso futuro --
  >

<!ELEMENT PARAM - O EMPTY              -- valore di una proprietà con nome simbolico -->
<!ATTLIST PARAM
  id          ID             #IMPLIED  -- id unico 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 --
  >


<!--=================== APPLET Java ======================================-->

<!--
  Deve essere presente uno degli attributi del codice o dell'oggetto.
  Inserisci gli elementi PARAM prima dell'altro contenuto.
-->

<!ELEMENT APPLET - - (PARAM | %flow;)* -- Applet Java -->
<!ATTLIST APPLET
  %coreattrs;                          -- id, class, style, title --
  codebase    %URI;          #IMPLIED  -- URI di base opzionale per l'applet --
  archive     CDATA          #IMPLIED  -- lista di archivi separata con virgole --
  code        CDATA          #IMPLIED  -- file class dell'applet --
  object      CDATA          #IMPLIED  -- file di applet serializzata --
  alt         %Text;         #IMPLIED  -- breve descrizione --
  name        CDATA          #IMPLIED  -- consente alle applet di rintracciarsi a vicenda --
  width       %Length;       #REQUIRED -- larghezza iniziale --
  height      %Length;       #REQUIRED -- altezza iniziale --
  align       %IAlign;       #IMPLIED  -- allineamento verticale oppure orizzontale --
  hspace      %Pixels;       #IMPLIED  -- margine orizzontale --
  vspace      %Pixels;       #IMPLIED  -- margine verticale --
  >


<!--=================== Divisore orizzontale ================================-->

<!ELEMENT HR - O EMPTY -- divisore orizzontale -->
<!ATTLIST HR
  %coreattrs;                          -- id, class, style, title --
  %events;
  align       (left|center|right) #IMPLIED
  noshade     (noshade)      #IMPLIED
  size        %Pixels;       #IMPLIED
  width       %Length;       #IMPLIED
  >


<!--=================== Paragrafi ========================================-->

<!ELEMENT P - O (%inline;)*            -- paragrafi -->
<!ATTLIST P
  %attrs;                              -- %coreattrs, %i18n, %events --
  %align;                              -- allinea, posizione del testo --
  >


<!--=================== 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 --
  %align;                              -- allinea, posizione del testo --
  >


<!--=================== Testo precomposto ==============================-->

<!-- Esclude l'inserimento di immagini e variazioni nella dimensione dei font -->
<!ENTITY % pre.exclusion "IMG|OBJECT|APPLET|BIG|SMALL|SUB|SUP|FONT|BASEFONT">

<!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;) -- testo precomposto -->
<!ATTLIST PRE
  %attrs;                              -- %coreattrs, %i18n, %events --
  width       NUMBER         #IMPLIED
  >


<!--===================== Citazioni brevi ================================-->

<!ELEMENT Q - - (%inline;)*            -- citazione breve -->
<!ATTLIST Q
  %attrs;                              -- %coreattrs, %i18n, %events --
  cite        %URI;          #IMPLIED  -- URI per la fonte --
  >


<!--=================== Citazioni estese =================================-->

<!ELEMENT BLOCKQUOTE - - (%flow;)*     -- citazione estesa -->
<!ATTLIST BLOCKQUOTE
  %attrs;                              -- %coreattrs, %i18n, %events --
  cite        %URI;          #IMPLIED  -- URI per la fonte --
  >


<!--=================== Testo Inserito/Eliminato =========================-->

<!-- INS/DEL sono gestiti per mezzo  dell 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 --
  compact     (compact)      #IMPLIED  -- riduce la distanza tra gli elementi --
  >

<!ELEMENT DT - O (%inline;)*           -- termine di definizione -->
<!ELEMENT DD - O (%flow;)*             -- descrizione della definizione -->
<!ATTLIST (DT|DD)
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

<!-- Stile di numerazione delle Liste ordinate (OL)

    1   numeri arabi               1, 2, 3, ...
    a   alfabeto minuscolo         a, b, c, ...
    A   alfabeto maiuscolo         A, B, C, ...
    i   numero romano minuscolo    i, ii, iii, ...
    I   numero romano maiuscolo    I, II, III, ...

    Lo stile è applicato alla sequenza di numeri che di norma
    è impostato ad 1 per il primo elemento della lista in una
    lista ordinata.

    Ciò non può essere espresso direttamente in SGML per via
    del "case folding".
-->

<!ENTITY % OLStyle "CDATA"      -- limitato a: "(1|a|A|i|I)" -->

<!ELEMENT OL - - (LI)+                 -- lista ordinata -->
<!ATTLIST OL
  %attrs;                              -- %coreattrs, %i18n, %events --
  type        %OLStyle;      #IMPLIED  -- stile di numerazione --
  compact     (compact)      #IMPLIED  -- riduce la distanza tra gli elementi --
  start       NUMBER         #IMPLIED  -- numero iniziale della serie --
  >

<!-- lista non ordinata (UL) stili con pallini -->
<!ENTITY % ULStyle "(disc|square|circle)">

<!ELEMENT UL - - (LI)+                 -- lista non ordinata -->
<!ATTLIST UL
  %attrs;                              -- %coreattrs, %i18n, %events --
  type        %ULStyle;      #IMPLIED  -- stile del pallino  --
  compact     (compact)      #IMPLIED  -- riduce la distanza tra gli elementi --
  >

<!ELEMENT (DIR|MENU) - - (LI)+ -(%block;) -- lista directory. lista menu -->
<!ATTLIST DIR
  %attrs;                              -- %coreattrs, %i18n, %events --
  compact     (compact)      #IMPLIED
  >
<!ATTLIST MENU
  %attrs;                              -- %coreattrs, %i18n, %events --
  compact     (compact)      #IMPLIED
  >

<!ENTITY % LIStyle "CDATA" -- limitato a: "(%ULStyle;|%OLStyle;)" -->

<!ELEMENT LI - O (%flow;)*             -- elemento della lista -->
<!ATTLIST LI
  %attrs;                              -- %coreattrs, %i18n, %events --
  type        %LIStyle;      #IMPLIED  -- stile dell'elemento della lista --
  value       NUMBER         #IMPLIED  -- azzera il numero di sequenza --
  >

<!--================ Moduli ==============================================-->

<!ELEMENT FORM - - (%flow;)* -(FORM)   -- modulo interattivo -->
<!ATTLIST FORM
  %attrs;                              -- %coreattrs, %i18n, %events --
  action      %URI;          #REQUIRED -- gestore del modulo 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 --
  target      %FrameTarget;  #IMPLIED  -- mostra in questo frame --
  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 della modulo -->
<!ATTLIST INPUT
  %attrs;                              -- %coreattrs, %i18n, %events --
  type        %InputType;    TEXT      -- che tipo di componente è richiesto --
  name        CDATA          #IMPLIED  -- invia come parte di un 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  -- breve descrizione --
  usemap      %URI;          #IMPLIED  -- usa una 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 --
  align       %IAlign;       #IMPLIED  -- allineamento verticale oppure orizzontale --
  %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 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 --
  %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 --
  align       %LAlign;       #IMPLIED  -- relativo all'insieme di campi --
  >

<!ELEMENT BUTTON - -
     (%flow;)* -(A|%formctrl;|FORM|ISINDEX|FIELDSET|IFRAME)
     -- 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 dell 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 --
  align       %TAlign;       #IMPLIED  -- posizione della tabella nella finestra --
  bgcolor     %Color;        #IMPLIED  -- colore di sfondo 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 --
  align       %CAlign;       #IMPLIED  -- relativo alla tabella --
  >

<!--
COLGROUP raggruppa un insieme di elementi COL. Permette di raggruppare
più colonne semanticamente collegati 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*      largezza 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                           -- fila della tabella --
  %attrs;                              -- %coreattrs, %i18n, %events --
  %cellhalign;                         -- allineamento orizzontale nelle celle --
  %cellvalign;                         -- allineamento verticale nelle celle --
  bgcolor     %Color;        #IMPLIED  -- colore di sfondo delle file --
  >



<!-- 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 file coperto dalle celle --
  colspan     NUMBER         1         -- numero di colonne coperto dalle celle --
  %cellhalign;                         -- allineamento orizzontale nelle celle --
  %cellvalign;                         -- allineamento verticale nelle celle --
  nowrap      (nowrap)       #IMPLIED  -- sopprimi a capo automatico --
  bgcolor     %Color;        #IMPLIED  -- colore di sfondo delle celle  --
  width       %Pixels;       #IMPLIED  -- larghezza per le celle --
  height      %Pixels;       #IMPLIED  -- altezza per le celle --
  >


<!--================== Frame del documento ================================-->

<!--
  Il modello di contenuto per i documenti HTML dipende da whether HEAD è
  seguito dall'elemento FRAMESET o BODY. La diffusa omissione del tag di
  apertura di BODY rende poco pratico definire il modello di contenuto senza
  l'uso di una sezione apposita.
-->

<!-- Documenti con frame -->
<!ENTITY % HTML.Frameset "IGNORE">

<![ %HTML.Frameset; [
<!ELEMENT FRAMESET - - ((FRAMESET|FRAME)+ & NOFRAMES?) -- porzioni della finestra-->
<!ATTLIST FRAMESET
  %coreattrs;                          -- id, class, style, title --
  rows        %MultiLengths; #IMPLIED  -- lista di lunghezze, predefinito: 100% (1 fila) --
  cols        %MultiLengths; #IMPLIED  -- lista di lunghezze, predefinito: 100% (1 colonna) --
  onload      %Script;       #IMPLIED  -- tutti i frame sono stati caricati  -- 
  onunload    %Script;       #IMPLIED  -- tutti i frame sono stati rimossi -- 
  >
]]>

<![ %HTML.Frameset; [
<!-- i nomi di frame riservati iniziano con "_" altrimenti iniziano
     con una lettera -->
<!ELEMENT FRAME - O EMPTY              -- frame -->
<!ATTLIST FRAME
  %coreattrs;                          -- id, class, style, title --
  longdesc    %URI;          #IMPLIED  -- collegamento a descrizione estesa (completa il titolo) --
  name        CDATA          #IMPLIED  -- nome del frame per le destinazioni --
  src         %URI;          #IMPLIED  -- sorgente del contenuto del frame --
  frameborder (1|0)          1         -- richiedere bordi per i frame? --
  marginwidth %Pixels;       #IMPLIED  -- larghezza del margine in pixel --
  marginheight %Pixels;      #IMPLIED  -- altezza del margine in pixel --
  noresize    (noresize)     #IMPLIED  -- consenti agli utenti di ridimensionare i frame? --
  scrolling   (yes|no|auto)  auto      -- barra di scorrimento o no --
  >
]]>

<!ELEMENT IFRAME - - (%flow;)*         -- frame "di linea" -->
<!ATTLIST IFRAME
  %coreattrs;                          -- id, class, style, title --
  longdesc    %URI;          #IMPLIED  -- collegamento a descrizione estesa (completa il titolo) --
  name        CDATA          #IMPLIED  -- nome del frame per le destinazioni --
  src         %URI;          #IMPLIED  -- sorgente del contenuto del frame --
  frameborder (1|0)          1         -- richiedere bordi per i frame? --
  marginwidth %Pixels;       #IMPLIED  -- larghezza del margine in pixel --
  marginheight %Pixels;      #IMPLIED  -- altezza del margine in pixel --
  scrolling   (yes|no|auto)  auto      -- barra di scorrimento o no --
  align       %IAlign;       #IMPLIED  -- allineamento verticale oppure orizzontale --
  height      %Length;       #IMPLIED  -- altezza del frame --
  width       %Length;       #IMPLIED  -- larghezza del frame --
  >

<![ %HTML.Frameset; [
<!ENTITY % noframes.content "(BODY) -(NOFRAMES)">
]]>

<!ENTITY % noframes.content "(%flow;)*">

<!ELEMENT NOFRAMES - - %noframes.content; -- contenitore di contenuto alternativo per visualizzazione senza frame -->
<!ATTLIST NOFRAMES
  %attrs;                              -- %coreattrs, %i18n, %events --
  >


<!--================ Intestazione del documento ==========================-->

<!-- %head.misc; definito precedentemente
     come  "SCRIPT|STYLE|META|LINK|OBJECT" -->
<!ENTITY % head.content "TITLE & ISINDEX? & 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 ISINDEX - O EMPTY            -- linea singola di richiesta -->
<!ATTLIST ISINDEX
  %coreattrs;                          -- id, class, style, title --
  %i18n;                               -- lang, dir --
  prompt      %Text;         #IMPLIED  -- messaggio di richiesta -->

<!ELEMENT BASE - O EMPTY               -- URI base del documento -->
<!ATTLIST BASE
  href        %URI;          #IMPLIED  -- URI che funge da URI base --
  target      %FrameTarget;  #IMPLIED  -- mostra in questo frame --
  >

<!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  -- metainformazione generica --
  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 - - (%flow;)*
  -- contenitore del contenuto alternativo da mostrare in caso di mancato supporto allo script -->
<!ATTLIST NOSCRIPT
  %attrs;                              -- %coreattrs, %i18n, %events --
  >


<!--================ Struttura del documento =============================-->

<!ENTITY % version "version CDATA #FIXED '%HTML.Version;'">

<![ %HTML.Frameset; [
<!ENTITY % html.content "HEAD, FRAMESET">
]]>

<!ENTITY % html.content "HEAD, BODY">

<!ELEMENT HTML O O (%html.content;)    -- elemento radice del documento -->
<!ATTLIST HTML
  %i18n;                               -- lang, dir --
  %version;
  >