22 Definizione del Tipo di Documento Transitoria

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

    <!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 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 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 a meno che non abbiano bisogno 
    del controllo della presentazione per quegli interpreti HTML che non 
    supportano (adeguatamente) i fogli di stile. 

    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 % FrameTarget "CDATA" -- riproduci 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 -->

<!-- Ci sono anche 16 nomi di colori ampiamente noti con i 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 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 separate 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 trasferito 
                                          sopra --
  onmousemove %Script;       #IMPLIED  -- un puntatore è stato spostato di 
                                          posizione all'interno --
  onmouseout  %Script;       #IMPLIED  -- un puntatore è stato spostato fuori --
  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 singoli 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;">

<!ENTITY % align "align (left|center|right|justify)  #IMPLIED"
                   -- Il valore di default è left per paragrafi ltr, 
                      right per rtl --
  >

<!--====================== Marcatura per 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 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 BASEFONT - O EMPTY           -- dimensione del font di base -->
<!ATTLIST BASEFONT
  id          ID             #IMPLIED  -- identificatore unico nell'ambito del 
                                          documento
  size        CDATA          #REQUIRED -- dimensione del font di base per elementi 
                                          FONT --
  color       %Color;        #IMPLIED  -- colore del testo --
  face        CDATA          #IMPLIED  -- elenco di nomi di font separati da virgole --
  >

<!ELEMENT FONT - - (%inline;)*         -- modifica locale di font -->
<!ATTLIST FONT
  %coreattrs;                          -- attributi id, class, style, title --
  %i18n;                               -- attributi lang, dir --
  size        CDATA          #IMPLIED  -- [+|-]nn ad es. size="+1", size="4" --
  color       %Color;        #IMPLIED  -- colore del testo -- 
  face        CDATA          #IMPLIED  -- elenco di nomi di font separati da virgole --
  >

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

<!--================== 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 | 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 rimosso --
  background      %URI;      #IMPLIED  -- tassello della trama per lo sfondo 
                                          del documento --
  %bodycolors;                         -- attributi bgcolor, text, link, vlink, 
                                          alink --
  >

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

<!ELEMENT DIV - - (%flow;)*            -- contenitore associato a lingua/stile 
                                          generici -->
<!ATTLIST DIV
  %attrs;                              -- %coreattrs, %i18n, %events --
  %align;                              -- allinea, allineamento del testo --
  %reserved;                           -- riservato per possibile uso futuro --
  >

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

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

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

<!-- Lunghezza definita nella DTD Rigorosa 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 -->

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

<!-- 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 --
  align       %IAlign;       #IMPLIED  -- allineamento verticale o orizzontale --
  border      %Length;       #IMPLIED  -- ampiezza del bordo di contorno --
  hspace      %Pixels;       #IMPLIED  -- incanalamento orizzontale --
  vspace      %Pixels;       #IMPLIED  -- incanalamento verticale --
  >

<!-- 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 --
  align       %IAlign;       #IMPLIED  -- allineamento verticale o orizzontale --  
  border      %Length;       #IMPLIED  -- ampiezza del bordo di contorno --
  hspace      %Pixels;       #IMPLIED  -- incanalamento orizzontale --
  vspace      %Pixels;       #IMPLIED  -- incanalamento verticale --
  %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 --
  >

<!--=================== APPLET Java ========================================-->
<!--
  Uno degli attributi del codice o dell'oggetto deve essere presente.
  Inserire gli elementi PARAM prima degli altri contenuti.
-->

<!ELEMENT APPLET - - (PARAM | %flow;)* -- Applet Java -->
<!ATTLIST APPLET
  %coreattrs;                          -- attributi id, class, style, title --
  codebase    %URI;          #IMPLIED  -- URI di base opzionale per l'applet --
  archive     CDATA          #IMPLIED  -- elenco di archivi separati da spazi --
  code        CDATA          #IMPLIED  -- file "class" dell'applet --
  object      CDATA          #IMPLIED  -- file serializzato dell'applet --
  alt         %Text;         #IMPLIED  -- breve descrizione  --
  name        CDATA          #IMPLIED  -- consente alle applet di rintracciarsi 
                                          a vicenda --
  width       %Length;       #REQUIRED -- ampiezza iniziale --
  height      %Length;       #REQUIRED -- altezza iniziale --
  align       %IAlign;       #IMPLIED  -- allineamento verticale o orizzontale  --
  hspace      %Pixels;       #IMPLIED  -- incanalamento orizzontale --
  vspace      %Pixels;       #IMPLIED  -- incanalamento verticale --
  >

<!--=================== Separatore orizzontale =============================-->

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


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

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


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


<!--=================== Testo preformattato ================================-->

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

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


<!--================= 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 - - (%flow;)*     -- 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 --
  compact     (compact)      #IMPLIED  -- spaziatura ridotta tra le voci --
  >

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

<!-- Stile di numerazione degli Elenchi ordinati (OL)

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

    Lo stile è applicato al numero di sequenza che per default è 
    impostato a 1 per la prima voce dell'elenco in un elenco ordinato.

    Questo non può essere espresso direttamente in SGML per via della 
    sostituzione delle lettere minuscole con le corrispondenti lettere 
    maiuscole. 
-->

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

<!ELEMENT OL - - (LI)+                 -- elenco ordinato -->
<!ATTLIST OL
  %attrs;                              -- %coreattrs, %i18n, %events --
  type        %OLStyle;      #IMPLIED  -- stile di numerazione --
  compact     (compact)      #IMPLIED  -- spaziatura ridotta tra le voci --
  start       NUMBER         #IMPLIED  -- numero di partenza della sequenza --
  >

<!-- elenco non ordinato (UL) stili puntati -->
<!ENTITY % ULStyle "(disc|square|circle)">

<!ELEMENT UL - - (LI)+                 -- elenco non ordinato -->
<!ATTLIST UL
  %attrs;                              -- %coreattrs, %i18n, %events --
  type        %ULStyle;      #IMPLIED  -- stile puntato  --
  compact     (compact)      #IMPLIED  -- spaziatura ridotta tra le voci --
  >

<!ELEMENT (DIR|MENU) - - (LI)+ -(%block;) -- indice di directory, elenco 
                                             relativo a menu -->
<!ATTLIST DIR
  %attrs;                              -- %coreattrs, %i18n, %events --
  compact     (compact)      #IMPLIED
  >
<!ATTLIST MENU
  %attrs;                              -- %coreattrs, %i18n, %events --
  compact     (compact)      #IMPLIED
  >

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

<!ELEMENT LI - O (%flow;)*             -- voce di elenco -->
<!ATTLIST LI
  %attrs;                              -- %coreattrs, %i18n, %events --
  type        %LIStyle;      #IMPLIED  -- stile della voce di elenco --
  value       NUMBER         #IMPLIED  -- regola il numero di sequenza --
  >


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

<!ELEMENT FORM - - (%flow;)* -(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 --
  target      %FrameTarget;  #IMPLIED  -- riproduci in questo frame --
  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 --
  align       %IAlign;       #IMPLIED  -- allineamento verticale o 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 (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;                              -- a href="#coreattrs">%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;                              -- , %i18n, %events --
  accesskey   %Character;    #IMPLIED  -- carattere del tasto di scelta rapida --
  align       %LAlign;       #IMPLIED  -- con riferimento all'elemento fieldset --
  >
**
<!ELEMENT BUTTON - -
     (%flow;)* -(A|%formctrl;|FORM|ISINDEX|FIELDSET|IFRAME)
     -- 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)"&
gt;

<!-- 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 --
  align       %TAlign;       #IMPLIED  -- posizione della tabella relativamente alla 
                                          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  -- con riferimento alla tabella --
  >

<!--
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 --
  bgcolor     %Color;        #IMPLIED  -- colore dello sfondo della riga --
  >

<!-- 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 usare 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 --
  nowrap      (nowrap)       #IMPLIED  -- soppressione dell'andata a capo automatica 
                                          a fine riga per le parole che fuoriescono
                                          dai margini --
  bgcolor     %Color;        #IMPLIED  -- colore dello sfondo della cella --
  width       %Pixels;       #IMPLIED  -- ampiezza della cella --
  height      %Pixels;       #IMPLIED  -- altezza della cella --
  >

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

<!--
  Il modello di contenuto per i documenti HTML varia a seconda che l'elemento 
  HEAD sia seguito da un elemento FRAMESET o un elemento BODY. La diffusa 
  omissione del tag di inizio per BODY rende poco pratico definire il modello di
  contenuto senza l'uso di una sezione marcata.
-->

<!-- Interruttore per caratteristica riservata di documenti frameset -->
<!ENTITY % HTML.Frameset "IGNORE">

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

<![ %HTML.Frameset; [
<!-- i nomi dei frame riservati iniziano con "_" altrimenti iniziano
     con una lettera -->
<!ELEMENT FRAME - O EMPTY              -- sottofinestra -->
<!ATTLIST FRAME
  %coreattrs;                          -- attributi id, class, style, title --
  longdesc    %URI;          #IMPLIED  -- collegamento a descrizione estesa 
                                         (integra l'attributo title) --
  name        CDATA          #IMPLIED  -- nome del frame per usarlo come destinazione --
  src         %URI;          #IMPLIED  -- sorgente del contenuto del frame --
  frameborder (1|0)          1         -- si richiedono i bordi del frame? --
  marginwidth %Pixels;       #IMPLIED  -- ampiezza del margine in pixel --
  marginheight %Pixels;      #IMPLIED  -- altezza del margine in pixel --
  noresize    (noresize)     #IMPLIED  -- si consente agli utenti di ridimensionare 
                                          i frame? --  
  scrolling   (yes|no|auto)  auto      -- barra di scorrimento o meno --
  >
]]>

<!ELEMENT IFRAME - - (%flow;)*         -- sotto-finestra nel contesto della riga -->
<!ATTLIST IFRAME
  %coreattrs;                          -- attributi id, class, style, title --
  longdesc    %URI;          #IMPLIED  -- collegamento a descrizione estesa 
                                          (integra l'attributo title) --
  name        CDATA          #IMPLIED  -- nome del frame per usarlo come destinazione --
  src         %URI;          #IMPLIED  -- sorgente del contenuto del frame --
  frameborder (1|0)          1         -- si richiedono i bordi del frame? --
  marginwidth %Pixels;       #IMPLIED  -- ampiezza del margine in pixel --
  marginheight %Pixels;      #IMPLIED  -- altezza del margine in pixel --
  scrolling   (yes|no|auto)  auto      -- barra di scorrimento o meno --
  align       %IAlign;       #IMPLIED  -- allineamento verticale o orizzontale --
  height      %Length;       #IMPLIED  -- altezza del frame --
  width       %Length;       #IMPLIED  -- ampiezza del frame --
  >

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

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

<!ELEMENT NOFRAMES - - %noframes.content;
-- contenitore di contenuto alternativo per riproduzione non basata su frame -->
<!ATTLIST NOFRAMES
  %attrs;                              -- %coreattrs, %i18n, %events --
  >


<!--=================== Intestazione del documento =========================-->
<!-- %head.misc; definito più sopra 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;                               -- 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 ISINDEX - O EMPTY            -- segnalatore di immissione testo -->
<!ATTLIST ISINDEX
  %coreattrs;                          -- attributi id, class, style, title --
  %i18n;                               -- attributi lang, dir --
  prompt      %Text;         #IMPLIED  -- messaggio suggeritore -->

<!ELEMENT BASE - O EMPTY               -- URI di base del documento -->
<!ATTLIST BASE
  href        %URI;          #IMPLIED  -- URI che agisce come URI di base --
  target      %FrameTarget;  #IMPLIED  -- riproduci in questo frame --
  >

<!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 --
  language    CDATA          #IMPLIED  -- nome del linguaggio di script prefissato --
  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 - - (%flow;)*
  -- contenitore di contenuto alternativo per riproduzione non basata su 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;                               -- attributi lang, dir --
  %version;
  >