diff etc/sgml/html-cougar.dtd @ 2:ac2d302a0011 r19-15b2

Import from CVS: tag r19-15b2
author cvs
date Mon, 13 Aug 2007 08:46:35 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/sgml/html-cougar.dtd	Mon Aug 13 08:46:35 2007 +0200
@@ -0,0 +1,873 @@
+<!--
+        This is an EXPERIMENTAL version of HTML (code named Cougar) that
+        extends HTML 3.2 to add support for work by the HTML ERB, including
+        style sheets, scripting, the object tag, internationalization and
+        some extensions to forms. The frame tags will probably be added
+        once we have an agreed definition for them.
+
+            Draft: Wednesday 12-July-96
+
+            Author: Dave Raggett <dsr@w3.org>
+
+        This is SUBJECT TO CHANGE, pending final approval by member
+        organizations of the World Wide Web Consortium.
+-->
+
+<!ENTITY % HTML.Version
+        "-//W3C//DTD HTML Experimental 19960712//EN"
+
+        -- Typical usage:
+
+            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML Experimental 19960712//EN">
+            <html>
+            ...
+            </html>
+        --
+        >
+
+<!--================== Deprecated Features Switch =========================-->
+
+<!ENTITY % HTML.Deprecated "INCLUDE">
+
+<!--================== Imported Names =====================================-->
+
+<!ENTITY % Content-Type "CDATA"
+        -- meaning a MIME content type, as per RFC1521
+        -->
+
+<!ENTITY % HTTP-Method "GET | POST"
+        -- as per HTTP specification
+        -->
+
+<!ENTITY % URL "CDATA"
+        -- The term URL means a CDATA attribute
+           whose value is a Uniform Resource Locator,
+           See RFC1808 (June 95) and RFC1738 (Dec 94).
+        -->
+
+<!ENTITY % script "CDATA" -- scriptlet -->
+
+<!-- Parameter Entities -->
+
+<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK" -- repeatable head elements -->
+
+<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
+
+<!ENTITY % list "UL | OL |  DIR | MENU">
+
+<![ %HTML.Deprecated [
+    <!ENTITY % preformatted "PRE | XMP | LISTING">
+]]>
+
+<!ENTITY % preformatted "PRE">
+
+<!--================ Character mnemonic entities ==========================-->
+
+<!ENTITY % ISOlat1 PUBLIC
+       "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML">
+%ISOlat1;
+
+<!--================ Entities for special symbols =========================-->
+
+<!ENTITY copy   CDATA "&#169"   -- copyright sign        -->
+<!ENTITY reg    CDATA "&#174"   -- registered sign       -->
+<!ENTITY amp    CDATA "&#38;"   -- ampersand             -->
+<!ENTITY gt     CDATA "&#62;"   -- greater than          -->
+<!ENTITY lt     CDATA "&#60;"   -- less than             -->
+<!ENTITY quot   CDATA "&#34;"   -- double quote          -->
+<!ENTITY nbsp   CDATA "&#160;"  -- non breaking space    -->
+<!ENTITY trade  CDATA "&#8482;" -- trade mark symbol     -->
+<!ENTITY shy    CDATA "&#173;"  -- soft hyphen           -->
+<!ENTITY thinsp CDATA "&#8201;" -- thin space (1/6 em)   -->
+<!ENTITY emsp   CDATA "&#8195;" -- em space              -->
+<!ENTITY ensp   CDATA "&#8194;" -- en space (1/2 em)     -->
+<!ENTITY mdash  CDATA "&#8212;" -- em dash               -->
+<!ENTITY ndash  CDATA "&#8211;" -- en dash               -->
+
+<!-- Language-dependent BIDI and contextual analysis     -->
+<!ENTITY zwnj   CDATA "&#8204;" -- zero width non-joiner -->
+<!ENTITY zwj    CDATA "&#8205;" -- zero width joiner     -->
+<!ENTITY lrm    CDATA "&#8206;" -- left-to-right mark    -->
+<!ENTITY rlm    CDATA "&#8207;" -- right-to-left mark    -->
+
+<!--=================== Generic Attributes ================================-->
+
+<!ENTITY % style
+        "id     ID      #IMPLIED    -- document wide unique id --
+         class  CDATA   #IMPLIED    -- comma list of class values --
+         style  CDATA   #IMPLIED    -- associated style info --"
+         >
+
+<!ENTITY % i18n
+        "lang   NAME    #IMPLIED    -- RFC 1766 language value --
+         dir  (ltr|rtl) #IMPLIED    -- default directionality --"
+         >
+
+<!ENTITY % attrs "%style %i18n">
+
+<!ENTITY % just
+        "align  (left|center|right|justify)  #IMPLIED"
+        -- default is left for ltr paragraphs, right for rtl --
+        >
+
+<!--=================== Text Markup =======================================-->
+
+<!ENTITY % font "TT | I | B  | U | S | BIG | SMALL | SUB | SUP">
+
+<!ENTITY % phrase "EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE | Q">
+
+<!ENTITY % special
+   "A|IMG|APPLET|OBJECT|FONT|BASEFONT|BR|SCRIPT|STYLE|MAP|SPAN|BDO">
+
+<!ENTITY % form "INPUT | SELECT | TEXTAREA | LABEL">
+
+<!ENTITY % text "#PCDATA | %font | %phrase | %special | %form">
+
+<!ELEMENT (%font|%phrase) - - (%text)*>
+<!ATTLIST (%font|%phrase) %attrs>
+
+<!-- There are also 16 widely known color names:
+
+    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
+
+ These colors were originally picked as being the standard
+ 16 colors supported with the Windows VGA palette. The above
+ gives the sRGB values in hex (#RRGGBB).
+ -->
+
+<!ELEMENT SPAN - - (%text)*     -- generic language/style container -->
+<!ATTLIST SPAN %attrs>
+
+<!ELEMENT BDO - - (%text)*      -- I18N BiDi over-ride -->
+<!ATTLIST BDO
+        lang   NAME    #IMPLIED    -- RFC 1766 language value --
+        dir  (ltr|rtl) #REQUIRED   -- directionality --
+        >
+
+<!ELEMENT BASEFONT - O EMPTY>
+<!ATTLIST BASEFONT
+    size    CDATA   #REQUIRED   -- base font size for FONT elements --
+    >
+
+<!ELEMENT FONT - - (%text)*     -- local change to font -->
+<!ATTLIST FONT
+    size    CDATA   #IMPLIED    -- [+]nn e.g. size="+1", size=4 --
+    color   CDATA   #IMPLIED    -- #RRGGBB in hex, e.g. red: color="#FF0000" --
+    face    CDATA   #IMPLIED    -- comma separated list of font names --
+    >
+
+<!ELEMENT BR    - O EMPTY   -- forced line break -->
+<!ATTLIST BR
+        %attrs;     -- id, class, style, lang, dir --
+        clear (left|all|right|none) none -- control of text flow --
+        >
+
+<!--================== HTML content models ================================-->
+<!--
+    HTML has three basic content models:
+
+        %text       character level elements and text strings
+        %flow       block-like elements e.g. paragraphs and lists
+        %bodytext   as (b) plus headers and ADDRESS
+-->
+
+<!ENTITY % block
+     "P | %list | %preformatted | DL | DIV | CENTER |
+      BLOCKQUOTE | FORM | ISINDEX | HR | TABLE | FIELDSET">
+
+<!-- %flow is used for DD and LI -->
+
+<!ENTITY % flow "(%text | %block)*">
+
+<!--=================== Document Body =====================================-->
+
+<!ENTITY % body.content "(%heading | %text | %block | ADDRESS)*">
+
+<!ENTITY % color "CDATA" -- a color specification: #HHHHHH @@ details? -->
+
+<!ENTITY % body-color-attrs "
+        bgcolor %color #IMPLIED
+        text  %color   #IMPLIED
+        link  %color   #IMPLIED
+        vlink %color   #IMPLIED
+        alink %color   #IMPLIED
+        ">
+
+<!ELEMENT BODY O O  %body.content>
+<!ATTLIST BODY
+        %attrs;     -- id, class, style, lang, dir --
+        background %URL #IMPLIED  -- texture tile for document background --
+        %body-color-attrs;  -- bgcolor, text, link, vlink, alink --
+        onLoad   %script  #IMPLIED   -- intrinsic event --
+        onUnload %script  #IMPLIED   -- intrinsic event --
+        >
+
+<!ENTITY % address.content "((%text;) | P)*">
+
+<!ELEMENT ADDRESS - - %address.content>
+
+<!ELEMENT DIV - - %body.content>
+<!ATTLIST DIV
+        %attrs;     -- id, class, style, lang, dir --
+        %just;      -- alignment of following text --
+        >
+
+<!-- CENTER is a shorthand for DIV with ALIGN=CENTER -->
+<!ELEMENT center - - %body.content>
+
+<!--================== The Anchor Element =================================-->
+<!-- see WD-object draft for OBJECT client-side imagemap extensions -->
+
+<!ENTITY % SHAPE "(rect|circle|poly|default)">
+<!ENTITY % COORDS "CDATA" -- comma separated list of numbers -->
+
+<!ELEMENT A - - (%text)* -(A)>
+<!ATTLIST A
+        %attrs;     -- id, class, style, lang, dir --
+        name      CDATA   #IMPLIED    -- named link end --
+        href      %URL    #IMPLIED    -- URL for linked resource --
+        rel       CDATA   #IMPLIED    -- forward link types --
+        rev       CDATA   #IMPLIED    -- reverse link types --
+        title     CDATA   #IMPLIED    -- advisory title string --
+        accesskey CDATA   #IMPLIED    -- accessibility key character --
+        shape     %SHAPE  rect        -- for use with OBJECT SHAPES --
+        coords    %COORDS #IMPLIED    -- for use with OBJECT SHAPES --
+        tabindex  NUMBER  #IMPLIED    -- position in tabbing order --
+        notab     (notab) #IMPLIED    -- exclude from tabbing order --
+        onClick  %script  #IMPLIED    -- intrinsic event --
+        onMouseOver %script #IMPLIED  -- intrinsic event --
+        onMouseOut  %script #IMPLIED  -- intrinsic event --
+        >
+
+<!--================== Client-side image maps ============================-->
+
+<!-- These can be placed in the same document or grouped in a
+     separate document although this isn't yet widely supported -->
+
+<!ELEMENT MAP - - (AREA)*>
+<!ATTLIST MAP
+    name    CDATA   #IMPLIED
+    >
+
+<!ELEMENT AREA - O EMPTY>
+<!ATTLIST AREA
+    shape   %SHAPE  rect
+    coords  %COORDS #IMPLIED  -- always needed except for shape=default --
+    href    %URL    #IMPLIED  -- this region acts as hypertext link --
+    nohref (nohref) #IMPLIED  -- this region has no action --
+    title   CDATA   #IMPLIED  -- advisory title string for balloon help --
+    alt     CDATA   #REQUIRED -- description for text only browsers --
+    tabindex    NUMBER  #IMPLIED  -- position in tabbing order --
+    notab       (notab) #IMPLIED  -- exclude from tabbing order --
+    onClick     %script #IMPLIED  -- intrinsic event --
+    onMouseOver %script #IMPLIED  -- intrinsic event --
+    onMouseOut  %script #IMPLIED  -- intrinsic event --
+    >
+
+<!--================== The LINK Element ==================================-->
+
+<!ENTITY % Types "CDATA"
+        -- See Internet Draft: draft-ietf-html-relrev-00.txt
+           LINK has been part of HTML since the early days
+           although few browsers as yet take advantage of it.
+
+           Relationship values can be used in principle:
+
+                a) for document specific toolbars/menus when used
+                   with the LINK element in document head:
+                b) to link to a separate style sheet (rel=stylesheet)
+                c) to make a link to a script (rel=script)
+                d) by stylesheets to control how collections of
+                   html nodes are rendered into printed documents
+                e) to make a link to a printable version of this document
+                   e.g. a postscript or pdf version (rel=print)
+-->
+
+<!ELEMENT LINK - O EMPTY>
+<!ATTLIST LINK
+        %style;     -- id, class, style --
+        href    %URL    #IMPLIED    -- URL for linked resource --
+        rel     %Types  #IMPLIED    -- forward link types --
+        rev     %Types  #IMPLIED    -- reverse link types --
+        title   CDATA   #IMPLIED    -- advisory title string --
+        type    CDATA   #IMPLIED    -- advisory Internet media type --
+        >
+
+<!--=================== Images ============================================-->
+
+<!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length -->
+<!ENTITY % Pixels "CDATA" -- integer representing length in pixels -->
+
+<!-- Suggested widths are used for negotiating image size
+     with the module responsible for painting the image.
+     align=left or right cause image to float to margin
+     and for subsequent text to wrap around image -->
+
+<!ENTITY % IAlign "(top|middle|bottom|left|right)"  -- center? -->
+
+<!ELEMENT IMG    - O EMPTY --  Embedded image -->
+<!ATTLIST IMG
+        %style;     -- id, class, style --
+        src     %URL     #REQUIRED  -- URL of image to embed --
+        alt     CDATA    #IMPLIED   -- for display in place of image --
+        align   %IAlign  #IMPLIED   -- vertical or horizontal alignment --
+        height  %Pixels  #IMPLIED   -- suggested height in pixels --
+        width   %Pixels  #IMPLIED   -- suggested width in pixels --
+        border  %Pixels  #IMPLIED   -- suggested link border width --
+        hspace  %Pixels  #IMPLIED   -- suggested horizontal gutter --
+        vspace  %Pixels  #IMPLIED   -- suggested vertical gutter --
+        usemap  %URL     #IMPLIED   -- use client-side image map --
+        ismap   (ismap)  #IMPLIED   -- use server image map --
+        title   CDATA    #IMPLIED   -- advisory title string --
+        >
+
+<!-- USEMAP points to a MAP element which may be in this document
+  or an external document, although the latter is not widely supported -->
+
+<!--=================== OBJECT tag ===================================-->
+<!-- OBJECT is a character-like element for inserting objects, see
+    W3C working draft:  http://www.w3.org/pub/WWW/TR/WD-object.html  -->
+
+<!ENTITY % OAlign "(texttop|middle|textmiddle|baseline|
+                             textbottom|left|center|right)">
+
+<!ELEMENT OBJECT - - (param | %body.content)*>
+<!ATTLIST OBJECT
+        %attrs      -- id, class, style, lang, dir --
+        declare (declare) #IMPLIED  -- declare but don't instantiate flag --
+        classid %URL     #IMPLIED   -- identifies an implementation --
+        codebase %URL    #IMPLIED   -- some systems need an additional URL --
+        data    %URL     #IMPLIED   -- reference to object's data --
+        type    CDATA    #IMPLIED   -- Internet media type for data --
+        codetype CDATA   #IMPLIED   -- Internet media type for code --
+        standby CDATA    #IMPLIED   -- message to show while loading --
+        align   %OAlign  #IMPLIED   -- positioning inside document --
+        height  %Length  #IMPLIED   -- suggested height --
+        width   %Length  #IMPLIED   -- suggested width --
+        border  %Length  #IMPLIED   -- suggested link border width --
+        hspace  %Length  #IMPLIED   -- suggested horizontal gutter --
+        vspace  %Length  #IMPLIED   -- suggested vertical gutter --
+        usemap  %URL     #IMPLIED   -- reference to image map --
+        shapes  (shapes) #IMPLIED   -- object has shaped hypertext links --
+        name    %URL     #IMPLIED   -- submit as part of form --
+        title   CDATA    #IMPLIED   -- advisory title string --
+        tabindex NUMBER  #IMPLIED   -- position in tabbing order --
+        notab    (notab) #IMPLIED   -- exclude from tabbing order --
+        >
+
+<!ELEMENT param - O EMPTY -- named property value -->
+<!ATTLIST param
+        name      CDATA             #REQUIRED  -- property name --
+        value     CDATA             #IMPLIED   -- property value --
+        valuetype (DATA|REF|OBJECT) DATA       -- How to interpret value --
+        type      CDATA             #IMPLIED   -- Internet media type --
+        >
+
+<!--=================== Java APPLET tag ===================================-->
+<!--
+  This tag is supported by all java enabled browsers. Applet resources
+  (including their classes) are normally loaded relative to the document
+  URL (or <BASE> element if it is defined). The CODEBASE attribute is used
+  to change this default behavior. If the CODEBASE attribute is defined then
+  it specifies a different location to find applet resources. The value
+  can be an absolute URL or a relative URL. The absolute URL is used as is
+  without modification and is not effected by the documents <BASE> element.
+  When the codebase attribute is relative, then it is relative to the
+  document URL (or <BASE> tag if defined). <TEXTFLOW> avoids the problems
+  with SGML mixed content. It can always be omitted *except* when the APPLET
+  element hasn't any content. White space, comments and PARAM elements
+  don't count as content for this purpose. TEXTFLOW was introduced into
+  the DTD to satisfy SGML parsers, but is ignored by current Web browsers.
+-->
+<!ELEMENT APPLET - - (PARAM*, TEXTFLOW)>
+<!ATTLIST APPLET
+        %style;     -- id, class, style --
+        codebase %URL     #IMPLIED   -- code base --
+        code     CDATA    #REQUIRED  -- class file --
+        name     CDATA    #IMPLIED   -- applet name --
+        alt      CDATA    #IMPLIED   -- for display in place of applet --
+        align    %IAlign  #IMPLIED   -- vertical or horizontal alignment --
+        height   %Pixels  #REQUIRED  -- suggested height in pixels --
+        width    %Pixels  #REQUIRED  -- suggested width in pixels --
+        hspace   %Pixels  #IMPLIED   -- suggested horizontal gutter --
+        vspace   %Pixels  #IMPLIED   -- suggested vertical gutter --
+        title    CDATA    #IMPLIED   -- advisory title string --
+        download NUMBER   #IMPLIED   -- image download order --
+        >
+
+<!ELEMENT TEXTFLOW O O (%text)* -- needed to bypass mixed content model -->
+
+<!--
+Here is an example:
+
+    <applet codebase="applets/NervousText"
+        code=NervousText.class
+        width=300
+        height=50>
+    <param name=text value="Java is Cool!">
+    <img src=sorry.gif alt="This looks better with Java support">
+    </applet>
+-->
+
+<!--=================== Horizontal Rule ===================================-->
+
+<!ELEMENT HR    - O EMPTY>
+<!ATTLIST HR
+        %style;     -- id, class, style --
+        align (left|right|center) #IMPLIED
+        noshade (noshade) #IMPLIED
+        size    %Pixels   #IMPLIED
+        width   %Length   #IMPLIED
+        >
+<!--=================== Paragraphs =========================================-->
+
+<!ELEMENT P     - O (%text)*>
+<!ATTLIST P
+        %attrs;     -- id, class, style, lang, dir --
+        %just;      -- text alignment --
+        >
+
+<!--=================== Headings ==========================================-->
+
+<!--
+  There are six levels of headers from H1 (the most important)
+  to H6 (the least important).
+-->
+
+<!ELEMENT ( %heading )  - -  (%text;)*>
+<!ATTLIST ( %heading )
+        %attrs;     -- id, class, style, lang, dir --
+        %just;      -- text alignment --
+        >
+
+<!--=================== Preformatted Text =================================-->
+
+<!-- excludes images and changes in font size -->
+
+<!ENTITY % pre.exclusion "IMG|BIG|SMALL|SUB|SUP|FONT">
+
+<!ELEMENT PRE - - (%text)* -(%pre.exclusion)>
+<!ATTLIST PRE
+        %attrs;     -- id, class, style, lang, dir --
+        width NUMBER #implied -- is this widely supported? --
+        >
+
+<![ %HTML.Deprecated [
+
+<!ENTITY % literal "CDATA"
+        -- historical, non-conforming parsing mode where
+           the only markup signal is the end tag
+           in full
+        -->
+
+<!ELEMENT (XMP|LISTING) - -  %literal>
+<!ELEMENT PLAINTEXT - O %literal>
+
+]]>
+
+<!--=================== Block-like Quotes =================================-->
+
+<!ELEMENT BLOCKQUOTE - - %body.content>
+<!ATTLIST BLOCKQUOTE %attrs>
+
+<!--=================== Lists =============================================-->
+
+<!--
+    HTML 3.2 allows you to control the sequence number for ordered lists.
+    You can set the sequence number with the START and VALUE attributes.
+    The TYPE attribute may be used to specify the rendering of ordered
+    and unordered lists.
+-->
+
+<!-- definition lists - DT for term, DD for its definition -->
+
+<!ELEMENT DL    - -  (DT|DD)*>
+<!ATTLIST DL
+        %attrs;     -- id, class, style, lang, dir --
+        compact (compact) #IMPLIED -- more compact style --
+        >
+
+<!ELEMENT DT - O  (%text)*>
+<!ELEMENT DD - O  %flow;>
+<!ATTLIST (DT|DD) %attrs>
+
+<!-- Ordered lists OL, and unordered lists UL -->
+<!ELEMENT (OL|UL) - -  (LI)*>
+
+<!--
+       Numbering style
+    1   arablic numbers     1, 2, 3, ...
+    a   lower alpha         a, b, c, ...
+    A   upper alpha         A, B, C, ...
+    i   lower roman         i, ii, iii, ...
+    I   upper roman         I, II, III, ...
+
+    The style is applied to the sequence number which by default
+    is reset to 1 for the first list item in an ordered list.
+
+    This can't be expressed directly in SGML due to case folding.
+-->
+
+<!ENTITY % OLStyle "CDATA" -- constrained to: [1|a|A|i|I] -->
+
+<!ATTLIST OL -- ordered lists --
+        %attrs;     -- id, class, style, lang, dir --
+        type      %OLStyle   #IMPLIED   -- numbering style --
+        start     NUMBER     #IMPLIED   -- starting sequence number --
+        compact  (compact)   #IMPLIED   -- reduced interitem spacing --
+        >
+
+<!-- bullet styles -->
+
+<!ENTITY % ULStyle "disc|square|circle">
+
+<!ATTLIST UL -- unordered lists --
+        %attrs;     -- id, class, style, lang, dir --
+        type    (%ULStyle)   #IMPLIED   -- bullet style --
+        compact (compact)    #IMPLIED   -- reduced interitem spacing --
+        >
+
+<!ELEMENT (DIR|MENU) - -  (LI)* -(%block)>
+<!ATTLIST DIR
+        compact (compact) #IMPLIED
+        >
+<!ATTLIST MENU
+        compact (compact) #IMPLIED
+        >
+
+<!-- <DIR>              Directory list                  -->
+<!-- <DIR COMPACT>      Compact list style              -->
+<!-- <MENU>             Menu list                       -->
+<!-- <MENU COMPACT>     Compact list style              -->
+
+<!-- The type attribute can be used to change the bullet style
+     in unordered lists and the numbering style in ordered lists -->
+
+<!ENTITY % LIStyle "CDATA" -- constrained to: "(%ULStyle|%OLStyle)" -->
+
+<!ELEMENT LI - O %flow -- list item -->
+<!ATTLIST LI
+        %attrs;     -- id, class, style, lang, dir --
+        type    %LIStyle     #IMPLIED   -- list item style --
+        value    NUMBER      #IMPLIED   -- reset sequence number --
+        >
+
+<!--================ Forms ===============================================-->
+
+<!ELEMENT FORM - - %body.content -(FORM)>
+<!ATTLIST FORM
+        action    %URL           #REQUIRED  -- server-side form handler --
+        method    (%HTTP-Method) GET        -- see HTTP specification --
+        enctype   %Content-Type; "application/x-www-form-urlencoded"
+        onSubmit  %script        #IMPLIED   -- intrinsic event --
+        >
+
+<!ELEMENT LABEL - - (%text)* -(LABEL) -- field label text -->
+<!ATTLIST LABEL
+        %attrs;     -- id, class, style, lang, dir --
+        for         IDREF   #IMPLIED  -- matches field ID value --
+        accesskey   CDATA   #IMPLIED  -- accessibility key character --
+        title       CDATA   #IMPLIED  -- advisory title string --
+        onClick     %script #IMPLIED  -- intrinsic event --
+        >
+<!ENTITY % InputType
+        "(TEXT | PASSWORD | CHECKBOX |
+          RADIO | SUBMIT | RESET |
+          FILE | HIDDEN | IMAGE | BUTTON)"
+         >
+
+<!ELEMENT INPUT - O EMPTY>
+<!ATTLIST INPUT
+        %attrs;     -- id, class, style, lang, dir --
+        type  %InputType TEXT     -- what kind of widget is needed --
+        name  CDATA #IMPLIED     -- required for all but submit and reset --
+        value CDATA #IMPLIED     -- required for radio and checkboxes --
+        checked (checked) #IMPLIED -- for radio buttons and check boxes --
+        title CDATA #IMPLIED     -- advisory title string --
+        size  CDATA #IMPLIED     -- specific to each type of field --
+        maxlength NUMBER #IMPLIED
+        src   %URL  #IMPLIED     -- for fields with background images --
+        align  (top|middle|bottom|left|right) top -- image alignment --
+        tabindex NUMBER  #IMPLIED  -- position in tabbing order --
+        notab    (notab) #IMPLIED  -- exclude from tabbing order --
+        onClick  %script #IMPLIED  -- intrinsic event --
+        onFocus  %script #IMPLIED  -- intrinsic event --
+        onBlur   %script #IMPLIED  -- intrinsic event --
+        onSelect %script #IMPLIED  -- intrinsic event --
+        onChange %script #IMPLIED  -- intrinsic event --
+       >
+
+<!ELEMENT SELECT - - (OPTION+)>
+<!ATTLIST SELECT
+        %attrs;     -- id, class, style, lang, dir --
+        name     CDATA   #REQUIRED
+        size     NUMBER  #IMPLIED
+        multiple (multiple) #IMPLIED
+        title    CDATA   #IMPLIED  -- advisory title string --
+        tabindex NUMBER  #IMPLIED  -- position in tabbing order --
+        notab    (notab) #IMPLIED  -- exclude from tabbing order --
+        onFocus  %script #IMPLIED  -- intrinsic event --
+        onBlur   %script #IMPLIED  -- intrinsic event --
+        onChange %script #IMPLIED  -- intrinsic event --
+        >
+
+<!ELEMENT OPTION - O (#PCDATA)*>
+<!ATTLIST OPTION
+        %attrs;     -- id, class, style, lang, dir --
+        selected (selected) #IMPLIED
+        value  CDATA  #IMPLIED -- defaults to element content --
+        >
+
+<!-- Multi-line text input field. -->
+
+<!ELEMENT TEXTAREA - - (#PCDATA)*>
+<!ATTLIST TEXTAREA
+        %attrs;     -- id, class, style, lang, dir --
+        name     CDATA   #REQUIRED
+        rows     NUMBER  #REQUIRED
+        cols     NUMBER  #REQUIRED
+        title    CDATA   #IMPLIED  -- advisory title string --
+        tabindex NUMBER  #IMPLIED  -- position in tabbing order --
+        notab    (notab) #IMPLIED  -- exclude from tabbing order --
+        onFocus  %script #IMPLIED  -- intrinsic event --
+        onBlur   %script #IMPLIED  -- intrinsic event --
+        onSelect %script #IMPLIED  -- intrinsic event --
+        onChange %script #IMPLIED  -- intrinsic event --
+        >
+
+<!-- captioned set of related form fields -->
+
+<!ELEMENT FIELDSET - - (CAPTION?, %body.content)>
+<!ATTLIST FIELDSET
+        %attrs;     -- id, class, style, lang, dir --
+        title   CDATA   #IMPLIED    -- advisory title string -->
+
+<!--======================= Tables ========================================-->
+
+<!-- IETF HTML table standard, see RFC 1942 e.g. at 
+     http://www.ics.uci.edu/pub/ietf/html/rfc1942.txt -->
+
+<!--
+ The BORDER attribute sets the thickness of the frame around the
+ table. The default units are screen pixels.
+
+ The FRAME attribute specifies which parts of the frame around
+ the table should be rendered. The values are not the same as
+ CALS to avoid a name clash with the VALIGN attribute.
+
+ The value "border" is included for backwards compatibility with
+ <TABLE BORDER> which yields frame=border and border=implied
+ For <TABLE BORDER=1> you get border=1 and frame=implied. In this
+ case, its appropriate to treat this as frame=border for backwards
+ compatibility with deployed browsers.
+-->
+
+<!ENTITY % Frame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
+
+<!--
+ The RULES attribute defines which rules to draw between cells:
+
+ If RULES is absent then assume:
+     "none" if BORDER is absent or BORDER=0 otherwise "all"
+-->
+
+<!ENTITY % Rules "(none | groups | rows | cols | all)">
+        
+<!-- horizontal placement of table relative to window -->
+<!ENTITY % Where "(left|center|right)">
+
+<!-- horizontal alignment attributes for cell contents -->
+<!ENTITY % cell.halign
+        "align  (left|center|right|justify|char) #IMPLIED
+         char    CDATA   #IMPLIED -- alignment char, e.g. char=':' --
+         charoff CDATA   #IMPLIED -- offset for alignment char --"
+        >
+
+<!-- vertical alignment attributes for cell contents -->
+<!ENTITY % cell.valign
+        "valign  (top|middle|bottom|baseline)  #IMPLIED"
+        >
+
+<!ELEMENT table - - (caption?, (col*|colgroup*), thead?, tfoot?, tbody+)>
+<!ELEMENT caption - - (%text;)+>
+<!ELEMENT thead - O (tr+)>
+<!ELEMENT tfoot - O (tr+)>
+<!ELEMENT tbody O O (tr+)>
+<!ELEMENT colgroup - O (col*)>
+<!ELEMENT col - O EMPTY>
+<!ELEMENT tr - O (th|td)+>
+<!ELEMENT (th|td) - O %body.content>
+
+<!ATTLIST table                    -- table element --
+        %attrs;                    -- id, lang, style, dir and class --
+        align   %Where;  #IMPLIED  -- table position relative to window --
+        width   CDATA    #IMPLIED  -- table width relative to window --
+        cols    NUMBER   #IMPLIED  -- used for immediate display mode --
+        border  CDATA    #IMPLIED  -- controls frame width around table --
+        frame   %Frame;  #IMPLIED  -- which parts of table frame to include --
+        rules   %Rules;  #IMPLIED  -- rulings between rows and cols --
+        cellspacing CDATA #IMPLIED -- spacing between cells --
+        cellpadding CDATA #IMPLIED -- spacing within cells --
+        >
+
+<!-- ALIGN is used here for compatibility with deployed browsers -->
+<!ENTITY % Caption "(top|bottom|left|right)">
+
+<!ATTLIST caption                   -- table caption --
+        %attrs;                     -- id, lang, style, dir and class --
+        align  %Caption;  #IMPLIED  -- relative to table --
+        accesskey CDATA   #IMPLIED  -- accessibility key character --
+        >
+
+<!--
+COLGROUP groups a set of COL elements. It allows you to group
+several columns together.
+-->
+
+<!ATTLIST colgroup
+        %attrs;                    -- id, lang, style, dir and class --
+        span    NUMBER   1         -- default number of columns in group --
+        width   CDATA    #IMPLIED  -- default width for enclosed COLs --
+        %cell.halign;              -- horizontal alignment in cells --
+        %cell.valign;              -- vertical alignment in cells --
+        >
+
+<!--
+ COL elements define the alignment properties for cells in a given
+ column or spanned columns. The WIDTH attribute specifies the
+ width of the columns, e.g.
+
+     width=64        width in screen pixels
+     width=0.5*      relative width of 0.5
+-->
+
+<!ATTLIST col                      -- column groups and properties --
+        %attrs;                    -- id, lang, style, dir and class --
+        span    NUMBER   1         -- number of columns spanned by group --
+        width   CDATA    #IMPLIED  -- column width specification --
+        %cell.halign;              -- horizontal alignment in cells --
+        %cell.valign;              -- vertical alignment in cells --
+        >
+
+<!--
+    Use THEAD to duplicate headers when breaking table
+    across page boundaries, or for static headers when
+    body sections are rendered in scrolling panel.
+
+    Use TFOOT to duplicate footers when breaking table
+    across page boundaries, or for static footers when
+    body sections are rendered in scrolling panel.
+
+    Use multiple TBODY sections when rules are needed
+    between groups of table rows.
+-->
+<!ATTLIST (thead|tbody|tfoot)      -- table section --
+        %attrs;                    -- id, lang, style, dir and class --
+        %cell.halign;              -- horizontal alignment in cells --
+        %cell.valign;              -- vertical alignment in cells --
+        >
+
+<!ATTLIST tr                       -- table row --
+        %attrs;                    -- id, lang, style, dir and class --
+        %cell.halign;              -- horizontal alignment in cells --
+        %cell.valign;              -- vertical alignment in cells --
+        >
+
+<!ATTLIST (th|td)                  -- header or data cell --
+        %attrs;                    -- id, lang, style, dir and class --
+        axis    CDATA    #IMPLIED  -- defaults to cell content --
+        axes    CDATA    #IMPLIED  -- list of axis names --
+        nowrap (nowrap)  #IMPLIED  -- suppress word wrap --
+        bgcolor %color   #IMPLIED  -- cell background color --
+        rowspan NUMBER   1         -- number of rows spanned by cell --
+        colspan NUMBER   1         -- number of cols spanned by cell --
+        %cell.halign;              -- horizontal alignment in cells --
+        %cell.valign;              -- vertical alignment in cells --
+        >
+<!--================ Document Head ========================================-->
+
+<!-- %head.misc defined earlier on as "SCRIPT|STYLE|META|LINK" -->
+
+<!ENTITY % head.content "TITLE & ISINDEX? & BASE?">
+
+<!ELEMENT HEAD O O  (%head.content) +(%head.misc)>
+
+<!ELEMENT TITLE - -  (#PCDATA)* -(%head.misc)
+          -- The TITLE element is not considered part of the flow of text.
+             It should be displayed, for example as the page header or
+             window title.
+          -->
+<!ATTLIST TITLE %i18n>
+
+<!ELEMENT ISINDEX - O EMPTY>
+<!ATTLIST ISINDEX
+        %i18n;     -- lang, dir --
+        prompt CDATA #IMPLIED -- prompt message -->
+
+<!--
+    The BASE element gives an absolute URL for dereferencing relative
+    URLs, e.g.
+
+         <BASE href="http://foo.com/index.html">
+         ...
+         <IMG SRC="images/bar.gif">
+
+    The image is deferenced to
+
+         http://foo.com/images/bar.gif
+
+   In the absence of a BASE element the document URL should be used.
+   Note that this is not necessarily the same as the URL used to
+   request the document, as the base URL may be overridden by an HTTP
+   header accompanying the document.
+-->
+
+<!ELEMENT BASE - O EMPTY>
+<!ATTLIST BASE
+        href %URL  #REQUIRED
+        >
+
+<!ELEMENT META - O EMPTY -- Generic Metainformation -->
+<!ATTLIST META
+        http-equiv  NAME    #IMPLIED  -- HTTP response header name  --
+        name        NAME    #IMPLIED  -- metainformation name       --
+        content     CDATA   #REQUIRED -- associated information     --
+        >
+
+<!-- SCRIPT/STYLE are place holders for transition to next version of HTML -->
+
+<!ELEMENT STYLE  - - CDATA -- style info -->
+<!ATTLIST STYLE
+    %i18n;     -- lang, dir for use with title string --
+    type    CDATA   #REQUIRED   -- Internet media type for style notation --
+    title   CDATA   #IMPLIED    -- advisory title for this style --
+    >
+    
+<!ELEMENT SCRIPT - - CDATA -- script statements -->
+<!ATTLIST SCRIPT
+    type    CDATA   #IMPLIED    -- Internet media type for style notation --
+    language CDATA  #IMPLIED    -- predefined script language name --
+    src     %URL    #IMPLIED    -- URL for an external script --
+    >
+
+<!--================ Document Structure ===================================-->
+
+<!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'">
+
+<![ %HTML.Deprecated [
+    <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?">
+]]>
+
+<!ENTITY % html.content "HEAD, BODY">
+
+<!ELEMENT HTML O O  (%html.content)>
+<!ATTLIST HTML
+        %version.attr;
+        >