Warning, /frameworks/khtml/src/html/dtd.dtd is written in an unsupported language. File is not indexed.

0001 <!--
0002     This is the HTML 4.0 Transitional DTD, which includes
0003     presentation attributes and elements that W3C expects to phase out
0004     as support for style sheets matures. Authors should use the Strict
0005     DTD when possible, but may use the Transitional DTD when support
0006     for presentation attribute and elements is required.
0007 
0008     HTML 4.0 includes mechanisms for style sheets, scripting,
0009     embedding objects, improved support for right to left and mixed
0010     direction text, and enhancements to forms for improved
0011     accessibility for people with disabilities.
0012 
0013           Draft: $Date$
0014 
0015           Authors:
0016               Dave Raggett <dsr@w3.org>
0017               Arnaud Le Hors <lehors@w3.org>
0018               Ian Jacobs <ij@w3.org>
0019 
0020     Further information about HTML 4.0 is available at:
0021 
0022         http://www.w3.org/TR/REC-html40
0023 -->
0024 <!ENTITY % HTML.Version "-//W3C//DTD HTML 4.0 Transitional//EN"
0025   -- Typical usage:
0026 
0027     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
0028             "http://www.w3.org/TR/REC-html40/loose.dtd">
0029     <html>
0030     <head>
0031     ...
0032     </head>
0033     <body>
0034     ...
0035     </body>
0036     </html>
0037 
0038     The URI used as a system identifier with the public identifier allows
0039     the user agent to download the DTD and entity sets as needed.
0040 
0041     The FPI for the Strict HTML 4.0 DTD is:
0042 
0043         "-//W3C//DTD HTML 4.0//EN"
0044 
0045     and its URI is:
0046 
0047         http://www.w3.org/TR/REC-html40/strict.dtd
0048 
0049     Authors should use the Strict DTD unless they need the
0050     presentation control for user agents that don't (adequately)
0051     support style sheets.
0052 
0053     If you are writing a document that includes frames, use 
0054     the following FPI:
0055 
0056         "-//W3C//DTD HTML 4.0 Frameset//EN"
0057 
0058     with the URI:
0059 
0060         http://www.w3.org/TR/REC-html40/frameset.dtd
0061 
0062     The following URIs are supported in relation to HTML 4.0
0063 
0064     "http://www.w3.org/TR/REC-html40/strict.dtd" (Strict DTD)
0065     "http://www.w3.org/TR/REC-html40/loose.dtd" (Loose DTD)
0066     "http://www.w3.org/TR/REC-html40/frameset.dtd" (Frameset DTD)
0067     "http://www.w3.org/TR/REC-html40/HTMLlat1.ent" (Latin-1 entities)
0068     "http://www.w3.org/TR/REC-html40/HTMLsymbol.ent" (Symbol entities)
0069     "http://www.w3.org/TR/REC-html40/HTMLspecial.ent" (Special entities)
0070 
0071     These URIs point to the latest version of each file. To reference
0072     this specific revision use the following URIs:
0073 
0074     "http://www.w3.org/TR/1998/REC-html40-19980424/strict.dtd"
0075     "http://www.w3.org/TR/1998/REC-html40-19980424/loose.dtd"
0076     "http://www.w3.org/TR/1998/REC-html40-19980424/frameset.dtd"
0077     "http://www.w3.org/TR/1998/REC-html40-19980424/HTMLlat1.ent"
0078     "http://www.w3.org/TR/1998/REC-html40-19980424/HTMLsymbol.ent"
0079     "http://www.w3.org/TR/1998/REC-html40-19980424/HTMLspecial.ent"
0080 
0081 -->
0082 
0083 <!--================== Imported Names ====================================-->
0084 
0085 <!ENTITY % ContentType "CDATA"
0086     -- media type, as per [RFC2045]
0087     -->
0088 
0089 <!ENTITY % ContentTypes "CDATA"
0090     -- comma-separated list of media types, as per [RFC2045]
0091     -->
0092 
0093 <!ENTITY % Charset "CDATA"
0094     -- a character encoding, as per [RFC2045]
0095     -->
0096 
0097 <!ENTITY % Charsets "CDATA"
0098     -- a space separated list of character encodings, as per [RFC2045]
0099     -->
0100 
0101 <!ENTITY % LanguageCode "NAME"
0102     -- a language code, as per [RFC1766]
0103     -->
0104 
0105 <!ENTITY % Character "CDATA"
0106     -- a single character from [ISO10646] 
0107     -->
0108 
0109 <!ENTITY % LinkTypes "CDATA"
0110     -- space-separated list of link types
0111     -->
0112 
0113 <!ENTITY % MediaDesc "CDATA"
0114     -- single or comma-separated list of media descriptors
0115     -->
0116 
0117 <!ENTITY % URI "CDATA"
0118     -- a Uniform Resource Identifier,
0119        see [URI]
0120     -->
0121 
0122 <!ENTITY % Datetime "CDATA" -- date and time information. ISO date format -->
0123 
0124 
0125 <!ENTITY % Script "CDATA" -- script expression -->
0126 
0127 <!ENTITY % StyleSheet "CDATA" -- style sheet data -->
0128 
0129 <!ENTITY % FrameTarget "CDATA" -- render in this frame -->
0130 
0131 
0132 <!ENTITY % Text "CDATA">
0133 
0134 
0135 <!-- Parameter Entities -->
0136 
0137 <!ENTITY % head.misc "SCRIPT|STYLE|META|LINK|OBJECT" -- repeatable head elements -->
0138 
0139 <!ENTITY % heading "H1|H2|H3|H4|H5|H6">
0140 
0141 <!ENTITY % list "UL | OL |  DIR | MENU">
0142 
0143 <!ENTITY % preformatted "PRE">
0144 
0145 <!ENTITY % Color "CDATA" -- a color using sRGB: #RRGGBB as Hex values -->
0146 
0147 <!-- There are also 16 widely known color names with their sRGB values:
0148 
0149     Black  = #000000    Green  = #008000
0150     Silver = #C0C0C0    Lime   = #00FF00
0151     Gray   = #808080    Olive  = #808000
0152     White  = #FFFFFF    Yellow = #FFFF00
0153     Maroon = #800000    Navy   = #000080
0154     Red    = #FF0000    Blue   = #0000FF
0155     Purple = #800080    Teal   = #008080
0156     Fuchsia= #FF00FF    Aqua   = #00FFFF
0157  -->
0158 
0159 <!ENTITY % bodycolors "
0160   bgcolor     %Color;        #IMPLIED  -- document background color --
0161   text        %Color;        #IMPLIED  -- document text color --
0162   link        %Color;        #IMPLIED  -- color of links --
0163   vlink       %Color;        #IMPLIED  -- color of visited links --
0164   alink       %Color;        #IMPLIED  -- color of selected links --
0165   ">
0166 
0167 <!--=================== Generic Attributes ===============================-->
0168 
0169 <!ENTITY % coreattrs
0170  "id          ID             #IMPLIED  -- document-wide unique id --
0171   class       CDATA          #IMPLIED  -- space separated list of classes --
0172   style       %StyleSheet;   #IMPLIED  -- associated style info --
0173   title       %Text;         #IMPLIED  -- advisory title/amplification --"
0174   >
0175 
0176 <!ENTITY % i18n
0177  "lang        %LanguageCode; #IMPLIED  -- language code --
0178   dir         (ltr|rtl)      #IMPLIED  -- direction for weak/neutral text --"
0179   >
0180 
0181 <!ENTITY % events
0182  "onclick     %Script;       #IMPLIED  -- a pointer button was clicked --
0183   ondblclick  %Script;       #IMPLIED  -- a pointer button was double clicked--
0184   onmousedown %Script;       #IMPLIED  -- a pointer button was pressed down --
0185   onmouseup   %Script;       #IMPLIED  -- a pointer button was released --
0186   onmouseover %Script;       #IMPLIED  -- a pointer was moved onto --
0187   onmousemove %Script;       #IMPLIED  -- a pointer was moved within --
0188   onmouseout  %Script;       #IMPLIED  -- a pointer was moved away --
0189   onkeypress  %Script;       #IMPLIED  -- a key was pressed and released --
0190   onkeydown   %Script;       #IMPLIED  -- a key was pressed down --
0191   onkeyup     %Script;       #IMPLIED  -- a key was released --"
0192   >
0193 
0194 <!-- Reserved Feature Switch -->
0195 <!ENTITY % HTML.Reserved "IGNORE">
0196 
0197 <!-- The following attributes are reserved for possible future use -->
0198 <![ %HTML.Reserved; [
0199 <!ENTITY % reserved
0200  "datasrc     %URI;          #IMPLIED  -- a single or tabular Data Source --
0201   datafld     CDATA          #IMPLIED  -- the property or column name --
0202   dataformatas (plaintext|html) plaintext -- text or html --"
0203   >
0204 ]]>
0205 
0206 <!ENTITY % reserved "">
0207 
0208 <!ENTITY % attrs "%coreattrs; %i18n; %events;">
0209 
0210 <!ENTITY % align "align (left|center|right|justify)  #IMPLIED"
0211                    -- default is left for ltr paragraphs, right for rtl --
0212   >
0213 
0214 <!--=================== Text Markup ======================================-->
0215 
0216 <!ENTITY % fontstyle
0217  "TT | I | B | U | S | STRIKE | BIG | SMALL">
0218 
0219 <!ENTITY % phrase "EM | STRONG | DFN | CODE |
0220                    SAMP | KBD | VAR | CITE | ABBR | ACRONYM" >
0221 
0222 <!ENTITY % special
0223    "A | IMG | APPLET | OBJECT | FONT | BASEFONT | BR | SCRIPT |
0224     MAP | Q | SUB | SUP | SPAN | BDO | IFRAME">
0225 
0226 <!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON">
0227 
0228 <!-- %inline; covers inline or "text-level" elements -->
0229 <!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
0230 
0231 <!ELEMENT (%fontstyle;|%phrase;) - - (%inline;)*>
0232 <!ATTLIST (%fontstyle;|%phrase;)
0233   %attrs;                              -- %coreattrs, %i18n, %events --
0234   >
0235 
0236 <!ELEMENT (SUB|SUP) - - (%inline;)*    -- subscript, superscript -->
0237 <!ATTLIST (SUB|SUP)
0238   %attrs;                              -- %coreattrs, %i18n, %events --
0239   >
0240 
0241 <!ELEMENT SPAN - - (%inline;)*         -- generic language/style container -->
0242 <!ATTLIST SPAN
0243   %attrs;                              -- %coreattrs, %i18n, %events --
0244   %reserved;                           -- reserved for possible future use --
0245   >
0246 
0247 <!ELEMENT BDO - - (%inline;)*          -- I18N BiDi over-ride -->
0248 <!ATTLIST BDO
0249   %coreattrs;                          -- id, class, style, title --
0250   lang        %LanguageCode; #IMPLIED  -- language code --
0251   dir         (ltr|rtl)      #REQUIRED -- directionality --
0252   >
0253 
0254 <!ELEMENT BASEFONT - O EMPTY           -- base font size -->
0255 <!ATTLIST BASEFONT
0256   id          ID             #IMPLIED  -- document-wide unique id --
0257   size        CDATA          #REQUIRED -- base font size for FONT elements --
0258   color       %Color;        #IMPLIED  -- text color --
0259   face        CDATA          #IMPLIED  -- comma separated list of font names --
0260   >
0261 
0262 <!ELEMENT FONT - - (%inline;)*         -- local change to font -->
0263 <!ATTLIST FONT
0264   %coreattrs;                          -- id, class, style, title --
0265   %i18n;                               -- lang, dir --
0266   size        CDATA          #IMPLIED  -- [+|-]nn e.g. size="+1", size="4" --
0267   color       %Color;        #IMPLIED  -- text color --
0268   face        CDATA          #IMPLIED  -- comma separated list of font names --
0269   >
0270 
0271 <!ELEMENT BR - O EMPTY                 -- forced line break -->
0272 <!ATTLIST BR
0273   %coreattrs;                          -- id, class, style, title --
0274   clear       (left|all|right|none) none -- control of text flow --
0275   >
0276 
0277 <!--================== HTML content models ===============================-->
0278 
0279 <!--
0280     HTML has two basic content models:
0281 
0282         %inline;     character level elements and text strings
0283         %block;      block-like elements e.g. paragraphs and lists
0284 -->
0285 
0286 <!ENTITY % block
0287      "P | %heading; | %list; | %preformatted; | DL | DIV | CENTER |
0288       NOSCRIPT | NOFRAMES | BLOCKQUOTE | FORM | ISINDEX | HR |
0289       TABLE | FIELDSET | ADDRESS">
0290 
0291 <!ENTITY % flow "%block; | %inline;">
0292 
0293 <!--=================== Document Body ====================================-->
0294 
0295 <!ELEMENT BODY O O (%flow;)* +(INS|DEL) -- document body -->
0296 <!ATTLIST BODY
0297   %attrs;                              -- %coreattrs, %i18n, %events --
0298   onload          %Script;   #IMPLIED  -- the document has been loaded --
0299   onunload        %Script;   #IMPLIED  -- the document has been removed --
0300   background      %URI;      #IMPLIED  -- texture tile for document
0301                                           background --
0302   %bodycolors;                         -- bgcolor, text, link, vlink, alink --
0303   >
0304 
0305 <!ELEMENT ADDRESS - - ((%inline;)|P)*  -- information on author -->
0306 <!ATTLIST ADDRESS
0307   %attrs;                              -- %coreattrs, %i18n, %events --
0308   >
0309 
0310 <!ELEMENT DIV - - (%flow;)*            -- generic language/style container -->
0311 <!ATTLIST DIV
0312   %attrs;                              -- %coreattrs, %i18n, %events --
0313   %align;                              -- align, text alignment --
0314   %reserved;                           -- reserved for possible future use --
0315   >
0316 
0317 <!ELEMENT CENTER - - (%flow;)*         -- shorthand for DIV align=center -->
0318 <!ATTLIST CENTER
0319   %attrs;                              -- %coreattrs, %i18n, %events --
0320   >
0321 
0322 <!--================== The Anchor Element ================================-->
0323 
0324 <!ENTITY % Shape "(rect|circle|poly|default)">
0325 <!ENTITY % Coords "CDATA" -- comma separated list of lengths -->
0326 
0327 <!ELEMENT A - - (%inline;)* -(A)       -- anchor -->
0328 <!ATTLIST A
0329   %attrs;                              -- %coreattrs, %i18n, %events --
0330   charset     %Charset;      #IMPLIED  -- char encoding of linked resource --
0331   type        %ContentType;  #IMPLIED  -- advisory content type --
0332   name        CDATA          #IMPLIED  -- named link end --
0333   href        %URI;          #IMPLIED  -- URI for linked resource --
0334   hreflang    %LanguageCode; #IMPLIED  -- language code --
0335   target      %FrameTarget;  #IMPLIED  -- render in this frame --
0336   rel         %LinkTypes;    #IMPLIED  -- forward link types --
0337   rev         %LinkTypes;    #IMPLIED  -- reverse link types --
0338   accesskey   %Character;    #IMPLIED  -- accessibility key character --
0339   shape       %Shape;        rect      -- for use with client-side image maps --
0340   coords      %Coords;       #IMPLIED  -- for use with client-side image maps --
0341   tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
0342   onfocus     %Script;       #IMPLIED  -- the element got the focus --
0343   onblur      %Script;       #IMPLIED  -- the element lost the focus --
0344   >
0345 
0346 <!--================== Client-side image maps ============================-->
0347 
0348 <!-- These can be placed in the same document or grouped in a
0349      separate document although this isn't yet widely supported -->
0350 
0351 <!ELEMENT MAP - - ((%block;)+ | AREA+) -- client-side image map -->
0352 <!ATTLIST MAP
0353   %attrs;                              -- %coreattrs, %i18n, %events --
0354   name        CDATA          #REQUIRED -- for reference by usemap --
0355   >
0356 
0357 <!ELEMENT AREA - O EMPTY               -- client-side image map area -->
0358 <!ATTLIST AREA
0359   %attrs;                              -- %coreattrs, %i18n, %events --
0360   shape       %Shape;        rect      -- controls interpretation of coords --
0361   coords      %Coords;       #IMPLIED  -- comma separated list of lengths --
0362   href        %URI;          #IMPLIED  -- URI for linked resource --
0363   target      %FrameTarget;  #IMPLIED  -- render in this frame --
0364   nohref      (nohref)       #IMPLIED  -- this region has no action --
0365   alt         %Text;         #REQUIRED -- short description --
0366   tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
0367   accesskey   %Character;    #IMPLIED  -- accessibility key character --
0368   onfocus     %Script;       #IMPLIED  -- the element got the focus --
0369   onblur      %Script;       #IMPLIED  -- the element lost the focus --
0370   >
0371 
0372 <!--================== The LINK Element ==================================-->
0373 
0374 <!--
0375   Relationship values can be used in principle:
0376 
0377    a) for document specific toolbars/menus when used
0378       with the LINK element in document head e.g.
0379         start, contents, previous, next, index, end, help
0380    b) to link to a separate style sheet (rel=stylesheet)
0381    c) to make a link to a script (rel=script)
0382    d) by stylesheets to control how collections of
0383       html nodes are rendered into printed documents
0384    e) to make a link to a printable version of this document
0385       e.g. a postscript or pdf version (rel=alternate media=print)
0386 -->
0387 
0388 <!ELEMENT LINK - O EMPTY               -- a media-independent link -->
0389 <!ATTLIST LINK
0390   %attrs;                              -- %coreattrs, %i18n, %events --
0391   charset     %Charset;      #IMPLIED  -- char encoding of linked resource --
0392   href        %URI;          #IMPLIED  -- URI for linked resource --
0393   hreflang    %LanguageCode; #IMPLIED  -- language code --
0394   type        %ContentType;  #IMPLIED  -- advisory content type --
0395   rel         %LinkTypes;    #IMPLIED  -- forward link types --
0396   rev         %LinkTypes;    #IMPLIED  -- reverse link types --
0397   media       %MediaDesc;    #IMPLIED  -- for rendering on these media --
0398   target      %FrameTarget;  #IMPLIED  -- render in this frame --
0399   >
0400 
0401 <!--=================== Images ===========================================-->
0402 
0403 <!-- Length defined in strict DTD for cellpadding/cellspacing -->
0404 <!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length -->
0405 <!ENTITY % MultiLength "CDATA" -- pixel, percentage, or relative -->
0406 
0407 <!ENTITY % MultiLengths "CDATA" -- comma-separated list of MultiLength -->
0408 
0409 <!ENTITY % Pixels "CDATA" -- integer representing length in pixels -->
0410 
0411 <!ENTITY % IAlign "(top|middle|bottom|left|right)" -- center? -->
0412 
0413 <!-- To avoid problems with text-only UAs as well as 
0414    to make image content understandable and navigable 
0415    to users of non-visual UAs, you need to provide
0416    a description with ALT, and avoid server-side image maps -->
0417 <!ELEMENT IMG - O EMPTY                -- Embedded image -->
0418 <!ATTLIST IMG
0419   %attrs;                              -- %coreattrs, %i18n, %events --
0420   src         %URI;          #REQUIRED -- URI of image to embed --
0421   alt         %Text;         #REQUIRED -- short description --
0422   longdesc    %URI;          #IMPLIED  -- link to long description
0423                                           (complements alt) --
0424   height      %Length;       #IMPLIED  -- override height --
0425   width       %Length;       #IMPLIED  -- override width --
0426   usemap      %URI;          #IMPLIED  -- use client-side image map --
0427   ismap       (ismap)        #IMPLIED  -- use server-side image map --
0428   align       %IAlign;       #IMPLIED  -- vertical or horizontal alignment --
0429   border      %Length;       #IMPLIED  -- link border width --
0430   hspace      %Pixels;       #IMPLIED  -- horizontal gutter --
0431   vspace      %Pixels;       #IMPLIED  -- vertical gutter --
0432   >
0433 
0434 <!-- USEMAP points to a MAP element which may be in this document
0435   or an external document, although the latter is not widely supported -->
0436 
0437 <!--==================== OBJECT ======================================-->
0438 <!--
0439   OBJECT is used to embed objects as part of HTML pages 
0440   PARAM elements should precede other content. SGML mixed content
0441   model technicality precludes specifying this formally ...
0442 -->
0443 
0444 <!ELEMENT OBJECT - - (PARAM | %flow;)*
0445  -- generic embedded object -->
0446 <!ATTLIST OBJECT
0447   %attrs;                              -- %coreattrs, %i18n, %events --
0448   declare     (declare)      #IMPLIED  -- declare but don't instantiate flag --
0449   classid     %URI;          #IMPLIED  -- identifies an implementation --
0450   codebase    %URI;          #IMPLIED  -- base URI for classid, data, archive--
0451   data        %URI;          #IMPLIED  -- reference to object's data --
0452   type        %ContentType;  #IMPLIED  -- content type for data --
0453   codetype    %ContentType;  #IMPLIED  -- content type for code --
0454   archive     %URI;          #IMPLIED  -- space separated archive list --
0455   standby     %Text;         #IMPLIED  -- message to show while loading --
0456   height      %Length;       #IMPLIED  -- override height --
0457   width       %Length;       #IMPLIED  -- override width --
0458   usemap      %URI;          #IMPLIED  -- use client-side image map --
0459   name        CDATA          #IMPLIED  -- submit as part of form --
0460   tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
0461   align       %IAlign;       #IMPLIED  -- vertical or horizontal alignment --
0462   border      %Length;       #IMPLIED  -- link border width --
0463   hspace      %Pixels;       #IMPLIED  -- horizontal gutter --
0464   vspace      %Pixels;       #IMPLIED  -- vertical gutter --
0465   %reserved;                           -- reserved for possible future use --
0466   >
0467 
0468 <!ELEMENT PARAM - O EMPTY              -- named property value -->
0469 <!ATTLIST PARAM
0470   id          ID             #IMPLIED  -- document-wide unique id --
0471   name        CDATA          #REQUIRED -- property name --
0472   value       CDATA          #IMPLIED  -- property value --
0473   valuetype   (DATA|REF|OBJECT) DATA   -- How to interpret value --
0474   type        %ContentType;  #IMPLIED  -- content type for value
0475                                           when valuetype=ref --
0476   >
0477 
0478 <!--=================== Java APPLET ==================================-->
0479 <!--
0480   One of code or object attributes must be present.
0481   Place PARAM elements before other content.
0482 -->
0483 <!ELEMENT APPLET - - (PARAM | %flow;)* -- Java applet -->
0484 <!ATTLIST APPLET
0485   %coreattrs;                          -- id, class, style, title --
0486   codebase    %URI;          #IMPLIED  -- optional base URI for applet --
0487   archive     CDATA          #IMPLIED  -- comma separated archive list --
0488   code        CDATA          #IMPLIED  -- applet class file --
0489   object      CDATA          #IMPLIED  -- serialized applet file --
0490   alt         %Text;         #IMPLIED  -- short description --
0491   name        CDATA          #IMPLIED  -- allows applets to find each other --
0492   width       %Length;       #REQUIRED -- initial width --
0493   height      %Length;       #REQUIRED -- initial height --
0494   align       %IAlign;       #IMPLIED  -- vertical or horizontal alignment --
0495   hspace      %Pixels;       #IMPLIED  -- horizontal gutter --
0496   vspace      %Pixels;       #IMPLIED  -- vertical gutter --
0497   >
0498 
0499 <!--=================== Horizontal Rule ==================================-->
0500 
0501 <!ELEMENT HR - O EMPTY -- horizontal rule -->
0502 <!ATTLIST HR
0503   %coreattrs;                          -- id, class, style, title --
0504   %events;
0505   align       (left|center|right) #IMPLIED
0506   noshade     (noshade)      #IMPLIED
0507   size        %Pixels;       #IMPLIED
0508   width       %Length;       #IMPLIED
0509   >
0510 
0511 <!--=================== Paragraphs =======================================-->
0512 
0513 <!ELEMENT P - O (%inline;)*            -- paragraph -->
0514 <!ATTLIST P
0515   %attrs;                              -- %coreattrs, %i18n, %events --
0516   %align;                              -- align, text alignment --
0517   >
0518 
0519 <!--=================== Headings =========================================-->
0520 
0521 <!--
0522   There are six levels of headings from H1 (the most important)
0523   to H6 (the least important).
0524 -->
0525 
0526 <!ELEMENT (%heading;)  - - (%inline;)* -- heading -->
0527 <!ATTLIST (%heading;)
0528   %attrs;                              -- %coreattrs, %i18n, %events --
0529   %align;                              -- align, text alignment --
0530   >
0531 
0532 <!--=================== Preformatted Text ================================-->
0533 
0534 <!-- excludes markup for images and changes in font size -->
0535 <!ENTITY % pre.exclusion "IMG|OBJECT|APPLET|BIG|SMALL|SUB|SUP|FONT|BASEFONT">
0536 
0537 <!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;) -- preformatted text -->
0538 <!ATTLIST PRE
0539   %attrs;                              -- %coreattrs, %i18n, %events --
0540   width       NUMBER         #IMPLIED
0541   >
0542 
0543 <!--===================== Inline Quotes ==================================-->
0544 
0545 <!ELEMENT Q - - (%inline;)*            -- short inline quotation -->
0546 <!ATTLIST Q
0547   %attrs;                              -- %coreattrs, %i18n, %events --
0548   cite        %URI;          #IMPLIED  -- URI for source document or msg --
0549   >
0550 
0551 <!--=================== Block-like Quotes ================================-->
0552 
0553 <!ELEMENT BLOCKQUOTE - - (%flow;)*     -- long quotation -->
0554 <!ATTLIST BLOCKQUOTE
0555   %attrs;                              -- %coreattrs, %i18n, %events --
0556   cite        %URI;          #IMPLIED  -- URI for source document or msg --
0557   >
0558 
0559 <!--=================== Inserted/Deleted Text ============================-->
0560 
0561 
0562 <!-- INS/DEL are handled by inclusion on BODY -->
0563 <!ELEMENT (INS|DEL) - - (%flow;)*      -- inserted text, deleted text -->
0564 <!ATTLIST (INS|DEL)
0565   %attrs;                              -- %coreattrs, %i18n, %events --
0566   cite        %URI;          #IMPLIED  -- info on reason for change --
0567   datetime    %Datetime;     #IMPLIED  -- date and time of change --
0568   >
0569 
0570 <!--=================== Lists ============================================-->
0571 
0572 <!-- definition lists - DT for term, DD for its definition -->
0573 
0574 <!ELEMENT DL - - (DT|DD)+              -- definition list -->
0575 <!ATTLIST DL
0576   %attrs;                              -- %coreattrs, %i18n, %events --
0577   compact     (compact)      #IMPLIED  -- reduced interitem spacing --
0578   >
0579 
0580 <!ELEMENT DT - O (%inline;)*           -- definition term -->
0581 <!ELEMENT DD - O (%flow;)*             -- definition description -->
0582 <!ATTLIST (DT|DD)
0583   %attrs;                              -- %coreattrs, %i18n, %events --
0584   >
0585 
0586 <!-- Ordered lists (OL) Numbering style
0587 
0588     1   arablic numbers     1, 2, 3, ...
0589     a   lower alpha         a, b, c, ...
0590     A   upper alpha         A, B, C, ...
0591     i   lower roman         i, ii, iii, ...
0592     I   upper roman         I, II, III, ...
0593 
0594     The style is applied to the sequence number which by default
0595     is reset to 1 for the first list item in an ordered list.
0596 
0597     This can't be expressed directly in SGML due to case folding.
0598 -->
0599 
0600 <!ENTITY % OLStyle "CDATA"      -- constrained to: "(1|a|A|i|I)" -->
0601 
0602 <!ELEMENT OL - - (LI)+                 -- ordered list -->
0603 <!ATTLIST OL
0604   %attrs;                              -- %coreattrs, %i18n, %events --
0605   type        %OLStyle;      #IMPLIED  -- numbering style --
0606   compact     (compact)      #IMPLIED  -- reduced interitem spacing --
0607   start       NUMBER         #IMPLIED  -- starting sequence number --
0608   >
0609 
0610 <!-- Unordered Lists (UL) bullet styles -->
0611 <!ENTITY % ULStyle "(disc|square|circle)">
0612 
0613 <!ELEMENT UL - - (LI)+                 -- unordered list -->
0614 <!ATTLIST UL
0615   %attrs;                              -- %coreattrs, %i18n, %events --
0616   type        %ULStyle;      #IMPLIED  -- bullet style --
0617   compact     (compact)      #IMPLIED  -- reduced interitem spacing --
0618   >
0619 
0620 <!ELEMENT (DIR|MENU) - - (LI)+ -(%block;) -- directory list, menu list -->
0621 <!ATTLIST DIR
0622   %attrs;                              -- %coreattrs, %i18n, %events --
0623   compact     (compact)      #IMPLIED
0624   >
0625 <!ATTLIST MENU
0626   %attrs;                              -- %coreattrs, %i18n, %events --
0627   compact     (compact)      #IMPLIED
0628   >
0629 
0630 <!ENTITY % LIStyle "CDATA" -- constrained to: "(%ULStyle;|%OLStyle;)" -->
0631 
0632 <!ELEMENT LI - O (%flow;)*             -- list item -->
0633 <!ATTLIST LI
0634   %attrs;                              -- %coreattrs, %i18n, %events --
0635   type        %LIStyle;      #IMPLIED  -- list item style --
0636   value       NUMBER         #IMPLIED  -- reset sequence number --
0637   >
0638 
0639 <!--================ Forms ===============================================-->
0640 <!ELEMENT FORM - - (%flow;)* -(FORM)   -- interactive form -->
0641 <!ATTLIST FORM
0642   %attrs;                              -- %coreattrs, %i18n, %events --
0643   action      %URI;          #REQUIRED -- server-side form handler --
0644   method      (GET|POST)     GET       -- HTTP method used to submit the form--
0645   enctype     %ContentType;  "application/x-www-form-urlencoded"
0646   onsubmit    %Script;       #IMPLIED  -- the form was submitted --
0647   onreset     %Script;       #IMPLIED  -- the form was reset --
0648   target      %FrameTarget;  #IMPLIED  -- render in this frame --
0649   accept-charset %Charsets;  #IMPLIED  -- list of supported charsets --
0650   >
0651 
0652 <!-- Each label must not contain more than ONE field -->
0653 <!ELEMENT LABEL - - (%inline;)* -(LABEL) -- form field label text -->
0654 <!ATTLIST LABEL
0655   %attrs;                              -- %coreattrs, %i18n, %events --
0656   for         IDREF          #IMPLIED  -- matches field ID value --
0657   accesskey   %Character;    #IMPLIED  -- accessibility key character --
0658   onfocus     %Script;       #IMPLIED  -- the element got the focus --
0659   onblur      %Script;       #IMPLIED  -- the element lost the focus --
0660   >
0661 
0662 <!ENTITY % InputType
0663   "(TEXT | PASSWORD | CHECKBOX |
0664     RADIO | SUBMIT | RESET |
0665     FILE | HIDDEN | IMAGE | BUTTON)"
0666    >
0667 
0668 <!-- attribute name required for all but submit & reset -->
0669 <!ELEMENT INPUT - O EMPTY              -- form control -->
0670 <!ATTLIST INPUT
0671   %attrs;                              -- %coreattrs, %i18n, %events --
0672   type        %InputType;    TEXT      -- what kind of widget is needed --
0673   name        CDATA          #IMPLIED  -- submit as part of form --
0674   value       CDATA          #IMPLIED  -- required for radio and checkboxes --
0675   checked     (checked)      #IMPLIED  -- for radio buttons and check boxes --
0676   disabled    (disabled)     #IMPLIED  -- unavailable in this context --
0677   readonly    (readonly)     #IMPLIED  -- for text and passwd --
0678   size        CDATA          #IMPLIED  -- specific to each type of field --
0679   maxlength   NUMBER         #IMPLIED  -- max chars for text fields --
0680   src         %URI;          #IMPLIED  -- for fields with images --
0681   alt         CDATA          #IMPLIED  -- short description --
0682   usemap      %URI;          #IMPLIED  -- use client-side image map --
0683   tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
0684   accesskey   %Character;    #IMPLIED  -- accessibility key character --
0685   onfocus     %Script;       #IMPLIED  -- the element got the focus --
0686   onblur      %Script;       #IMPLIED  -- the element lost the focus --
0687   onselect    %Script;       #IMPLIED  -- some text was selected --
0688   onchange    %Script;       #IMPLIED  -- the element value was changed --
0689   accept      %ContentTypes; #IMPLIED  -- list of MIME types for file upload --
0690   align       %IAlign;       #IMPLIED  -- vertical or horizontal alignment --
0691   %reserved;                           -- reserved for possible future use --
0692   >
0693 
0694 <!ELEMENT SELECT - - (OPTGROUP|OPTION)+ -- option selector -->
0695 <!ATTLIST SELECT
0696   %attrs;                              -- %coreattrs, %i18n, %events --
0697   name        CDATA          #IMPLIED  -- field name --
0698   size        NUMBER         #IMPLIED  -- rows visible --
0699   multiple    (multiple)     #IMPLIED  -- default is single selection --
0700   disabled    (disabled)     #IMPLIED  -- unavailable in this context --
0701   tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
0702   onfocus     %Script;       #IMPLIED  -- the element got the focus --
0703   onblur      %Script;       #IMPLIED  -- the element lost the focus --
0704   onchange    %Script;       #IMPLIED  -- the element value was changed --
0705   %reserved;                           -- reserved for possible future use --
0706   >
0707 
0708 <!ELEMENT OPTGROUP - - (OPTION)+ -- option group -->
0709 <!ATTLIST OPTGROUP
0710   %attrs;                              -- %coreattrs, %i18n, %events --
0711   disabled    (disabled)     #IMPLIED  -- unavailable in this context --
0712   label       %Text;         #REQUIRED -- for use in hierarchical menus --
0713   >
0714 
0715 <!ELEMENT OPTION - O (#PCDATA)         -- selectable choice -->
0716 <!ATTLIST OPTION
0717   %attrs;                              -- %coreattrs, %i18n, %events --
0718   selected    (selected)     #IMPLIED
0719   disabled    (disabled)     #IMPLIED  -- unavailable in this context --
0720   label       %Text;         #IMPLIED  -- for use in hierarchical menus --
0721   value       CDATA          #IMPLIED  -- defaults to element content --
0722   >
0723 
0724 <!ELEMENT TEXTAREA - - (#PCDATA)       -- multi-line text field -->
0725 <!ATTLIST TEXTAREA
0726   %attrs;                              -- %coreattrs, %i18n, %events --
0727   name        CDATA          #IMPLIED
0728   rows        NUMBER         #REQUIRED
0729   cols        NUMBER         #REQUIRED
0730   disabled    (disabled)     #IMPLIED  -- unavailable in this context --
0731   readonly    (readonly)     #IMPLIED
0732   tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
0733   accesskey   %Character;    #IMPLIED  -- accessibility key character --
0734   onfocus     %Script;       #IMPLIED  -- the element got the focus --
0735   onblur      %Script;       #IMPLIED  -- the element lost the focus --
0736   onselect    %Script;       #IMPLIED  -- some text was selected --
0737   onchange    %Script;       #IMPLIED  -- the element value was changed --
0738   %reserved;                           -- reserved for possible future use --
0739   >
0740 
0741 <!--
0742   #PCDATA is to solve the mixed content problem,
0743   per specification only whitespace is allowed there!
0744  -->
0745 <!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- form control group -->
0746 <!ATTLIST FIELDSET
0747   %attrs;                              -- %coreattrs, %i18n, %events --
0748   >
0749 
0750 <!ELEMENT LEGEND - - (%inline;)*       -- fieldset legend -->
0751 <!ENTITY % LAlign "(top|bottom|left|right)">
0752 
0753 <!ATTLIST LEGEND
0754   %attrs;                              -- %coreattrs, %i18n, %events --
0755   accesskey   %Character;    #IMPLIED  -- accessibility key character --
0756   align       %LAlign;       #IMPLIED  -- relative to fieldset --
0757   >
0758 
0759 <!ELEMENT BUTTON - -
0760      (%flow;)* -(A|%formctrl;|FORM|ISINDEX|FIELDSET|IFRAME)
0761      -- push button -->
0762 <!ATTLIST BUTTON
0763   %attrs;                              -- %coreattrs, %i18n, %events --
0764   name        CDATA          #IMPLIED
0765   value       CDATA          #IMPLIED  -- sent to server when submitted --
0766   type        (button|submit|reset) submit -- for use as form button --
0767   disabled    (disabled)     #IMPLIED  -- unavailable in this context --
0768   tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
0769   accesskey   %Character;    #IMPLIED  -- accessibility key character --
0770   onfocus     %Script;       #IMPLIED  -- the element got the focus --
0771   onblur      %Script;       #IMPLIED  -- the element lost the focus --
0772   %reserved;                           -- reserved for possible future use --
0773   >
0774 
0775 <!--======================= Tables =======================================-->
0776 
0777 <!-- IETF HTML table standard, see [RFC1942] -->
0778 
0779 <!--
0780  The BORDER attribute sets the thickness of the frame around the
0781  table. The default units are screen pixels.
0782 
0783  The FRAME attribute specifies which parts of the frame around
0784  the table should be rendered. The values are not the same as
0785  CALS to avoid a name clash with the VALIGN attribute.
0786 
0787  The value "border" is included for backwards compatibility with
0788  <TABLE BORDER> which yields frame=border and border=implied
0789  For <TABLE BORDER=1> you get border=1 and frame=implied. In this
0790  case, it is appropriate to treat this as frame=border for backwards
0791  compatibility with deployed browsers.
0792 -->
0793 <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
0794 
0795 <!--
0796  The RULES attribute defines which rules to draw between cells:
0797 
0798  If RULES is absent then assume:
0799      "none" if BORDER is absent or BORDER=0 otherwise "all"
0800 -->
0801 
0802 <!ENTITY % TRules "(none | groups | rows | cols | all)">
0803   
0804 <!-- horizontal placement of table relative to document -->
0805 <!ENTITY % TAlign "(left|center|right)">
0806 
0807 <!-- horizontal alignment attributes for cell contents -->
0808 <!ENTITY % cellhalign
0809   "align      (left|center|right|justify|char) #IMPLIED
0810    char       %Character;    #IMPLIED  -- alignment char, e.g. char=':' --
0811    charoff    %Length;       #IMPLIED  -- offset for alignment char --"
0812   >
0813 
0814 <!-- vertical alignment attributes for cell contents -->
0815 <!ENTITY % cellvalign
0816   "valign     (top|middle|bottom|baseline) #IMPLIED"
0817   >
0818 
0819 <!ELEMENT TABLE - -
0820      (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
0821 <!ELEMENT CAPTION  - - (%inline;)*     -- table caption -->
0822 <!ELEMENT THEAD    - O (TR)+           -- table header -->
0823 <!ELEMENT TFOOT    - O (TR)+           -- table footer -->
0824 <!ELEMENT TBODY    O O (TR)+           -- table body -->
0825 <!ELEMENT COLGROUP - O (col)*          -- table column group -->
0826 <!ELEMENT COL      - O EMPTY           -- table column -->
0827 <!ELEMENT TR       - O (TH|TD)+        -- table row -->
0828 <!ELEMENT (TH|TD)  - O (%flow;)*       -- table header cell, table data cell-->
0829 
0830 <!ATTLIST TABLE                        -- table element --
0831   %attrs;                              -- %coreattrs, %i18n, %events --
0832   summary     %Text;         #IMPLIED  -- purpose/structure for speech output--
0833   width       %Length;       #IMPLIED  -- table width --
0834   border      %Pixels;       #IMPLIED  -- controls frame width around table --
0835   frame       %TFrame;       #IMPLIED  -- which parts of frame to render --
0836   rules       %TRules;       #IMPLIED  -- rulings between rows and cols --
0837   cellspacing %Length;       #IMPLIED  -- spacing between cells --
0838   cellpadding %Length;       #IMPLIED  -- spacing within cells --
0839   align       %TAlign;       #IMPLIED  -- table position relative to window --
0840   bgcolor     %Color;        #IMPLIED  -- background color for cells --
0841   %reserved;                           -- reserved for possible future use --
0842   datapagesize CDATA         #IMPLIED  -- reserved for possible future use --
0843   >
0844 
0845 <!ENTITY % CAlign "(top|bottom|left|right)">
0846 
0847 <!ATTLIST CAPTION
0848   %attrs;                              -- %coreattrs, %i18n, %events --
0849   align       %CAlign;       #IMPLIED  -- relative to table --
0850   >
0851 
0852 <!--
0853 COLGROUP groups a set of COL elements. It allows you to group
0854 several semantically related columns together.
0855 -->
0856 <!ATTLIST COLGROUP
0857   %attrs;                              -- %coreattrs, %i18n, %events --
0858   span        NUMBER         1         -- default number of columns in group --
0859   width       %MultiLength;  #IMPLIED  -- default width for enclosed COLs --
0860   %cellhalign;                         -- horizontal alignment in cells --
0861   %cellvalign;                         -- vertical alignment in cells --
0862   >
0863 
0864 <!--
0865  COL elements define the alignment properties for cells in
0866  one or more columns.
0867 
0868  The WIDTH attribute specifies the width of the columns, e.g.
0869 
0870      width=64        width in screen pixels
0871      width=0.5*      relative width of 0.5
0872 
0873  The SPAN attribute causes the attributes of one
0874  COL element to apply to more than one column.
0875 -->
0876 <!ATTLIST COL                          -- column groups and properties --
0877   %attrs;                              -- %coreattrs, %i18n, %events --
0878   span        NUMBER         1         -- COL attributes affect N columns --
0879   width       %MultiLength;  #IMPLIED  -- column width specification --
0880   %cellhalign;                         -- horizontal alignment in cells --
0881   %cellvalign;                         -- vertical alignment in cells --
0882   >
0883 
0884 <!--
0885     Use THEAD to duplicate headers when breaking table
0886     across page boundaries, or for static headers when
0887     TBODY sections are rendered in scrolling panel.
0888 
0889     Use TFOOT to duplicate footers when breaking table
0890     across page boundaries, or for static footers when
0891     TBODY sections are rendered in scrolling panel.
0892 
0893     Use multiple TBODY sections when rules are needed
0894     between groups of table rows.
0895 -->
0896 <!ATTLIST (THEAD|TBODY|TFOOT)          -- table section --
0897   %attrs;                              -- %coreattrs, %i18n, %events --
0898   %cellhalign;                         -- horizontal alignment in cells --
0899   %cellvalign;                         -- vertical alignment in cells --
0900   >
0901 
0902 <!ATTLIST TR                           -- table row --
0903   %attrs;                              -- %coreattrs, %i18n, %events --
0904   %cellhalign;                         -- horizontal alignment in cells --
0905   %cellvalign;                         -- vertical alignment in cells --
0906   bgcolor     %Color;        #IMPLIED  -- background color for row --
0907   >
0908 
0909 
0910 <!-- Scope is simpler than axes attribute for common tables -->
0911 <!ENTITY % Scope "(row|col|rowgroup|colgroup)">
0912 
0913 <!-- TH is for headers, TD for data, but for cells acting as both use TD -->
0914 <!ATTLIST (TH|TD)                      -- header or data cell --
0915   %attrs;                              -- %coreattrs, %i18n, %events --
0916   abbr        %Text;         #IMPLIED  -- abbreviation for header cell --
0917   axis        CDATA          #IMPLIED  -- names groups of related headers--
0918   headers     IDREFS         #IMPLIED  -- list of id's for header cells --
0919   scope       %Scope;        #IMPLIED  -- scope covered by header cells --
0920   rowspan     NUMBER         1         -- number of rows spanned by cell --
0921   colspan     NUMBER         1         -- number of cols spanned by cell --
0922   %cellhalign;                         -- horizontal alignment in cells --
0923   %cellvalign;                         -- vertical alignment in cells --
0924   nowrap      (nowrap)       #IMPLIED  -- suppress word wrap --
0925   bgcolor     %Color;        #IMPLIED  -- cell background color --
0926   width       %Pixels;       #IMPLIED  -- width for cell --
0927   height      %Pixels;       #IMPLIED  -- height for cell --
0928   >
0929 
0930 <!--================== Document Frames ===================================-->
0931 
0932 <!--
0933   The content model for HTML documents depends on whether the HEAD is
0934   followed by a FRAMESET or BODY element. The widespread omission of
0935   the BODY start tag makes it impractical to define the content model
0936   without the use of a marked section.
0937 -->
0938 
0939 <!ELEMENT FRAMESET - - ((FRAMESET|FRAME)+ & NOFRAMES?) -- window subdivision-->
0940 <!ATTLIST FRAMESET
0941   %coreattrs;                          -- id, class, style, title --
0942   rows        %MultiLengths; #IMPLIED  -- list of lengths,
0943                                           default: 100% (1 row) --
0944   cols        %MultiLengths; #IMPLIED  -- list of lengths,
0945                                           default: 100% (1 col) --
0946   onload      %Script;       #IMPLIED  -- all the frames have been loaded  -- 
0947   onunload    %Script;       #IMPLIED  -- all the frames have been removed -- 
0948   >
0949 
0950 <!-- reserved frame names start with "_" otherwise starts with letter -->
0951 <!ELEMENT FRAME - O EMPTY              -- subwindow -->
0952 <!ATTLIST FRAME
0953   %coreattrs;                          -- id, class, style, title --
0954   longdesc    %URI;          #IMPLIED  -- link to long description
0955                                           (complements title) --
0956   name        CDATA          #IMPLIED  -- name of frame for targetting --
0957   src         %URI;          #IMPLIED  -- source of frame content --
0958   frameborder (1|0)          1         -- request frame borders? --
0959   marginwidth %Pixels;       #IMPLIED  -- margin widths in pixels --
0960   marginheight %Pixels;      #IMPLIED  -- margin height in pixels --
0961   noresize    (noresize)     #IMPLIED  -- allow users to resize frames? --
0962   scrolling   (yes|no|auto)  auto      -- scrollbar or none --
0963   >
0964 
0965 <!ELEMENT IFRAME - - (%flow;)*         -- inline subwindow -->
0966 <!ATTLIST IFRAME
0967   %coreattrs;                          -- id, class, style, title --
0968   longdesc    %URI;          #IMPLIED  -- link to long description
0969                                           (complements title) --
0970   name        CDATA          #IMPLIED  -- name of frame for targetting --
0971   src         %URI;          #IMPLIED  -- source of frame content --
0972   frameborder (1|0)          1         -- request frame borders? --
0973   marginwidth %Pixels;       #IMPLIED  -- margin widths in pixels --
0974   marginheight %Pixels;      #IMPLIED  -- margin height in pixels --
0975   scrolling   (yes|no|auto)  auto      -- scrollbar or none --
0976   align       %IAlign;       #IMPLIED  -- vertical or horizontal alignment --
0977   height      %Length;       #IMPLIED  -- frame height --
0978   width       %Length;       #IMPLIED  -- frame width --
0979   >
0980 
0981 <![ %HTML.Frameset; [
0982 <!ENTITY % noframes.content "(BODY) -(NOFRAMES)">
0983 ]]>
0984 
0985 <!ENTITY % noframes.content "(%flow;)*">
0986 
0987 <!ELEMENT NOFRAMES - - %noframes.content;
0988  -- alternate content container for non frame-based rendering -->
0989 <!ATTLIST NOFRAMES
0990   %attrs;                              -- %coreattrs, %i18n, %events --
0991   >
0992 
0993 <!--================ Document Head =======================================-->
0994 <!-- %head.misc; defined earlier on as "SCRIPT|STYLE|META|LINK|OBJECT" -->
0995 <!ENTITY % head.content "TITLE & ISINDEX? & BASE?">
0996 
0997 <!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- document head -->
0998 <!ATTLIST HEAD
0999   %i18n;                               -- lang, dir --
1000   profile     %URI;          #IMPLIED  -- named dictionary of meta info --
1001   >
1002 
1003 <!-- The TITLE element is not considered part of the flow of text.
1004        It should be displayed, for example as the page header or
1005        window title. Exactly one title is required per document.
1006     -->
1007 <!-- Lars: small correction here... -->
1008 <!--ELEMENT TITLE - - (#PCDATA) -(%head.misc;) -- document title -- -->
1009 <!ELEMENT TITLE - - (#PCDATA)  -- document title -->
1010 <!ATTLIST TITLE %i18n>
1011 
1012 <!ELEMENT ISINDEX - O EMPTY            -- single line prompt -->
1013 <!ATTLIST ISINDEX
1014   %coreattrs;                          -- id, class, style, title --
1015   %i18n;                               -- lang, dir --
1016   prompt      %Text;         #IMPLIED  -- prompt message -->
1017 
1018 <!ELEMENT BASE - O EMPTY               -- document base URI -->
1019 <!ATTLIST BASE
1020   href        %URI;          #IMPLIED  -- URI that acts as base URI --
1021   target      %FrameTarget;  #IMPLIED  -- render in this frame --
1022   >
1023 
1024 <!ELEMENT META - O EMPTY               -- generic metainformation -->
1025 <!ATTLIST META
1026   %i18n;                               -- lang, dir, for use with content --
1027   http-equiv  NAME           #IMPLIED  -- HTTP response header name  --
1028   name        NAME           #IMPLIED  -- metainformation name --
1029   content     CDATA          #REQUIRED -- associated information --
1030   scheme      CDATA          #IMPLIED  -- select form of content --
1031   >
1032 
1033 <!ELEMENT STYLE - - %StyleSheet        -- style info -->
1034 <!ATTLIST STYLE
1035   %i18n;                               -- lang, dir, for use with title --
1036   type        %ContentType;  #REQUIRED -- content type of style language --
1037   media       %MediaDesc;    #IMPLIED  -- designed for use with these media --
1038   title       %Text;         #IMPLIED  -- advisory title --
1039   >
1040 
1041 <!ELEMENT SCRIPT - - %Script;          -- script statements -->
1042 <!ATTLIST SCRIPT
1043   charset     %Charset;      #IMPLIED  -- char encoding of linked resource --
1044   type        %ContentType;  #REQUIRED -- content type of script language --
1045   language    CDATA          #IMPLIED  -- predefined script language name --
1046   src         %URI;          #IMPLIED  -- URI for an external script --
1047   defer       (defer)        #IMPLIED  -- UA may defer execution of script --
1048   event       CDATA          #IMPLIED  -- reserved for possible future use --
1049   for         %URI;          #IMPLIED  -- reserved for possible future use --
1050   >
1051 
1052 <!ELEMENT NOSCRIPT - - (%flow;)*
1053   -- alternate content container for non script-based rendering -->
1054 <!ATTLIST NOSCRIPT
1055   %attrs;                              -- %coreattrs, %i18n, %events --
1056   >
1057 
1058 <!--================ Document Structure ==================================-->
1059 <!ENTITY % version "version CDATA %HTML.Version;">
1060 
1061 <!--[ %HTML.Frameset; [
1062 <!ENTITY % html.content "HEAD, FRAMESET">
1063 ]]-->
1064 
1065 <!-- Lars: slight correction here: include FRAMESET -->
1066 <!ENTITY % html.content "HEAD, (BODY|(FRAMESET&NOFRAMES?))">
1067 
1068 <!ELEMENT HTML O O (%html.content;)    -- document root element -->
1069 <!ATTLIST HTML
1070   %i18n;                               -- lang, dir --
1071   %version;
1072   >