<!--====== HTML Document Type Definition for Internet Explorer 3.0 ========-->

<!--                  THIS IS EXPERIMENTAL by k16                          -->

<!ENTITY % HTML.Version
  "http://www.microsoft.com/workshop/author/newhtml/default.htm"
>

<!--================== Deprecated Features Switch =========================-->

<!ENTITY % HTML.Recommended "IGNORE" >

<![ %HTML.Recommended [
        <!ENTITY % HTML.Deprecated "IGNORE">
]]>

<!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">
<!ENTITY % StyleSheet "CDATA">

<!--========= Common attributes ============================================-->

<!ENTITY % attrs  -- common attributes. Taken from the HTML 3 DTD --
       'id     ID      #IMPLIED -- as target for hrefs (link ends) --
        class  NAMES   #IMPLIED -- for subclassing elements --
        style  %StyleSheet   #IMPLIED'>

<!--========= Color attribute ============================================-->

<!ENTITY % color "CDATA" -- a color specification: #HHHHHH @@ details? -->


<!--================ Character mnemonic entities ==========================-->

<!ENTITY % ISOlat1 PUBLIC
       "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML">
%ISOlat1;

<!--================ Entities for special symbols =========================-->
<!-- &trade &shy and &cbsp are not widely deployed and so not included here -->

<!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 -->

<!-- Parameter Entities -->

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


<!--=================== Text Content =======================================-->

<!ENTITY % font "TT | I | B  | U | STRIKE | BIG | SMALL | SUB | SUP | FONT | S">

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

<!ENTITY % break  "BR | NOBR | WBR" >

<!ENTITY % anchors "A" >

<![ %HTML.Deprecated [
<!ENTITY % mmobjects "IMG | APPLET | SCRIPT | MAP | BGSOUND | MARQUEE | OBJECT | EMBED" >
]]>
<!ENTITY % mmobjects "IMG | APPLET | SCRIPT | MAP | BGSOUND | MARQUEE | OBJECT" >

<!ENTITY % formitems "INPUT | SELECT | TEXTAREA">

<![ %HTML.Deprecated [
<!ENTITY % text "#PCDATA | COMMENT | %font | %phrase | %break | %anchors | %mmobjects | %formitems">
]]>
<!ENTITY % text "#PCDATA | %font | %phrase | %break | %anchors | %mmobjects">

<!--=================== Flow Content =======================================-->

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

<![ %HTML.Deprecated [
<!ENTITY % preformatted "PRE | XMP | LISTING">
]]>
<!ENTITY % preformatted "PRE">


<![ %HTML.Deprecated [
<!ENTITY % block
     "P | %list | %preformatted | DIV | BLOCKQUOTE | FORM | ISINDEX |
         HR | TABLE | IFRAME | CENTER">
]]>
<!ENTITY % block
     "P | %list | %preformatted | DIV | BLOCKQUOTE | FORM | ISINDEX |
         HR | TABLE | IFRAME">

<![ %HTML.Deprecated [
<!ENTITY % mixed.content "%heading|%text|%block|ADDRESS|BASEFONT" >
]]>

<!-- %flow is used for DD and LI -->

<![ %HTML.Deprecated [
<!ENTITY % flow "(%mixed.content)*">
]]>
<!ENTITY % flow "(%text | %block)*">

<![ %HTML.Deprecated [
<!ENTITY % font.content "(%mixed.content)*">
]]>
<!ENTITY % font.content "(%text)*">


<!-- Text Elements -->

<!ELEMENT (%font) - -  %font.content >

<!ATTLIST FONT
--      %attrs; --
        size    CDATA   #IMPLIED    -- [+]nn e.g. size="+1", size=4 --
        color   %color  #IMPLIED    -- #RRGGBB in hex, e.g. red: color="#FF0000" --
        face    CDATA   #IMPLIED
        >


<!ELEMENT (%phrase) - - (%text)*>

<!ATTLIST SPAN
        style  %StyleSheet   #IMPLIED
        >

<!ELEMENT (BR|WBR) - O EMPTY   -- forced line break -->
<!ELEMENT NOBR     - O (%text)* -(NOBR) >

<!ATTLIST BR
        class  NAMES   #IMPLIED -- for subclassing elements --
        clear (left|all|right|none) none -- control of text flow --
        >

<![ %HTML.Deprecated [
<!ELEMENT COMMENT  - - CDATA>
]]>


<!--=================== Document Body =====================================-->

<![ %HTML.Deprecated [
<!ENTITY % body.content "(%mixed.content)*" >
]]>
<!ENTITY % body.content "(%heading|%block|%mmobjects|ADDRESS|BASEFONT)*" >

<!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;
        background      %URL    #IMPLIED  -- texture tile for document background --
        %body-color-attrs;                -- bgcolor, text, link, vlink, alink --
        bgproperties   (fixed)  #IMPLIED
        leftmargin      NUMBER  #IMPLIED
        topmargin       NUMBER  #IMPLIED
        >

<![ %HTML.Deprecated [
<!ENTITY % address.content "((%text;) | P | CENTER)*">
]]>
<!ENTITY % address.content "((%text;) | P)*">

<!ELEMENT ADDRESS - - %address.content>

<!ELEMENT DIV - - %body.content>
<!ATTLIST DIV
        %attrs
        align  (left|center|right|justify) left -- alignment of following text --
        nowrap (nowrap) #IMPLIED
        >

<![ %HTML.Deprecated [
<!-- CENTER is a shorthand for DIV with ALIGN=CENTER -->
<!ELEMENT CENTER - - (%mixed.content)*>
]]>

<!--================== The Anchor Element =================================-->

<!ELEMENT A - - (%text)* -(A)>
<!ATTLIST A
        %attrs
        name    CDATA   #IMPLIED    -- named link end --
        href    %URL    #IMPLIED    -- URL for linked resource --
        rel (same|next|parent|previous) same
        rev     CDATA   #IMPLIED    -- reverse link types --
        title   CDATA   #IMPLIED    -- advisory title string --
        target  CDATA   #IMPLIED    -- frame target --
        onclick     %Script #IMPLIED
        onmouseover %Script #IMPLIED
        >

<!--================== 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 -->

<!ENTITY % SHAPE "(rect|rectangle|circ|circle|poly|polygon|default)">
<!ENTITY % COORDS "CDATA" -- comma separated list of numbers -->

<!ELEMENT MAP - - (AREA)*>
<!ATTLIST MAP
    name    CDATA   #IMPLIED
    >

<!ELEMENT AREA - O EMPTY>
<!ATTLIST AREA
        %attrs
        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 --
        alt     CDATA   #IMPLIED
        target  CDATA   #IMPLIED
        notab  (notab)  #IMPLIED
        tabindex NUMBER #IMPLIED
        title  CDATA    #IMPLIED
    >

<!--================== 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
        href    %URL    #IMPLIED    -- URL for linked resource --
        rel     %Types  #IMPLIED    -- forward link types --
        rev     %Types  #IMPLIED    -- reverse link types --
        type    CDATA   #IMPLIED
        title   CDATA   #IMPLIED    -- advisory title string --
        >

<!--=================== 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|center|right)">

<!ELEMENT IMG    - O EMPTY --  Embedded image -->
<!ATTLIST IMG
        %attrs;
        src         %URL     #REQUIRED  -- URL of image to embed --
        alt         CDATA    #IMPLIED   -- for display in place of image --
        align       %IAlign  top        -- vertical or horizontal alignment --
        height      %Length  #IMPLIED   -- suggested height in pixels --
        width       %Length  #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 --
        dynsrc      %URL     #IMPLIED  -- URL of image to embed --
        start       NAMES    #IMPLIED
        loop        NMTOKEN  #IMPLIED
        title       CDATA    #IMPLIED
    >

<!-- USEMAP points to a MAP element which may be in this document
  or an external document, although the latter is not widely supported -->

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

<!ELEMENT APPLET - - (PARAM|%text)*>
<!ATTLIST APPLET
        %attrs
        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  left       -- 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
        download NUMBER   #IMPLIED
        >


<!--=================== Horizontal Rule ===================================-->

<!ELEMENT HR    - O EMPTY>
<!ATTLIST HR
        %attrs;
        align (left|right|center) center
        noshade (noshade) #IMPLIED
        size    %Pixels #IMPLIED
        width   %Length #IMPLIED
        color   %color  #IMPLIED
        >

<!--=================== Paragraphs=========================================-->

<![ %HTML.Deprecated [
<!ENTITY % P.content    "(%text|CENTER)*" >
]]>
<!ENTITY % P.content    "(%text)*" >

<!ELEMENT P     - O %P.content >
<!ATTLIST P
        %attrs;
        align  (left|center|right) left
        >


<!--=================== Base Font =========================================-->

<!ELEMENT BASEFONT      - O EMPTY>
<!ATTLIST BASEFONT
--      %attrs; --
        size    NUMBER  #IMPLIED
        color   %color  #IMPLIED
        >

<!--=================== Background Sound =================================-->

<!ELEMENT BGSOUND  - O EMPTY>
<!ATTLIST BGSOUND
--      %attrs; --
        src     %URL    #IMPLIED
        loop    NMTOKEN #IMPLIED
--      start   CDATA   #IMPLIED --
        >

<!--=================== Marquee =========================================-->

<!ELEMENT MARQUEE  - O (%text)*>
<!ATTLIST MARQUEE
        align     (left|center|right|top|bottom) LEFT
        behavior        (scroll|slide|alternate) SCROLL
        bgcolor %color  #IMPLIED
        direction       (left|right)    LEFT
        height  %Length #IMPLIED
        hspace  %Pixels #IMPLIED
        loop    CDATA   #IMPLIED
        scrollamount    NUMBER  #IMPLIED
        scrolldelay     NUMBER  #IMPLIED
        vspace  %Pixels #IMPLIED
        width   %Length #IMPLIED
        >

<!--=================== Headings ==========================================-->

<!--
  There are six levels of headers from H1 (the most important)
  to H6 (the least important).
-->

<!ELEMENT ( %heading )  - -  %P.content >
<!ATTLIST ( %heading )
        align  (left|center|right) left
        >

<!--=================== 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
--      width NUMBER #implied --
        >

<![ %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;
        >

<!ELEMENT DT - O (%text)*>
<!ATTLIST DT
        %attrs;
        >

<!ELEMENT DD - O %flow;>
<!ATTLIST DD
        %attrs;
        >

<!-- Ordered lists OL, and unordered lists UL -->
<!ELEMENT (OL|UL) - -  (LI)*>

<!--
       Numbering style
    1   arabic 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;
        type      %OLStyle;  #IMPLIED   -- numbering style --
        start     NUMBER     #IMPLIED   -- starting sequence number --
        >

<!ATTLIST UL -- unordered lists --
        %attrs;
        >

<!ELEMENT (DIR|MENU) - -  (LI)* -(%block)>
<!ATTLIST (DIR|MENU)
--      %attrs; --
        >

<!-- 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: "(%OLStyle)" -->

<!ELEMENT LI - O %flow;>
<!ATTLIST LI
        %attrs;
        type    %LIStyle     #IMPLIED   -- list item style --
        value    NUMBER      #IMPLIED   -- reset sequence number --
        >

<!--================ Forms ===============================================-->

<!ELEMENT FORM - - %body.content -(FORM) +(%formitems)>
<!ATTLIST FORM
--      %attrs; --
        action %URL #REQUIRED -- server-side form handler --
        method (%HTTP-Method) GET -- see HTTP specification --
        target  CDATA    #IMPLIED
        onsubmit %Script #IMPLIED
        >

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

<!ELEMENT INPUT - O EMPTY>
<!ATTLIST INPUT
        %attrs;
        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 --
        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
        notab   (notab)  #IMPLIED
        title    CDATA   #IMPLIED
        onblur   %Script #IMPLIED
        onchange %Script #IMPLIED
        onclick  %Script #IMPLIED
        onfocus  %Script #IMPLIED
        onselect %Script #IMPLIED
    >

<!ELEMENT SELECT - - (OPTION+)>
<!ATTLIST SELECT
        name CDATA #REQUIRED
        size NUMBER #IMPLIED
--      multiple (multiple) #IMPLIED --
        >

<!ELEMENT OPTION - O (#PCDATA)*>
<!ATTLIST OPTION
        selected (selected) #IMPLIED
        value  CDATA  #IMPLIED -- defaults to element content --
        >

<!-- Multi-line text input field. -->

<!ELEMENT TEXTAREA - - (#PCDATA)*>
<!ATTLIST TEXTAREA
        name CDATA #REQUIRED
        rows NUMBER #REQUIRED
        cols NUMBER #REQUIRED
        >

<!--======================= Tables ========================================-->

<!-- Invoke TABLES DTD  -->
<!--
<!ENTITY % ietables PUBLIC "-//Microsoft//DTD Internet Explorer 3.0 Tables//EN" >
%ietables; -->

<!-- Note: I originally excerpted this from the document entitled
"The HTML3 Table Model" by Dave Raggett, which I found at
http://www.w3.org/hypertext/WWW/TR/WD-tables. This file
identified itself as W3C Working Draft, dated 12/22/95. There are
slight modifications.

Added width attribute to th and td elements.

Version: 11/11/96

-->

<!-- Content model entities imported from parent DTD:

  %body.content; allows table cells to contain headers, paras,
  lists, form elements and even arbitrarily nested tables.

  %text; is text characters, including character entities and
  character emphasis elements, IMG and anchors
-->

<!--
 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|bleedleft|bleedright|justify)">
<!-- horizontal alignment attributes for cell contents -->
<!ENTITY % cell.halign
        "align  (left|center|right|justify) #IMPLIED"
        >

<!-- vertical alignment attributes for cell contents -->
<!ENTITY % cell.valign
        "valign  (top|middle|bottom|baseline)  #IMPLIED"
        >

<!ELEMENT table - - (caption?, (colgroup*|col*), 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;  left  -- table position relative to window --
        valign (top|middle|bottom|baseline) top
        width   %Length  #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 %Pixels #IMPLIED -- spacing between cells --
        cellpadding %Pixels #IMPLIED -- spacing within cells --
        background       %URL   #IMPLIED        -- background picture --
        bgcolor          %color #IMPLIED  -- table background color --
        bordercolor      %color #IMPLIED  -- table border color --
        bordercolorlight %color #IMPLIED  -- 3D table border color --
        bordercolordark  %color #IMPLIED  -- 3D table border color --
        clear (left|right|all|no) no
        nowrap (nowrap) #IMPLIED
        >

<!-- ALIGN is used here for compatibility with deployed browsers -->
<!ENTITY % Caption "">

<!ATTLIST caption                  -- table caption --
        align  (center|left|right) center
        valign (top|bottom)        top
        >

<!--
COLGROUP groups a set of COL elements. It allows you to group
several columns together.
-->

<!ATTLIST colgroup
        span    NUMBER   1         -- default number of columns in group --
        width   %Length  #IMPLIED  -- default width for enclosed COLs --
        align  (left|center|right) center
        valign (top|middle|bottom) middle
        >

<!--
 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 --
        align  (left|center|right) center
        span    NUMBER   1         -- number of columns spanned by group --
        >

<!--
    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 (tbody|tfoot)      -- table section --
        %attrs;                    -- id, lang, style, dir and class --
        >
<!ATTLIST thead              -- table section --
        %attrs;                    -- id, lang, style, dir and class --
        align  (left|center|right|justify) #IMPLIED
        valign  (top|middle|bottom)  #IMPLIED
        >

<!ATTLIST tr                       -- table row --
        %attrs;                    -- id, lang, style, dir and class --
        %cell.halign;              -- horizontal alignment in cells --
        %cell.valign;              -- vertical alignment in cells --
        bgcolor          %color #IMPLIED  -- background color for cell --
        bordercolor      %color #IMPLIED  -- cell border color --
        bordercolorlight %color #IMPLIED  -- 3D cell border color --
        bordercolordark  %color #IMPLIED  -- 3D cell border color --
        >

<!ATTLIST (th|td)                  -- header or data cell --
        %attrs;                    -- id, lang, style, dir and class --
        nowrap (nowrap)  #IMPLIED  -- suppress word wrap --
        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 --
        background       %URL   #IMPLIED        -- background graphic --
        bgcolor          %color #IMPLIED  -- background color for cell --
        bordercolor      %color #IMPLIED  -- cell border color --
        bordercolorlight %color #IMPLIED  -- 3D cell border color --
        bordercolordark  %color #IMPLIED  -- 3D cell border color --
        height  %Length  #IMPLIED
        width   %Length  #IMPLIED
        >

<!--================ Document Head ========================================-->

<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK|BGSOUND" -- repeatable head elements -->

<!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.
          -->

<!ELEMENT ISINDEX - O EMPTY>
<!ATTLIST ISINDEX
        prompt  CDATA   #IMPLIED -- prompt message --
        action  %URL     #IMPLIED >

<!ELEMENT BASE - O EMPTY>
<!ATTLIST BASE
        href    %URL    #REQUIRED
        target  CDATA   #IMPLIED
        >

<!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     --
        charset     CDATA   #IMPLIED
        url         %URL    #IMPLIED
        >

<!-- SCRIPT/STYLE are place holders for transition to next version of HTML -->

<!ELEMENT STYLE - - CDATA>
<!ATTLIST STYLE
        type        CDATA   #IMPLIED
        title       CDATA   #IMPLIED
        >

<!ELEMENT SCRIPT - - CDATA>
<!ATTLIST SCRIPT
        language     CDATA    #IMPLIED -- predefined script language name --
        >


<!--================ Document Structure ===================================-->

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

<!ELEMENT HTML O O  (HEAD, (BODY|FRAMESET), PLAINTEXT?)>

<!-- Frames -->

<!ELEMENT FRAMESET      - -     (FRAMESET|FRAME|NOFRAMES)+ >
<!ATTLIST FRAMESET
        rows    CDATA   #IMPLIED
        cols    CDATA   #IMPLIED
        framespacing    CDATA   #IMPLIED
        frameborder     (1|0)   #IMPLIED
        >

<!ELEMENT FRAME - O     EMPTY >
<!ATTLIST FRAME
        src     %URL    #REQUIRED
        name    CDATA   #IMPLIED
        marginwidth     NUMBER #IMPLIED -- check this --
        marginheight    NUMBER #IMPLIED -- check this --
        frameborder     (1|0)   #IMPLIED        -- need to check with IE --
        scrolling       (YES|NO)    #IMPLIED
        noresize        (NORESIZE)      #IMPLIED
        align   (LEFT|CENTER|RIGHT|TOP|BOTTOM) LEFT
        >

<!ELEMENT IFRAME - - (%flow;)*>
<!ATTLIST IFRAME
        src      %URL    #REQUIRED
        name     CDATA   #IMPLIED
        width    %Length #IMPLIED
        height   %Length #IMPLIED
        marginwidth     NUMBER #IMPLIED
        marginheight    NUMBER #IMPLIED
        frameborder     (1|0)   #IMPLIED
        scrolling       (YES|NO)   #IMPLIED
        align   (LEFT|CENTER|RIGHT|TOP|BOTTOM)   left
        >

<!ELEMENT NOFRAMES      - -     %body.content >


<!ENTITY % OAlign "(texttop|middle|textmiddle|baseline|
                            textbottom|left|center|right)">

<!-- OBJECT is a character-like element for inserting objects -->
<!ELEMENT OBJECT - - (PARAM | %body.content;)*>
<!ATTLIST OBJECT
        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 left   -- 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 --
        tabindex NUMBER  #IMPLIED
        notab  (notab)   #IMPLIED
        title   CDATA    #IMPLIED
        >

<!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 --
        >

<![ %HTML.Deprecated [
<!ELEMENT EMBED - - (%body.content;)* >
<!ATTLIST EMBED
--      %attrs; --
        name    CDATA   #IMPLIED
        height  CDATA   #IMPLIED
        width   CDATA   #IMPLIED
        param   CDATA   #IMPLIED
        src     %URL    #REQUIRED  -- URL of image to embed --
        palette CDATA   #IMPLIED   -- #rgb|#rgb --
        units (pixels|en) #IMPLIED
        >
]]>
