22 Definición del Tipo de Documento Transicional

Nota: Este documento es parte de una traducción al castellano de la Recomendación del W3C "HTML 4.01 Specification" (más información). Puede consultar la versión original del mismo. Para cualquier comentario o corrección acerca de la traducción póngase en contacto con el traductor en jrpozo arroba conclase punto net. Gracias por su colaboración.

Véase el Aviso de copyright de la traducción.

<!--
    Este es el DTD Transicional de HTML 4.01, que incluye los atributos
    y elementos de presentación que el W3C espera que dejen de utilizarse
    a medida que madure el soporte de las hojas de estilo. Los autores
    deberían usar el DTD Estricto siempre que sea posible, pero pueden
    usar el DTD Transicional si es necesario el soporte de atributos
    y elementos de presentación.

    HTML 4 incluye mecanismos para hojas de estilo, scripts, objetos
    incluidos, soporte mejorado para textos de izquierda a derecha o
    direcciones mezcladas, y mejoras en los formularios para facilitar
    la accesibilidad por parte de personas con discapacidades.

          Borrador: $Date: 1999/12/24 22:40:35 $

          Autores:
              Dave Raggett <dsr@w3.org>
              Arnaud Le Hors <lehors@w3.org>
              Ian Jacobs <ij@w3.org>

    Puede encontrar más información sobre HTML 4.01 en:

        http://www.w3.org/TR/1999/REC-html401-19991224


    La especificación de HTML 4.01 incluye restricciones
    sintácticas adicionales que no pueden expresarse en
    los términos de los DTDs.

-->
<!ENTITY % HTML.Version "-//W3C//DTD HTML 4.01 Transitional//EN"
  -- Uso normal:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    ...
    </head>
    <body>
    ...
    </body>
    </html>

    El URI utilizado como identificador del sistema en el identificador
    público permite al agente de usuario descargar el DTD y los conjuntos
    de entidades necesarios.

    El FPI (Formal Public Identifier) para el DTD Estricto de HTML 4.01 es:

        "-//W3C//DTD HTML 4.01//EN"

    Esta versión del DTD Estricto es:

        http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd

    Los autores deberían usar el DTD Estricto a menos que
    necesiten los controles de presentación para los agentes
    de usuario que no soporten (adecuadamente) hojas de estilo.

    Si va a escribir un documento que incluya marcos, use el
    siguiente FPI:

        "-//W3C//DTD HTML 4.01 Frameset//EN"

    Esta versión del DTD de Documentos con Marcos es:

        http://www.w3.org/TR/1999/REC-html401-19991224/frameset.dtd

    Utilice los siguientes URIs (relativos) para hacer referencia a
    los DTDs y a las definiciones de entidades de esta especificación:

    "strict.dtd"
    "loose.dtd"
    "frameset.dtd"
    "HTMLlat1.ent"
    "HTMLsymbol.ent"
    "HTMLspecial.ent"

-->

<!--================== Nombres Importados ================================-->
<!-- Conmutador de Característica para Documentos con Marcos -->
<!ENTITY % HTML.Frameset "IGNORE">

<!ENTITY % ContentType "CDATA"
    -- tipo de medio, según [RFC2045]
    -->

<!ENTITY % ContentTypes "CDATA"
    -- lista de tipos de medios separados por comas, según [RFC2045]
    -->

<!ENTITY % Charset "CDATA"
    -- una codificación de caracteres, según [RFC2045]
    -->

<!ENTITY % Charsets "CDATA"
    -- una lista de codificaciones de caracteres separadas por espacios,
       según [RFC2045]
    -->

<!ENTITY % LanguageCode "NAME"
    -- un código de idioma, según [RFC1766]
    -->

<!ENTITY % Character "CDATA"
    -- un carácter individual de [ISO10646] 
    -->

<!ENTITY % LinkTypes "CDATA"
    -- una lista de tipos de vínculo separados por espacios
    -->

<!ENTITY % MediaDesc "CDATA"
    -- un descriptor de medios, o una lista de ellos separados por comas
    -->

<!ENTITY % URI "CDATA"
    -- un Identificador Uniforme de Recursos, ver [URI]
    -->

<!ENTITY % Datetime "CDATA" -- información de fecha y hora. Formato de fechas ISO -->


<!ENTITY % Script "CDATA" -- expresión de script -->

<!ENTITY % StyleSheet "CDATA" -- datos de hoja de estilo -->

<!ENTITY % FrameTarget "CDATA" -- representar en este marco -->


<!ENTITY % Text "CDATA">


<!-- Entidades Paramétricas -->

<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK|OBJECT"
    -- elementos de cabecera repetibles
    -->

<!ENTITY % heading "H1|H2|H3|H4|H5|H6">

<!ENTITY % list "UL | OL |  DIR | MENU">

<!ENTITY % preformatted "PRE">

<!ENTITY % Color "CDATA" -- un color según sRGB: #RRGGBB con valores hexadecimales -->

<!-- Además hay 16 nombres de colores muy extendidos con sus valores sRGB:

    Black  = #000000 (Negro)     Green  = #008000 (Verde)
    Silver = #C0C0C0 (Plata)     Lime   = #00FF00 (Lima)
    Gray   = #808080 (Gris)      Olive  = #808000 (Verde oliva)
    White  = #FFFFFF (Blanco)    Yellow = #FFFF00 (Amarillo)
    Maroon = #800000 (Marrón)    Navy   = #000080 (Azul marino)
    Red    = #FF0000 (Rojo)      Blue   = #0000FF (Azul)
    Purple = #800080 (Púrpura)   Teal   = #008080 (Verde azulado)
    Fuchsia= #FF00FF (Fucsia)    Aqua   = #00FFFF (Celeste)
 -->

<!ENTITY % bodycolors "
  bgcolor     %Color;        #IMPLIED  -- color de fondo del documento --
  text        %Color;        #IMPLIED  -- color de texto del documento --
  link        %Color;        #IMPLIED  -- color de los vínculos --
  vlink       %Color;        #IMPLIED  -- color de los vínculos visitados --
  alink       %Color;        #IMPLIED  -- color de los vínculos seleccionados --
  ">

<!--================ Entidades nemónicas de caracteres ===================-->

<!ENTITY % HTMLlat1 PUBLIC
   "-//W3C//ENTITIES Latin1//EN//HTML"
   "HTMLlat1.ent">
%HTMLlat1;

<!ENTITY % HTMLsymbol PUBLIC
   "-//W3C//ENTITIES Symbols//EN//HTML"
   "HTMLsymbol.ent">
%HTMLsymbol;

<!ENTITY % HTMLspecial PUBLIC
   "-//W3C//ENTITIES Special//EN//HTML"
   "HTMLspecial.ent">
%HTMLspecial;
<!--=================== Atributos Genéricos ==============================-->

<!ENTITY % coreattrs
 "id          ID             #IMPLIED  -- identificador único a nivel de documento --
  class       CDATA          #IMPLIED  -- lista de clases separadas por comas --
  style       %StyleSheet;   #IMPLIED  -- información de estilo asociada --
  title       %Text;         #IMPLIED  -- título consultivo --"
  >

<!ENTITY % i18n
 "lang        %LanguageCode; #IMPLIED  -- código de idioma --
  dir         (ltr|rtl)      #IMPLIED  -- dirección del texto débil/neutral --"
  >

<!ENTITY % events
 "onclick     %Script;       #IMPLIED  -- se hizo clic con un botón del apuntador --
  ondblclick  %Script;       #IMPLIED  -- se hizo doble clic con un botón
                                          del apuntador --
  onmousedown %Script;       #IMPLIED  -- se pulsó un botón del apuntador --
  onmouseup   %Script;       #IMPLIED  -- se soltó un botón del apuntador --
  onmouseover %Script;       #IMPLIED  -- se movió un apuntador al interior de --
  onmousemove %Script;       #IMPLIED  -- se movió un apuntador en el interior de --
  onmouseout  %Script;       #IMPLIED  -- se alejó un apuntador --
  onkeypress  %Script;       #IMPLIED  -- se pulso y soltó una tecla --
  onkeydown   %Script;       #IMPLIED  -- se pulsó una tecla --
  onkeyup     %Script;       #IMPLIED  -- se soltó una tecla --"
  >

<!-- Conmutador de Característica Reservada -->
<!ENTITY % HTML.Reserved "IGNORE">

<!-- Los siguientes atributos están reservados para su posible uso futuro -->
<![ %HTML.Reserved; [
<!ENTITY % reserved
 "datasrc     %URI;          #IMPLIED  -- una fuente de datos individual o tabular --
  datafld     CDATA          #IMPLIED  -- el nombre de la propiedad o de la columna --
  dataformatas (plaintext|html) plaintext -- texto o html --"
  >
]]>

<!ENTITY % reserved "">

<!ENTITY % attrs "%coreattrs; %i18n; %events;">

<!ENTITY % align "align (left|center|right|justify)  #IMPLIED"
                   -- por defecto es left para párrafos de izquierda a derecha,
                      right para derecha a izquierda --
  >

<!--=================== Códigos para Texto ===============================-->

<!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; cubre los elementos en línea o "a nivel de texto" -->
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">

<!ELEMENT (%fontstyle;|%phrase;) - - (%inline;)*>
<!ATTLIST (%fontstyle;|%phrase;)
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

<!ELEMENT (SUB|SUP) - - (%inline;)*    -- subíndice, superíndice -->
<!ATTLIST (SUB|SUP)
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

<!ELEMENT SPAN - - (%inline;)*         -- contenedor genérico de idioma/estilo -->
<!ATTLIST SPAN
  %attrs;                              -- %coreattrs, %i18n, %events --
  %reserved;                   -- reservado para posibles usos futuros --
  >

<!ELEMENT BDO - - (%inline;)*          -- Anular BiDi I18N -->
<!ATTLIST BDO
  %coreattrs;                          -- id, class, style, title --
  lang        %LanguageCode; #IMPLIED  -- código de idioma --
  dir         (ltr|rtl)      #REQUIRED -- direccionalidad --
  >

<!ELEMENT BASEFONT - O EMPTY           -- tamaño base de la fuente -->
<!ATTLIST BASEFONT
  id          ID             #IMPLIED  -- identificador único en el documento --
  size        CDATA          #REQUIRED -- tamaño base de fuente para elementos FONT --
  color       %Color;        #IMPLIED  -- color del texto --
  face        CDATA          #IMPLIED  -- lista de nombres de fuente
                                          separados por comas --
  >

<!ELEMENT FONT - - (%inline;)*         -- cambio local de fuente -->
<!ATTLIST FONT
  %coreattrs;                          -- id, class, style, title --
  %i18n;                               -- lang, dir --
  size        CDATA          #IMPLIED  -- [+|-]nn p.ej. size="+1", size="4" --
  color       %Color;        #IMPLIED  -- color del texto --
  face        CDATA          #IMPLIED  -- lista de nombres de fuente
                                          separados por comas --
  >

<!ELEMENT BR - O EMPTY                 -- salto de línea forzado -->
<!ATTLIST BR
  %coreattrs;                          -- id, class, style, title --
  clear       (left|all|right|none) none -- control del flujo de texto --
  >

<!--================== Modelos de contenido de HTML ======================-->

<!--
    HTML tiene dos modelos de contenido básicos:

        %inline;     elementos a nivel de carácter y cadenas de texto
        %block;      elementos tipo bloque, p.ej., párrafos y listas
-->

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

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

<!--=================== Cuerpo del Documento =============================-->

<!ELEMENT BODY O O (%flow;)* +(INS|DEL) -- cuerpo del documento -->
<!ATTLIST BODY
  %attrs;                              -- %coreattrs, %i18n, %events --
  onload          %Script;   #IMPLIED  -- el documento ha sido cargado --
  onunload        %Script;   #IMPLIED  -- el documento ha sido quitado --
  background      %URI;      #IMPLIED  -- patrón de relleno para el fondo
                                          del documento --
  %bodycolors;                         -- bgcolor, text, link, vlink, alink --
  >

<!ELEMENT ADDRESS - - ((%inline;)|P)*  -- información sobre al autor -->
<!ATTLIST ADDRESS
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

<!ELEMENT DIV - - (%flow;)*            -- contenedor genérico de idioma/estilo -->
<!ATTLIST DIV
  %attrs;                              -- %coreattrs, %i18n, %events --
  %align;                              -- align, alineación del texto --
  %reserved;                           -- reservado para posibles usos futuros --
  >

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

<!--================== El Elemento Ancla (origen/destino de vínculo) =====-->

<!ENTITY % Shape "(rect|circle|poly|default)">
<!ENTITY % Coords "CDATA" -- lista de longitudes separadas por comas -->

<!ELEMENT A - - (%inline;)* -(A)       -- origen o destino de vínculo -->
<!ATTLIST A
  %attrs;                              -- %coreattrs, %i18n, %events --
  charset     %Charset;      #IMPLIED  -- codificación de caracteres
                                          del recurso vinculado --
  type        %ContentType;  #IMPLIED  -- tipo consultivo de contenido --
  name        CDATA          #IMPLIED  -- destino de vínculo con nombre --
  href        %URI;          #IMPLIED  -- URI del recurso vinculado --
  hreflang    %LanguageCode; #IMPLIED  -- código de idioma --
  target      %FrameTarget;  #IMPLIED  -- representar en este marco --
  rel         %LinkTypes;    #IMPLIED  -- tipos de vínculos directos --
  rev         %LinkTypes;    #IMPLIED  -- tipos de vínculos inversos --
  accesskey   %Character;    #IMPLIED  -- carácter de la tecla de accesibilidad --
  shape       %Shape;        rect      -- para mapas de imágenes en el cliente --
  coords      %Coords;       #IMPLIED  -- para mapas de imágenes en el cliente --
  tabindex    NUMBER         #IMPLIED  -- posición en el orden de tabulación --
  onfocus     %Script;       #IMPLIED  -- el foco se dirigió hacia el elemento --
  onblur      %Script;       #IMPLIED  -- el elemento perdió el foco --
  >

<!--================== Mapas de imágenes en el lado del cliente ==========-->

<!-- Éstos pueden colocarse en el mismo documento o agrupados en un
     documento separado, aunque esto último no está todavía muy soportado -->

<!ELEMENT MAP - - ((%block;) | AREA)+ -- mapa de imágenes en el lado del cliente -->
<!ATTLIST MAP
  %attrs;                              -- %coreattrs, %i18n, %events --
  name        CDATA          #REQUIRED -- como referencia para usemap --
  >

<!ELEMENT AREA - O EMPTY               -- area de un mapa de imágenes
                                          en el lado del cliente -->
<!ATTLIST AREA
  %attrs;                              -- %coreattrs, %i18n, %events --
  shape       %Shape;        rect      -- controla la interpretación de las coords --
  coords      %Coords;       #IMPLIED  -- lista de longitudes separadas por comas --
  href        %URI;          #IMPLIED  -- URI del recurso vinculado --
  target      %FrameTarget;  #IMPLIED  -- representar en este marco --
  nohref      (nohref)       #IMPLIED  -- esta región no tiene acción --
  alt         %Text;         #REQUIRED -- descripción corta --
  tabindex    NUMBER         #IMPLIED  -- posición en el orden de tabulación --
  accesskey   %Character;    #IMPLIED  -- carácter de la tecla de accesibilidad --
  onfocus     %Script;       #IMPLIED  -- el foco se dirigió hacia el elemento --
  onblur      %Script;       #IMPLIED  -- el elemento perdió el foco --
  >

<!--================== El Elemento LINK (vínculo) ========================-->

<!--
  En principio los valores de las relaciones se pueden usar:

   a) para menúes/barras de herramientas específicas del
      documento que usen los elementos LINK de la cabecera
      del documento, p.ej., start (comienzo), contents
      (contenidos), previous (anterior), next (siguiente),
      index (índice), end (final), help (ayuda)
   b) para vincular una hoja de estilo externa (rel=stylesheet)
   c) para vincular un script (rel=script)
   d) por las hojas de estilo para controlar cómo se representan
      los conjuntos de nodos html en documentos impresos
   e) para crear un vínculo a una versión imprimible del
      documento, p.ej., una versión postscript o pdf
      (rel=alternate media=print)
-->

<!ELEMENT LINK - O EMPTY               -- un vínculo independiente del medio -->
<!ATTLIST LINK
  %attrs;                              -- %coreattrs, %i18n, %events --
  charset     %Charset;      #IMPLIED  -- codificación de caracteres
                                          del recurso vinculado --
  href        %URI;          #IMPLIED  -- URI del recurso vinculado --
  hreflang    %LanguageCode; #IMPLIED  -- código de idioma --
  type        %ContentType;  #IMPLIED  -- tipo consultivo de contenido --
  rel         %LinkTypes;    #IMPLIED  -- tipos de vínculos directos --
  rev         %LinkTypes;    #IMPLIED  -- tipos de vículos inversos --
  media       %MediaDesc;    #IMPLIED  -- para representar en estos medios --
  target      %FrameTarget;  #IMPLIED  -- representar en este marco --
  >

<!--=================== Imágenes =========================================-->

<!-- Length definido en el DTD estricto para cellpadding/cellspacing -->
<!ENTITY % Length "CDATA" -- nn para píxeles o nn% para longitudes porcentuales -->
<!ENTITY % MultiLength "CDATA" -- píxel, porcentaje, o relativa -->

<![ %HTML.Frameset; [
<!ENTITY % MultiLengths "CDATA" -- lista de MultiLength separadas por comas -->
]]>

<!ENTITY % Pixels "CDATA" -- entero que representa una longitud en píxeles -->

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

<!-- Para evitar problemas con AAUU de sólo texto así
   como para hacer el contenido de las imágenes inteligibles
   y navegables para los usuarios de AAUU no visuales, es
   necesario proporcionar una descripción con ALT, y evitar
   mapas de imágenes en el lado del servidor -->
<!ELEMENT IMG - O EMPTY                -- Imagen incluida -->
<!ATTLIST IMG
  %attrs;                              -- %coreattrs, %i18n, %events --
  src         %URI;          #REQUIRED -- URI de la imagen a incluir --
  alt         %Text;         #REQUIRED -- descripción corta --
  longdesc    %URI;          #IMPLIED  -- vínculo a descripción larga
                                          (complementa a alt) --
  name        CDATA          #IMPLIED  -- nombre de la imagen para los scripts --
  height      %Length;       #IMPLIED  -- especificar nueva altura --
  width       %Length;       #IMPLIED  -- especificar nueva anchura --
  usemap      %URI;          #IMPLIED  -- usar mapa de imágenes en el cliente --
  ismap       (ismap)        #IMPLIED  -- usar mapa de imágenes en el servidor --
  align       %IAlign;       #IMPLIED  -- alineación vertical u horizontal --
  border      %Pixels;       #IMPLIED  -- grosor del borde del vínculo --
  hspace      %Pixels;       #IMPLIED  -- espacio horizontal --
  vspace      %Pixels;       #IMPLIED  -- espacio vertical --
  >

<!-- USEMAP apunta a un elemento MAP que puede estar en este documento
  o en un documento externo, aunque esto último no está muy soportado -->

<!--==================== OBJECT ======================================-->
<!--
  Se usa OBJECT para incluir objetos como parte de una página HTML.
  Los elementos PARAM deberían preceder a cualquier otro contenido.
  Aspectos técnicos del modelo de contenido mixto de SGML impiden
  que esto se especifique formalmente...
-->

<!ELEMENT OBJECT - - (PARAM | %flow;)*
 -- objeto genérico incluido -->
<!ATTLIST OBJECT
  %attrs;                              -- %coreattrs, %i18n, %events --
  declare     (declare)      #IMPLIED  -- declarar pero no crear --
  classid     %URI;          #IMPLIED  -- identifica una implementación --
  codebase    %URI;          #IMPLIED  -- URI base para classid, datos, archivo --
  data        %URI;          #IMPLIED  -- referencia a los datos del objeto --
  type        %ContentType;  #IMPLIED  -- tipo de contenido de los datos --
  codetype    %ContentType;  #IMPLIED  -- tipo de contenido del código --
  archive     CDATA          #IMPLIED  -- lista de URIs separados por espacios --
  standby     %Text;         #IMPLIED  -- mensaje a mostrar mientras se carga --
  height      %Length;       #IMPLIED  -- especificar nueva altura --
  width       %Length;       #IMPLIED  -- especificar nueva anchura --
  usemap      %URI;          #IMPLIED  -- usar mapa de imágenes en el cliente --
  name        CDATA          #IMPLIED  -- enviar como parte de un formulario --
  tabindex    NUMBER         #IMPLIED  -- posición en el orden de tabulación --
  align       %IAlign;       #IMPLIED  -- alineación vertical u horizontal --
  border      %Pixels;       #IMPLIED  -- grosor del borde del vínculo --
  hspace      %Pixels;       #IMPLIED  -- espacio horizontal --
  vspace      %Pixels;       #IMPLIED  -- espacio vertical --
  %reserved;                           -- reservado para posibles usos futuros --
  >

<!ELEMENT PARAM - O EMPTY              -- valor de propiedad con nombre -->
<!ATTLIST PARAM
  id          ID             #IMPLIED  -- identificador único a nivel de documento --
  name        CDATA          #REQUIRED -- nombre de la propiedad --
  value       CDATA          #IMPLIED  -- valor de la propiedad --
  valuetype   (DATA|REF|OBJECT) DATA   -- cómo interpretar el valor --
  type        %ContentType;  #IMPLIED  -- tipo de contenido para el valor
                                          cuando valuetype=ref --
  >

<!--=================== APPLET Java ==================================-->
<!--
  Debe existir o el atributo code o el atributo object.
  Los elementos PARAM se colocan antes de cualquier otro contenido.
-->
<!ELEMENT APPLET - - (PARAM | %flow;)* -- Applet Java -->
<!ATTLIST APPLET
  %coreattrs;                          -- id, class, style, title --
  codebase    %URI;          #IMPLIED  -- URI base opcional para el applet --
  archive     CDATA          #IMPLIED  -- lista de archivos separados por comas --
  code        CDATA          #IMPLIED  -- fichero de la clase del applet --
  object      CDATA          #IMPLIED  -- fichero applet serializado --
  alt         %Text;         #IMPLIED  -- descripción corta --
  name        CDATA          #IMPLIED  -- permite que los applets
                                          se encuentren entre sí --
  width       %Length;       #REQUIRED -- anchura inicial --
  height      %Length;       #REQUIRED -- altura inicial --
  align       %IAlign;       #IMPLIED  -- alineación vertical u horizontal --
  hspace      %Pixels;       #IMPLIED  -- espacio horizontal --
  vspace      %Pixels;       #IMPLIED  -- espacio vertical --
  >

<!--=================== Separador Horizontal =============================-->

<!ELEMENT HR - O EMPTY -- separador horizontal -->
<!ATTLIST HR
  %attrs;                              -- %coreattrs, %i18n, %events --
  align       (left|center|right) #IMPLIED
  noshade     (noshade)      #IMPLIED
  size        %Pixels;       #IMPLIED
  width       %Length;       #IMPLIED
  >

<!--=================== Párrafos =========================================-->

<!ELEMENT P - O (%inline;)*            -- párrafo -->
<!ATTLIST P
  %attrs;                              -- %coreattrs, %i18n, %events --
  %align;                              -- align, alineación del texto --
  >

<!--=================== Encabezados ======================================-->

<!--
  Hay seis niveles de encabezados, desde H1 (el más importante)
  hasta H6 (el menos importante).
-->

<!ELEMENT (%heading;)  - - (%inline;)* -- encabezado -->
<!ATTLIST (%heading;)
  %attrs;                              -- %coreattrs, %i18n, %events --
  %align;                              -- align, alineación del texto --
  >

<!--=================== Texto Preformateado ==============================-->

<!-- excluye los códigos de imágenes y de cambios del tamaño de la fuente -->
<!ENTITY % pre.exclusion "IMG|OBJECT|APPLET|BIG|SMALL|SUB|SUP|FONT|BASEFONT">

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

<!--===================== Citas en Línea =================================-->

<!ELEMENT Q - - (%inline;)*            -- cita corta en línea -->
<!ATTLIST Q
  %attrs;                              -- %coreattrs, %i18n, %events --
  cite        %URI;          #IMPLIED  -- URI del documento o mensaje original --
  >

<!--=================== Citas en Bloque ==================================-->

<!ELEMENT BLOCKQUOTE - - (%flow;)*     -- cita larga -->
<!ATTLIST BLOCKQUOTE
  %attrs;                              -- %coreattrs, %i18n, %events --
  cite        %URI;          #IMPLIED  -- URI del documento o mensaje original --
  >

<!--=================== Texto Insertado/Borrado ==========================-->


<!-- INS/DEL se utilizan incluyéndolos en BODY -->
<!ELEMENT (INS|DEL) - - (%flow;)*      -- texto insertado, texto borrado -->
<!ATTLIST (INS|DEL)
  %attrs;                              -- %coreattrs, %i18n, %events --
  cite        %URI;          #IMPLIED  -- información sobre la razón del cambio --
  datetime    %Datetime;     #IMPLIED  -- fecha y hora del cambio --
  >

<!--=================== Listas ===========================================-->

<!-- listas de definiciones - DT para el término, DD para su definición -->

<!ELEMENT DL - - (DT|DD)+              -- lista de definiciones -->
<!ATTLIST DL
  %attrs;                              -- %coreattrs, %i18n, %events --
  compact     (compact)      #IMPLIED  -- espacio entre objetos reducido --
  >

<!ELEMENT DT - O (%inline;)*           -- término definido -->
<!ELEMENT DD - O (%flow;)*             -- descripción de la definición -->
<!ATTLIST (DT|DD)
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

<!-- Estilo de numeración de listas ordenadas (OL)

    1   números arábigos      1, 2, 3, ...
    a   alfabético minúscula  a, b, c, ...
    A   alfabético mayúscula  A, B, C, ...
    i   romanos minúscula     i, ii, iii, ...
    I   romanos mayúscula     I, II, III, ...

    Se aplica el estilo al número de la secuencia, que por defecto
    se inicializa a 1 para el primer objeto de una lista ordenada

    Esto no puede expresarse directamente en SGML debido a la
    multiplicidad de casos.
-->

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

<!ELEMENT OL - - (LI)+                 -- lista ordenada -->
<!ATTLIST OL
  %attrs;                              -- %coreattrs, %i18n, %events --
  type        %OLStyle;      #IMPLIED  -- estilo de numeración --
  compact     (compact)      #IMPLIED  -- espacio entre objetos reducido --
  start       NUMBER         #IMPLIED  -- número inicial de la secuencia --
  >

<!-- Estilos de marcador de listas no ordenadas (UL) -->
<!ENTITY % ULStyle "(disc|square|circle)">

<!ELEMENT UL - - (LI)+                 -- lista no ordenada -->
<!ATTLIST UL
  %attrs;                              -- %coreattrs, %i18n, %events --
  type        %ULStyle;      #IMPLIED  -- estilo del marcador --
  compact     (compact)      #IMPLIED  -- espacio entre objetos reducido --
  >

<!ELEMENT (DIR|MENU) - - (LI)+ -(%block;) -- lista tipo directorio, tipo menú -->
<!ATTLIST DIR
  %attrs;                              -- %coreattrs, %i18n, %events --
  compact     (compact)      #IMPLIED -- espacio entre objetos reducido --
  >
<!ATTLIST MENU
  %attrs;                              -- %coreattrs, %i18n, %events --
  compact     (compact)      #IMPLIED -- espacio entre objetos reducido --
  >

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

<!ELEMENT LI - O (%flow;)*             -- objeto de lista -->
<!ATTLIST LI
  %attrs;                              -- %coreattrs, %i18n, %events --
  type        %LIStyle;      #IMPLIED  -- estilo de objeto de lista --
  value       NUMBER         #IMPLIED  -- reinicializar número de secuencia --
  >

<!--================ Formularios =========================================-->
<!ELEMENT FORM - - (%flow;)* -(FORM)   -- formulario interactivo -->
<!ATTLIST FORM
  %attrs;                              -- %coreattrs, %i18n, %events --
  action      %URI;          #REQUIRED -- procesador del formulario en el servidor --
  method      (GET|POST)     GET       -- método HTTP usado para enviar formulario --
  enctype     %ContentType;  "application/x-www-form-urlencoded"
  accept      %ContentTypes; #IMPLIED  -- lista de tipos MIME para subir ficheros --
  name        CDATA          #IMPLIED  -- nombre del formulario para los scripts --
  onsubmit    %Script;       #IMPLIED  -- el formulario fue enviado --
  onreset     %Script;       #IMPLIED  -- el formulario fue reinicializado --
  target      %FrameTarget;  #IMPLIED  -- representar en este marco --
  accept-charset %Charsets;  #IMPLIED  -- lista de codificaciones de caracteres
                                          soportadas --
  >

<!-- Cada rótulo (label) no debe contener MÁS de un campo -->
<!ELEMENT LABEL - - (%inline;)* -(LABEL) -- texto del rótulo de un
                                            campo de formulario -->
<!ATTLIST LABEL
  %attrs;                              -- %coreattrs, %i18n, %events --
  for         IDREF          #IMPLIED  -- concuerda con el valor ID del campo --
  accesskey   %Character;    #IMPLIED  -- carácter de la tecla de accesibilidad --
  onfocus     %Script;       #IMPLIED  -- el foco se dirigió hacia el elemento --
  onblur      %Script;       #IMPLIED  -- el elemento perdió el foco --
  >

<!ENTITY % InputType
  "(TEXT | PASSWORD | CHECKBOX |
    RADIO | SUBMIT | RESET |
    FILE | HIDDEN | IMAGE | BUTTON)"
   >

<!-- se requiere el atributo name para todos excepto para submit y reset -->
<!ELEMENT INPUT - O EMPTY              -- control de formulario -->
<!ATTLIST INPUT
  %attrs;                              -- %coreattrs, %i18n, %events --
  type        %InputType;    TEXT      -- qué tipo de control se necesita --
  name        CDATA          #IMPLIED  -- enviar como parte del formulario --
  value       CDATA          #IMPLIED  -- especificar para radiobotones
                                          y casillas de verificación --
  checked     (checked)      #IMPLIED  -- para radiobotones
                                          y casillas de verificación --
  disabled    (disabled)     #IMPLIED  -- no disponible en este contexto --
  readonly    (readonly)     #IMPLIED  -- para texto y contraseñas --
  size        CDATA          #IMPLIED  -- específico de cada tipo de campo --
  maxlength   NUMBER         #IMPLIED  -- máximo de caracteres para campos de texto --
  src         %URI;          #IMPLIED  -- para campos con imágenes --
  alt         CDATA          #IMPLIED  -- descripción corta --
  usemap      %URI;          #IMPLIED  -- usar mapa de imágenes en el cliente --
  ismap       (ismap)        #IMPLIED  -- usar mapa de imágenes en el servidor --
  tabindex    NUMBER         #IMPLIED  -- posición en el orden de tabulación --
  accesskey   %Character;    #IMPLIED  -- carácter de la tecla de accesibilidad --
  onfocus     %Script;       #IMPLIED  -- el foco se dirigió hacia el elemento --
  onblur      %Script;       #IMPLIED  -- el elemento perdió el foco --
  onselect    %Script;       #IMPLIED  -- se seleccionó parte del texto --
  onchange    %Script;       #IMPLIED  -- el valor del elemento fue modificado --
  accept      %ContentTypes; #IMPLIED  -- lista de tipos MIME para subir ficheros --
  align       %IAlign;       #IMPLIED  -- alineación vertical u horizontal --
  %reserved;                           -- reservado para posibles usos futuros --
  >

<!ELEMENT SELECT - - (OPTGROUP|OPTION)+ -- selector de opciones -->
<!ATTLIST SELECT
  %attrs;                              -- %coreattrs, %i18n, %events --
  name        CDATA          #IMPLIED  -- nombre del campo --
  size        NUMBER         #IMPLIED  -- filas visibles --
  multiple    (multiple)     #IMPLIED  -- por defecto es selección simple --
  disabled    (disabled)     #IMPLIED  -- no disponible en este contexto --
  tabindex    NUMBER         #IMPLIED  -- posición en el orden de tabulación  --
  onfocus     %Script;       #IMPLIED  -- el foco se dirigió hacia el elemento --
  onblur      %Script;       #IMPLIED  -- el elemento perdió el foco --
  onchange    %Script;       #IMPLIED  -- el valor del elemento fue modificado --
  %reserved;                           -- reservado para posibles usos futuros --
  >

<!ELEMENT OPTGROUP - - (OPTION)+ -- grupo de opciones -->
<!ATTLIST OPTGROUP
  %attrs;                              -- %coreattrs, %i18n, %events --
  disabled    (disabled)     #IMPLIED  -- no disponible en este contexto --
  label       %Text;         #REQUIRED -- para usar en menúes jerárquicos --
  >

<!ELEMENT OPTION - O (#PCDATA)         -- opción seleccionable -->
<!ATTLIST OPTION
  %attrs;                              -- %coreattrs, %i18n, %events --
  selected    (selected)     #IMPLIED  -- opción preseleccionada --
  disabled    (disabled)     #IMPLIED  -- no disponible en este contexto --
  label       %Text;         #IMPLIED  -- para usar en menúes jerárquicos --
  value       CDATA          #IMPLIED  -- por defecto es el contenido del elemento --
  >

<!ELEMENT TEXTAREA - - (#PCDATA)       -- campo de texto multilínea -->
<!ATTLIST TEXTAREA
  %attrs;                              -- %coreattrs, %i18n, %events --
  name        CDATA          #IMPLIED
  rows        NUMBER         #REQUIRED
  cols        NUMBER         #REQUIRED
  disabled    (disabled)     #IMPLIED  -- no disponible en este contexto --
  readonly    (readonly)     #IMPLIED
  tabindex    NUMBER         #IMPLIED  -- posición en el orden de tabulación --
  accesskey   %Character;    #IMPLIED  -- carácter de la tecla de accesibilidad --
  onfocus     %Script;       #IMPLIED  -- el foco se dirigió hacia el elemento --
  onblur      %Script;       #IMPLIED  -- el elemento perdió el foco --
  onselect    %Script;       #IMPLIED  -- se seleccionó parte del texto --
  onchange    %Script;       #IMPLIED  -- el valor del elemento fue modificado --
  %reserved;                           -- reservado para posibles usos futuros --
  >

<!--
  #PCDATA es para resolver el problema del contenido mixto,
  de acuerdo con la especificación aquí sólo se permite espacio en blanco!
 -->
<!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- grupo de controles
                                                     de formulario -->
<!ATTLIST FIELDSET
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

<!ELEMENT LEGEND - - (%inline;)*       -- leyenda del grupo de campos -->
<!ENTITY % LAlign "(top|bottom|left|right)">

<!ATTLIST LEGEND
  %attrs;                              -- %coreattrs, %i18n, %events --
  accesskey   %Character;    #IMPLIED  -- carácter de la tecla de accesibilidad --
  align       %LAlign;       #IMPLIED  -- con relación al grupo de campos --
  >

<!ELEMENT BUTTON - -
     (%flow;)* -(A|%formctrl;|FORM|ISINDEX|FIELDSET|IFRAME)
     -- botón (pulsador) -->
<!ATTLIST BUTTON
  %attrs;                              -- %coreattrs, %i18n, %events --
  name        CDATA          #IMPLIED
  value       CDATA          #IMPLIED  -- se envía al servidor junto al formulario --
  type        (button|submit|reset) submit -- para usarlo como botón de formulario --
  disabled    (disabled)     #IMPLIED  -- no disponible en este contexto --
  tabindex    NUMBER         #IMPLIED  -- posición en el orden de tabulación --
  accesskey   %Character;    #IMPLIED  -- carácter de la tecla de accesibilidad --
  onfocus     %Script;       #IMPLIED  -- el foco se dirigió hacia el elemento --
  onblur      %Script;       #IMPLIED  -- el elemento perdió el foco --
  %reserved;                           -- reservado para posibles usos futuros --
  >

<!--======================= Tablas =======================================-->

<!-- Estándar de tablas HTML IETF, ver [RFC1942] -->

<!--
 El atributo BORDER establece el grosor del marco que rodea a la
 tabla. Las unidades por defecto son píxeles de pantalla.

 El atributo FRAME especifica qué partes del marco que rodea a la
 tabla deberían representarse. Los valores no coinciden con los de
 CALS para evitar un conflicto de nombres con el atributo VALIGN.

 El valor "border" se ha incluido por compatibilidad con
 <TABLE BORDER>, que produce frame=border y border=implied
 Para <TABLE BORDER=1> se obtiene border=1 y frame=implied.
 En este caso, es apropiado tratar esto como frame=border por
 compatibilidad con los navegadores existentes.
-->
<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">

<!--
 El atributo RULES define qué líneas de división entre celdas se van a dibujar:

 Si RULES no está presente entonces se hace igual a:
     "none" si BORDER está ausente o BORDER=0, "all" en caso contrario
-->

<!ENTITY % TRules "(none | groups | rows | cols | all)">
  
<!-- colocación horizontal de la tabla en relación al documento -->
<!ENTITY % TAlign "(left|center|right)">

<!-- atributos de alineación horizontal de los contenidos de las celdas -->
<!ENTITY % cellhalign
  "align      (left|center|right|justify|char) #IMPLIED
   char       %Character;    #IMPLIED  -- carácter de alineación, p.ej. char=':' --
   charoff    %Length;       #IMPLIED  -- offset del carácter de alineación --"
  >

<!-- atributos de alineación vertical de los contenidos de las celdas -->
<!ENTITY % cellvalign
  "valign     (top|middle|bottom|baseline) #IMPLIED"
  >

<!ELEMENT TABLE - -
     (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
<!ELEMENT CAPTION  - - (%inline;)*     -- título de la tabla -->
<!ELEMENT THEAD    - O (TR)+           -- cabecera de tabla -->
<!ELEMENT TFOOT    - O (TR)+           -- pie de tabla -->
<!ELEMENT TBODY    O O (TR)+           -- cuerpo de tabla -->
<!ELEMENT COLGROUP - O (COL)*          -- grupo de columnas de tabla -->
<!ELEMENT COL      - O EMPTY           -- columna de tabla -->
<!ELEMENT TR       - O (TH|TD)+        -- fila de tabla -->
<!ELEMENT (TH|TD)  - O (%flow;)*       -- celda de encabezado de tabla,
                                          celda de datos de tabla -->

<!ATTLIST TABLE                        -- elemento tabla --
  %attrs;                              -- %coreattrs, %i18n, %events --
  summary     %Text;         #IMPLIED  -- propósito/estructura para salida por voz --
  width       %Length;       #IMPLIED  -- anchura de tabla --
  border      %Pixels;       #IMPLIED  -- controla el marco que rodea a la tabla --
  frame       %TFrame;       #IMPLIED  -- qué partes del marco representar --
  rules       %TRules;       #IMPLIED  -- líneas de división entre filas y columnas --
  cellspacing %Length;       #IMPLIED  -- espaciado entre celdas --
  cellpadding %Length;       #IMPLIED  -- espacio dentro de las celdas --
  align       %TAlign;       #IMPLIED  -- posición de la tabla respecto a la ventana--
  bgcolor     %Color;        #IMPLIED  -- color de fondo de las celdas --
  %reserved;                           -- reservado para posibles usos futuros --
  datapagesize CDATA         #IMPLIED  -- reservado para posibles usos futuros --
  >

<!ENTITY % CAlign "(top|bottom|left|right)">

<!ATTLIST CAPTION
  %attrs;                              -- %coreattrs, %i18n, %events --
  align       %CAlign;       #IMPLIED  -- relativo a la tabla --
  >

<!--
COLGROUP agrupa un conjunto de elementos COL. Permite agrupar
varias columnas relacionadas semánticamente.
-->
<!ATTLIST COLGROUP
  %attrs;                              -- %coreattrs, %i18n, %events --
  span        NUMBER         1         -- número por defecto de columnas en el grupo--
  width       %MultiLength;  #IMPLIED  -- anchura por defecto para
                                          las COLs contenidas --
  %cellhalign;                         -- alineación horizontal en las celdas --
  %cellvalign;                         -- alineación vertical en las celdas --
  >

<!--
 Los elementos COL definen las propiedades de alineación de las
 celdas de una o más columnas.

 El atributo WIDTH especifica la anchura de las columnas, p.ej.

     width=64        anchura en píxeles de pantalla
     width=0.5*      anchura relativa de 0.5

 El atributo SPAN hace que los atributos de un elemento COL
 se apliquen a más de una columna.
-->
<!ATTLIST COL                          -- grupos y propiedades de columnas --
  %attrs;                              -- %coreattrs, %i18n, %events --
  span        NUMBER         1         -- Los atributos de COL afectan a N columnas --
  width       %MultiLength;  #IMPLIED  -- especificacón de la anchura
                                          de las columnas --
  %cellhalign;                         -- alineación horizontal en las celdas --
  %cellvalign;                         -- alineación vertical en las celdas --
  >

<!--
    Se usa THEAD para duplicar los encabezados cuando
    la tabla se extiende a lo largo de varias páginas,
    o para encabezados estáticos cuando las secciones
    TBODY se representan en un panel con desplazamiento.

    Se usa THEAD para duplicar los pies de tabla cuando
    la tabla se extiende a lo largo de varias páginas,
    o para pies de tabla estáticos cuando las secciones
    TBODY se representan en un panel con desplazamiento.

    Se usan varias secciones TBODY cuando se necesitan
    líneas de división entre grupos de filas de una tabla.
-->
<!ATTLIST (THEAD|TBODY|TFOOT)          -- sección de tabla --
  %attrs;                              -- %coreattrs, %i18n, %events --
  %cellhalign;                         -- alineación horizontal en las celdas --
  %cellvalign;                         -- alineación vertical en las celdas --
  >

<!ATTLIST TR                           -- fila de tabla --
  %attrs;                              -- %coreattrs, %i18n, %events --
  %cellhalign;                         -- alineación horizontal en celdas --
  %cellvalign;                         -- alineación vertical en celdas --
  bgcolor     %Color;        #IMPLIED  -- color de fondo de la celda --
  >



<!-- Para las tablas normales scope es más simple que el atributo headers -->
<!ENTITY % Scope "(row|col|rowgroup|colgroup)">

<!-- TH es para encabezados, TD es para datos,
     y para celdas que actúen como ambos use TD -->
<!ATTLIST (TH|TD)                      -- celda de encabezado o de datos --
  %attrs;                              -- %coreattrs, %i18n, %events --
  abbr        %Text;         #IMPLIED  -- abreviatura para la celda de encabezado --
  axis        CDATA          #IMPLIED  -- lista de encabezados relacionados
                                          separados por comas --
  headers     IDREFS         #IMPLIED  -- lista de id's de celdas de encabezado --
  scope       %Scope;        #IMPLIED  -- campo de acción cubierto por
                                          las celdas de encabezado --
  rowspan     NUMBER         1         -- número de filas abarcado por la celda --
  colspan     NUMBER         1         -- número de columnas abarcado por la celda --
  %cellhalign;                         -- alineación horizontal en celdas --
  %cellvalign;                         -- alineación vertical en celdas --
  nowrap      (nowrap)       #IMPLIED  -- suprimir ajuste automático de líneas --
  bgcolor     %Color;        #IMPLIED  -- color de fondo de la celda --
  width       %Length;       #IMPLIED  -- anchura de la celda --
  height      %Length;       #IMPLIED  -- altura de la celda --
  >

<!--================== Marcos de Documento ===============================-->

<!--
  El modelo de contenido de los documentos HTML depende de si el HEAD
  va seguido de un elemento FRAMESET o BODY. La omisión generalizada de
  la etiqueta inicial de BODY hace impracticable definir el modelo
  de contenido sin el uso de una sección marcada.
-->

<![ %HTML.Frameset; [
<!ELEMENT FRAMESET - - ((FRAMESET|FRAME)+ & NOFRAMES?) -- subdivisión en ventanas -->
<!ATTLIST FRAMESET
  %coreattrs;                          -- id, class, style, title --
  rows        %MultiLengths; #IMPLIED  -- lista de longitudes,
                                          por defecto: 100% (1 fila) --
  cols        %MultiLengths; #IMPLIED  -- lista de longitudes,
                                          por defecto: 100% (1 columna) --
  onload      %Script;       #IMPLIED  -- todos los marcos han sido cargados -- 
  onunload    %Script;       #IMPLIED  -- todos los marcos han sido quitados -- 
  >
]]>

<![ %HTML.Frameset; [
<!-- los nombres reservados de marcos comienzan con "_",
     los demás comienzan con una letra -->
<!ELEMENT FRAME - O EMPTY              -- subventana -->
<!ATTLIST FRAME
  %coreattrs;                          -- id, class, style, title --
  longdesc    %URI;          #IMPLIED  -- vínculo a descripción larga
                                          (complementa al título) --
  name        CDATA          #IMPLIED  -- nombre destino del marco --
  src         %URI;          #IMPLIED  -- origen del contenido del marco --
  frameborder (1|0)          1         -- ¿poner bordes al marco? --
  marginwidth %Pixels;       #IMPLIED  -- anchuras de los márgenes en píxeles --
  marginheight %Pixels;      #IMPLIED  -- alturas de los márgenes en píxeles --
  noresize    (noresize)     #IMPLIED  -- ¿permitir a los usuarios redimensionar
                                          los marcos? --
  scrolling   (yes|no|auto)  auto      -- barra de desplazamiento o no --
  >
]]>

<!ELEMENT IFRAME - - (%flow;)*         -- subventana en línea -->
<!ATTLIST IFRAME
  %coreattrs;                          -- id, class, style, title --
  longdesc    %URI;          #IMPLIED  -- vínculo a descripción larga
                                          (complementa al título) --
  name        CDATA          #IMPLIED  -- nombre destino del marco --
  src         %URI;          #IMPLIED  -- origen del contenido del marco --
  frameborder (1|0)          1         -- ¿poner bordes al marco? --
  marginwidth %Pixels;       #IMPLIED  -- anchuras de los márgenes en píxeles --
  marginheight %Pixels;      #IMPLIED  -- alturas de los márgenes en píxeles --
  scrolling   (yes|no|auto)  auto      -- barra de desplazamiento o no --
  align       %IAlign;       #IMPLIED  -- alineación vertical u horizontal --
  height      %Length;       #IMPLIED  -- altura del marco --
  width       %Length;       #IMPLIED  -- anchura del marco --
  >

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

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

<!ELEMENT NOFRAMES - - %noframes.content;
 -- contenedor de contenido alternativo para representación no basada en marcos -->
<!ATTLIST NOFRAMES
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

<!--================ Cabecera del Documento ==============================-->
<!-- %head.misc; definido previamente como "SCRIPT|STYLE|META|LINK|OBJECT" -->
<!ENTITY % head.content "TITLE & ISINDEX? & BASE?">

<!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- cabecera del documento -->
<!ATTLIST HEAD
  %i18n;                               -- lang, dir --
  profile     %URI;          #IMPLIED  -- diccionario de metainformación con nombre --
  >

<!-- El elemento TITLE no se considera parte del flujo de texto.
     Debería ser mostrado, por ejemplo como el encabezado de la página
     o como el título de la ventana. Se requiere exactamente un título
     por documento.
-->
<!ELEMENT TITLE - - (#PCDATA) -(%head.misc;) -- título del documento -->
<!ATTLIST TITLE %i18n>

<!ELEMENT ISINDEX - O EMPTY            -- entrada de texto de una línea
                                          con indicador -->
<!ATTLIST ISINDEX
  %coreattrs;                          -- id, class, style, title --
  %i18n;                               -- lang, dir --
  prompt      %Text;         #IMPLIED  -- mensaje indicador -->

<!ELEMENT BASE - O EMPTY               -- URI base del documento -->
<!ATTLIST BASE
  href        %URI;          #IMPLIED  -- URI que actúa como URI base --
  target      %FrameTarget;  #IMPLIED  -- representar en este marco --
  >

<!ELEMENT META - O EMPTY               -- metainformación genérica -->
<!ATTLIST META
  %i18n;                               -- lang, dir, para usar con content --
  http-equiv  NAME           #IMPLIED  -- nombre de encabezado de respuesta HTTP --
  name        NAME           #IMPLIED  -- nombre de la metainformación --
  content     CDATA          #REQUIRED -- información asociada --
  scheme      CDATA          #IMPLIED  -- seleccionar forma de contenido --
  >

<!ELEMENT STYLE - - %StyleSheet        -- información de estilo -->
<!ATTLIST STYLE
  %i18n;                               -- lang, dir, para usar con title --
  type        %ContentType;  #REQUIRED -- tipo de contenido del lenguaje de estilo --
  media       %MediaDesc;    #IMPLIED  -- diseñado para usar con estos medios --
  title       %Text;         #IMPLIED  -- título consultivo --
  >

<!ELEMENT SCRIPT - - %Script;          -- sentencias de script -->
<!ATTLIST SCRIPT
  charset     %Charset;      #IMPLIED  -- codificación de caracteres
                                          del recurso vinculado --
  type        %ContentType;  #REQUIRED -- tipo de contenido del lenguaje de scripts --
  language    CDATA          #IMPLIED  -- nombre predefinido del lenguaje de scripts--
  src         %URI;          #IMPLIED  -- URI de un script externo --
  defer       (defer)        #IMPLIED  -- Los AAUU pueden aplazar
                                          la ejecución del script --
  event       CDATA          #IMPLIED  -- reservado para posibles usos futuros --
  for         %URI;          #IMPLIED  -- reservado para posibles usos futuros --
  >

<!ELEMENT NOSCRIPT - - (%flow;)*
  -- contenedor de contenido alternativo para representación no basada en scripts -->
<!ATTLIST NOSCRIPT
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

<!--================ Estructura 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 raíz del documento -->
<!ATTLIST HTML
  %i18n;                               -- lang, dir --
  %version;
  >