"Fossies" - the Fresh Open Source Software Archive

Member "OpenSP-1.5.2/pubtext/HTML4-s.dtd" (14 May 2005, 34965 Bytes) of package /linux/misc/old/OpenSP-1.5.2.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) XML source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 <!--
    2     This is HTML 4.0 Strict DTD, which excludes the presentation 
    3     attributes and elements that W3C expects to phase out as 
    4     support for style sheets matures. Authors should use the Strict
    5     DTD when possible, but may use the Transitional DTD when support
    6     for presentation attribute and elements is required.
    7     
    8     HTML 4.0 includes mechanisms for style sheets, scripting,
    9     embedding objects, improved support for right to left and mixed
   10     direction text, and enhancements to forms for improved
   11     accessibility for people with disabilities.
   12 
   13           Draft: $Date: 1999/11/04 08:36:15 $
   14 
   15           Authors:
   16               Dave Raggett <dsr@w3.org>
   17               Arnaud Le Hors <lehors@w3.org>
   18               Ian Jacobs <ij@w3.org>
   19 
   20     Further information about HTML 4.0 is available at:
   21 
   22         http://www.w3.org/TR/REC-html40
   23 -->
   24 <!--
   25     Typical usage:
   26 
   27     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
   28             "http://www.w3.org/TR/REC-html40/strict.dtd">
   29     <html>
   30     <head>
   31     ...
   32     </head>
   33     <body>
   34     ...
   35     </body>
   36     </html>
   37 
   38     The URI used as a system identifier with the public identifier allows
   39     the user agent to download the DTD and entity sets as needed.
   40 
   41     The FPI for the Transitional HTML 4.0 DTD is:
   42 
   43         "-//W3C//DTD HTML 4.0 Transitional//EN
   44 
   45     and its URI is:
   46 
   47         http://www.w3.org/TR/REC-html40/loose.dtd
   48 
   49     If you are writing a document that includes frames, use 
   50     the following FPI:
   51 
   52         "-//W3C//DTD HTML 4.0 Frameset//EN"
   53 
   54     with the URI:
   55 
   56         http://www.w3.org/TR/REC-html40/frameset.dtd
   57 
   58     The following URIs are supported in relation to HTML 4.0
   59 
   60     "http://www.w3.org/TR/REC-html40/strict.dtd" (Strict DTD)
   61     "http://www.w3.org/TR/REC-html40/loose.dtd" (Loose DTD)
   62     "http://www.w3.org/TR/REC-html40/frameset.dtd" (Frameset DTD)
   63     "http://www.w3.org/TR/REC-html40/HTMLlat1.ent" (Latin-1 entities)
   64     "http://www.w3.org/TR/REC-html40/HTMLsymbol.ent" (Symbol entities)
   65     "http://www.w3.org/TR/REC-html40/HTMLspecial.ent" (Special entities)
   66 
   67     These URIs point to the latest version of each file. To reference
   68     this specific revision use the following URIs:
   69 
   70     "http://www.w3.org/TR/REC-html40-971218/strict.dtd"
   71     "http://www.w3.org/TR/REC-html40-971218/loose.dtd"
   72     "http://www.w3.org/TR/REC-html40-971218/frameset.dtd"
   73     "http://www.w3.org/TR/REC-html40-971218/HTMLlat1.ent"
   74     "http://www.w3.org/TR/REC-html40-971218/HTMLsymbol.ent"
   75     "http://www.w3.org/TR/REC-html40-971218/HTMLspecial.ent"
   76 
   77 -->
   78 
   79 <!--================== Imported Names ====================================-->
   80 
   81 <!ENTITY % ContentType "CDATA"
   82     -- media type, as per [RFC2045]
   83     -->
   84 
   85 <!ENTITY % ContentTypes "CDATA"
   86     -- comma-separated list of media types, as per [RFC2045]
   87     -->
   88 
   89 <!ENTITY % Charset "CDATA"
   90     -- a character encoding, as per [RFC2045]
   91     -->
   92 
   93 <!ENTITY % Charsets "CDATA"
   94     -- a space separated list of character encodings, as per [RFC2045]
   95     -->
   96 
   97 <!ENTITY % LanguageCode "NAME"
   98     -- a language code, as per [RFC1766]
   99     -->
  100 
  101 <!ENTITY % Character "CDATA"
  102     -- a single character from [ISO10646] 
  103     -->
  104 
  105 <!ENTITY % LinkTypes "CDATA"
  106     -- space-separated list of link types
  107     -->
  108 
  109 <!ENTITY % MediaDesc "CDATA"
  110     -- single or comma-separated list of media descriptors
  111     -->
  112 
  113 <!ENTITY % URI "CDATA"
  114     -- a Uniform Resource Identifier,
  115        see [URI]
  116     -->
  117 
  118 <!ENTITY % Datetime "CDATA" -- date and time information. ISO date format -->
  119 
  120 
  121 <!ENTITY % Script "CDATA" -- script expression -->
  122 
  123 <!ENTITY % StyleSheet "CDATA" -- style sheet data -->
  124 
  125 
  126 
  127 <!ENTITY % Text "CDATA">
  128 
  129 
  130 <!-- Parameter Entities -->
  131 
  132 <!ENTITY % head.misc "SCRIPT|STYLE|META|LINK|OBJECT" -- repeatable head elements -->
  133 
  134 <!ENTITY % heading "H1|H2|H3|H4|H5|H6">
  135 
  136 <!ENTITY % list "UL | OL">
  137 
  138 <!ENTITY % preformatted "PRE">
  139 
  140 
  141 <!--================ Character mnemonic entities =========================-->
  142 
  143 <!ENTITY % HTMLlat1 PUBLIC
  144    "-//W3C//ENTITIES Latin1//EN//HTML"
  145    "http://www.w3.org/TR/REC-html40-971218/HTMLlat1.ent">
  146 %HTMLlat1;
  147 
  148 <!ENTITY % HTMLsymbol PUBLIC
  149    "-//W3C//ENTITIES Symbols//EN//HTML"
  150    "http://www.w3.org/TR/REC-html40-971218/HTMLsymbol.ent">
  151 %HTMLsymbol;
  152 
  153 <!ENTITY % HTMLspecial PUBLIC
  154    "-//W3C//ENTITIES Special//EN//HTML"
  155    "http://www.w3.org/TR/REC-html40-971218/HTMLspecial.ent">
  156 %HTMLspecial;
  157 <!--=================== Generic Attributes ===============================-->
  158 
  159 <!ENTITY % coreattrs
  160  "id          ID             #IMPLIED  -- document-wide unique id --
  161   class       CDATA          #IMPLIED  -- space separated list of classes --
  162   style       %StyleSheet;   #IMPLIED  -- associated style info --
  163   title       %Text;         #IMPLIED  -- advisory title/amplification --"
  164   >
  165 
  166 <!ENTITY % i18n
  167  "lang        %LanguageCode; #IMPLIED  -- language code --
  168   dir         (ltr|rtl)      #IMPLIED  -- direction for weak/neutral text --"
  169   >
  170 
  171 <!ENTITY % events
  172  "onclick     %Script;       #IMPLIED  -- a pointer button was clicked --
  173   ondblclick  %Script;       #IMPLIED  -- a pointer button was double clicked--
  174   onmousedown %Script;       #IMPLIED  -- a pointer button was pressed down --
  175   onmouseup   %Script;       #IMPLIED  -- a pointer button was released --
  176   onmouseover %Script;       #IMPLIED  -- a pointer was moved onto --
  177   onmousemove %Script;       #IMPLIED  -- a pointer was moved within --
  178   onmouseout  %Script;       #IMPLIED  -- a pointer was moved away --
  179   onkeypress  %Script;       #IMPLIED  -- a key was pressed and released --
  180   onkeydown   %Script;       #IMPLIED  -- a key was pressed down --
  181   onkeyup     %Script;       #IMPLIED  -- a key was released --"
  182   >
  183 
  184 <!-- Reserved Feature Switch -->
  185 <!ENTITY % HTML.Reserved "IGNORE">
  186 
  187 <!-- The following attributes are reserved for possible future use -->
  188 <![ %HTML.Reserved; [
  189 <!ENTITY % reserved
  190  "datasrc     %URI;          #IMPLIED  -- a single or tabular Data Source --
  191   datafld     CDATA          #IMPLIED  -- the property or column name --
  192   dataformatas (plaintext|html) plaintext -- text or html --"
  193   >
  194 ]]>
  195 
  196 <!ENTITY % reserved "">
  197 
  198 <!ENTITY % attrs "%coreattrs; %i18n; %events;">
  199 
  200 
  201 <!--=================== Text Markup ======================================-->
  202 
  203 <!ENTITY % fontstyle
  204  "TT | I | B | BIG | SMALL">
  205 
  206 <!ENTITY % phrase "EM | STRONG | DFN | CODE |
  207                    SAMP | KBD | VAR | CITE | ABBR | ACRONYM" >
  208 
  209 <!ENTITY % special
  210    "A | IMG | OBJECT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO">
  211 
  212 <!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON">
  213 
  214 <!-- %inline; covers inline or "text-level" elements -->
  215 <!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
  216 
  217 <!ELEMENT (%fontstyle;|%phrase;) - - (%inline;)*>
  218 <!ATTLIST (%fontstyle;|%phrase;)
  219   %attrs;                              -- %coreattrs, %i18n, %events --
  220   >
  221 
  222 <!ELEMENT (SUB|SUP) - - (%inline;)*    -- subscript, superscript -->
  223 <!ATTLIST (SUB|SUP)
  224   %attrs;                              -- %coreattrs, %i18n, %events --
  225   >
  226 
  227 <!ELEMENT SPAN - - (%inline;)*         -- generic language/style container -->
  228 <!ATTLIST SPAN
  229   %attrs;                              -- %coreattrs, %i18n, %events --
  230   %reserved;                   -- reserved for possible future use --
  231   >
  232 
  233 <!ELEMENT BDO - - (%inline;)*          -- I18N BiDi over-ride -->
  234 <!ATTLIST BDO
  235   %coreattrs;                          -- id, class, style, title --
  236   lang        %LanguageCode; #IMPLIED  -- language code --
  237   dir         (ltr|rtl)      #REQUIRED -- directionality --
  238   >
  239 
  240 
  241 <!ELEMENT BR - O EMPTY                 -- forced line break -->
  242 <!ATTLIST BR
  243   %coreattrs;                          -- id, class, style, title --
  244   >
  245 
  246 <!--================== HTML content models ===============================-->
  247 
  248 <!--
  249     HTML has two basic content models:
  250 
  251         %inline;     character level elements and text strings
  252         %block;      block-like elements e.g. paragraphs and lists
  253 -->
  254 
  255 <!ENTITY % block
  256      "P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
  257       BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">
  258 
  259 <!ENTITY % flow "%block; | %inline;">
  260 
  261 <!--=================== Document Body ====================================-->
  262 
  263 <!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- document body -->
  264 <!ATTLIST BODY
  265   %attrs;                              -- %coreattrs, %i18n, %events --
  266   onload          %Script;   #IMPLIED  -- the document has been loaded --
  267   onunload        %Script;   #IMPLIED  -- the document has been removed --
  268   >
  269 
  270 <!ELEMENT ADDRESS - - (%inline;)* -- information on author -->
  271 <!ATTLIST ADDRESS
  272   %attrs;                              -- %coreattrs, %i18n, %events --
  273   >
  274 
  275 <!ELEMENT DIV - - (%flow;)*            -- generic language/style container -->
  276 <!ATTLIST DIV
  277   %attrs;                              -- %coreattrs, %i18n, %events --
  278   %reserved;                           -- reserved for possible future use --
  279   >
  280 
  281 
  282 <!--================== The Anchor Element ================================-->
  283 
  284 <!ENTITY % Shape "(rect|circle|poly|default)">
  285 <!ENTITY % Coords "CDATA" -- comma separated list of lengths -->
  286 
  287 <!ELEMENT A - - (%inline;)* -(A)       -- anchor -->
  288 <!ATTLIST A
  289   %attrs;                              -- %coreattrs, %i18n, %events --
  290   charset     %Charset;      #IMPLIED  -- char encoding of linked resource --
  291   type        %ContentType;  #IMPLIED  -- advisory content type --
  292   name        CDATA          #IMPLIED  -- named link end --
  293   href        %URI;          #IMPLIED  -- URI for linked resource --
  294   hreflang    %LanguageCode; #IMPLIED  -- language code --
  295   rel         %LinkTypes;    #IMPLIED  -- forward link types --
  296   rev         %LinkTypes;    #IMPLIED  -- reverse link types --
  297   accesskey   %Character;    #IMPLIED  -- accessibility key character --
  298   shape       %Shape;        rect      -- for use with client-side image maps --
  299   coords      %Coords;       #IMPLIED  -- for use with client-side image maps --
  300   tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
  301   onfocus     %Script;       #IMPLIED  -- the element got the focus --
  302   onblur      %Script;       #IMPLIED  -- the element lost the focus --
  303   >
  304 
  305 <!--================== Client-side image maps ============================-->
  306 
  307 <!-- These can be placed in the same document or grouped in a
  308      separate document although this isn't yet widely supported -->
  309 
  310 <!ELEMENT MAP - - ((%block;)+ | AREA+) -- client-side image map -->
  311 <!ATTLIST MAP
  312   %attrs;                              -- %coreattrs, %i18n, %events --
  313   name        CDATA          #REQUIRED -- for reference by usemap --
  314   >
  315 
  316 <!ELEMENT AREA - O EMPTY               -- client-side image map area -->
  317 <!ATTLIST AREA
  318   %attrs;                              -- %coreattrs, %i18n, %events --
  319   shape       %Shape;        rect      -- controls interpretation of coords --
  320   coords      %Coords;       #IMPLIED  -- comma separated list of lengths --
  321   href        %URI;          #IMPLIED  -- URI for linked resource --
  322   nohref      (nohref)       #IMPLIED  -- this region has no action --
  323   alt         %Text;         #REQUIRED -- short description --
  324   tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
  325   accesskey   %Character;    #IMPLIED  -- accessibility key character --
  326   onfocus     %Script;       #IMPLIED  -- the element got the focus --
  327   onblur      %Script;       #IMPLIED  -- the element lost the focus --
  328   >
  329 
  330 <!--================== The LINK Element ==================================-->
  331 
  332 <!--
  333   Relationship values can be used in principle:
  334 
  335    a) for document specific toolbars/menus when used
  336       with the LINK element in document head e.g.
  337         start, contents, previous, next, index, end, help
  338    b) to link to a separate style sheet (rel=stylesheet)
  339    c) to make a link to a script (rel=script)
  340    d) by stylesheets to control how collections of
  341       html nodes are rendered into printed documents
  342    e) to make a link to a printable version of this document
  343       e.g. a postscript or pdf version (rel=alternate media=print)
  344 -->
  345 
  346 <!ELEMENT LINK - O EMPTY               -- a media-independent link -->
  347 <!ATTLIST LINK
  348   %attrs;                              -- %coreattrs, %i18n, %events --
  349   charset     %Charset;      #IMPLIED  -- char encoding of linked resource --
  350   href        %URI;          #IMPLIED  -- URI for linked resource --
  351   hreflang    %LanguageCode; #IMPLIED  -- language code --
  352   type        %ContentType;  #IMPLIED  -- advisory content type --
  353   rel         %LinkTypes;    #IMPLIED  -- forward link types --
  354   rev         %LinkTypes;    #IMPLIED  -- reverse link types --
  355   media       %MediaDesc;    #IMPLIED  -- for rendering on these media --
  356   >
  357 
  358 <!--=================== Images ===========================================-->
  359 
  360 <!-- Length defined in strict DTD for cellpadding/cellspacing -->
  361 <!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length -->
  362 <!ENTITY % MultiLength "CDATA" -- pixel, percentage, or relative -->
  363 
  364 <!ENTITY % MultiLengths "CDATA" -- comma-separated list of MultiLength -->
  365 
  366 <!ENTITY % Pixels "CDATA" -- integer representing length in pixels -->
  367 
  368 
  369 <!-- To avoid problems with text-only UAs as well as 
  370    to make image content understandable and navigable 
  371    to users of non-visual UAs, you need to provide
  372    a description with ALT, and avoid server-side image maps -->
  373 <!ELEMENT IMG - O EMPTY                -- Embedded image -->
  374 <!ATTLIST IMG
  375   %attrs;                              -- %coreattrs, %i18n, %events --
  376   src         %URI;          #REQUIRED -- URI of image to embed --
  377   alt         %Text;         #REQUIRED -- short description --
  378   longdesc    %URI;          #IMPLIED  -- link to long description
  379                                           (complements alt) --
  380   height      %Length;       #IMPLIED  -- override height --
  381   width       %Length;       #IMPLIED  -- override width --
  382   usemap      %URI;          #IMPLIED  -- use client-side image map --
  383   ismap       (ismap)        #IMPLIED  -- use server-side image map --
  384   >
  385 
  386 <!-- USEMAP points to a MAP element which may be in this document
  387   or an external document, although the latter is not widely supported -->
  388 
  389 <!--==================== OBJECT ======================================-->
  390 <!--
  391   OBJECT is used to embed objects as part of HTML pages 
  392   PARAM elements should precede other content. SGML mixed content
  393   model technicality precludes specifying this formally ...
  394 -->
  395 
  396 <!ELEMENT OBJECT - - (PARAM | %flow;)*
  397  -- generic embedded object -->
  398 <!ATTLIST OBJECT
  399   %attrs;                              -- %coreattrs, %i18n, %events --
  400   declare     (declare)      #IMPLIED  -- declare but don't instantiate flag --
  401   classid     %URI;          #IMPLIED  -- identifies an implementation --
  402   codebase    %URI;          #IMPLIED  -- base URI for classid, data, archive--
  403   data        %URI;          #IMPLIED  -- reference to object's data --
  404   type        %ContentType;  #IMPLIED  -- content type for data --
  405   codetype    %ContentType;  #IMPLIED  -- content type for code --
  406   archive     %URI;          #IMPLIED  -- space separated archive list --
  407   standby     %Text;         #IMPLIED  -- message to show while loading --
  408   height      %Length;       #IMPLIED  -- override height --
  409   width       %Length;       #IMPLIED  -- override width --
  410   usemap      %URI;          #IMPLIED  -- use client-side image map --
  411   name        CDATA          #IMPLIED  -- submit as part of form --
  412   tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
  413   %reserved;                           -- reserved for possible future use --
  414   >
  415 
  416 <!ELEMENT PARAM - O EMPTY              -- named property value -->
  417 <!ATTLIST PARAM
  418   id          ID             #IMPLIED  -- document-wide unique id --
  419   name        CDATA          #REQUIRED -- property name --
  420   value       CDATA          #IMPLIED  -- property value --
  421   valuetype   (DATA|REF|OBJECT) DATA   -- How to interpret value --
  422   type        %ContentType;  #IMPLIED  -- content type for value
  423                                           when valuetype=ref --
  424   >
  425 
  426 
  427 <!--=================== Horizontal Rule ==================================-->
  428 
  429 <!ELEMENT HR - O EMPTY -- horizontal rule -->
  430 <!ATTLIST HR
  431   %coreattrs;                          -- id, class, style, title --
  432   %events;
  433   >
  434 
  435 <!--=================== Paragraphs =======================================-->
  436 
  437 <!ELEMENT P - O (%inline;)*            -- paragraph -->
  438 <!ATTLIST P
  439   %attrs;                              -- %coreattrs, %i18n, %events --
  440   >
  441 
  442 <!--=================== Headings =========================================-->
  443 
  444 <!--
  445   There are six levels of headings from H1 (the most important)
  446   to H6 (the least important).
  447 -->
  448 
  449 <!ELEMENT (%heading;)  - - (%inline;)* -- heading -->
  450 <!ATTLIST (%heading;)
  451   %attrs;                              -- %coreattrs, %i18n, %events --
  452   >
  453 
  454 <!--=================== Preformatted Text ================================-->
  455 
  456 <!-- excludes markup for images and changes in font size -->
  457 <!ENTITY % pre.exclusion "IMG|OBJECT|BIG|SMALL|SUB|SUP">
  458 
  459 <!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;) -- preformatted text -->
  460 <!ATTLIST PRE
  461   %attrs;                              -- %coreattrs, %i18n, %events --
  462   >
  463 
  464 <!--===================== Inline Quotes ==================================-->
  465 
  466 <!ELEMENT Q - - (%inline;)*            -- short inline quotation -->
  467 <!ATTLIST Q
  468   %attrs;                              -- %coreattrs, %i18n, %events --
  469   cite        %URI;          #IMPLIED  -- URI for source document or msg --
  470   >
  471 
  472 <!--=================== Block-like Quotes ================================-->
  473 
  474 <!ELEMENT BLOCKQUOTE - - (%block;|SCRIPT)+ -- long quotation -->
  475 <!ATTLIST BLOCKQUOTE
  476   %attrs;                              -- %coreattrs, %i18n, %events --
  477   cite        %URI;          #IMPLIED  -- URI for source document or msg --
  478   >
  479 
  480 <!--=================== Inserted/Deleted Text ============================-->
  481 
  482 
  483 <!-- INS/DEL are handled by inclusion on BODY -->
  484 <!ELEMENT (INS|DEL) - - (%flow;)*      -- inserted text, deleted text -->
  485 <!ATTLIST (INS|DEL)
  486   %attrs;                              -- %coreattrs, %i18n, %events --
  487   cite        %URI;          #IMPLIED  -- info on reason for change --
  488   datetime    %Datetime;     #IMPLIED  -- date and time of change --
  489   >
  490 
  491 <!--=================== Lists ============================================-->
  492 
  493 <!-- definition lists - DT for term, DD for its definition -->
  494 
  495 <!ELEMENT DL - - (DT|DD)+              -- definition list -->
  496 <!ATTLIST DL
  497   %attrs;                              -- %coreattrs, %i18n, %events --
  498   >
  499 
  500 <!ELEMENT DT - O (%inline;)*           -- definition term -->
  501 <!ELEMENT DD - O (%flow;)*             -- definition description -->
  502 <!ATTLIST (DT|DD)
  503   %attrs;                              -- %coreattrs, %i18n, %events --
  504   >
  505 
  506 
  507 <!ELEMENT OL - - (LI)+                 -- ordered list -->
  508 <!ATTLIST OL
  509   %attrs;                              -- %coreattrs, %i18n, %events --
  510   >
  511 
  512 <!-- Unordered Lists (UL) bullet styles -->
  513 <!ELEMENT UL - - (LI)+                 -- unordered list -->
  514 <!ATTLIST UL
  515   %attrs;                              -- %coreattrs, %i18n, %events --
  516   >
  517 
  518 
  519 
  520 <!ELEMENT LI - O (%flow;)*             -- list item -->
  521 <!ATTLIST LI
  522   %attrs;                              -- %coreattrs, %i18n, %events --
  523   >
  524 
  525 <!--================ Forms ===============================================-->
  526 <!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- interactive form -->
  527 <!ATTLIST FORM
  528   %attrs;                              -- %coreattrs, %i18n, %events --
  529   action      %URI;          #REQUIRED -- server-side form handler --
  530   method      (GET|POST)     GET       -- HTTP method used to submit the form--
  531   enctype     %ContentType;  "application/x-www-form-urlencoded"
  532   onsubmit    %Script;       #IMPLIED  -- the form was submitted --
  533   onreset     %Script;       #IMPLIED  -- the form was reset --
  534   accept-charset %Charsets;  #IMPLIED  -- list of supported charsets --
  535   >
  536 
  537 <!-- Each label must not contain more than ONE field -->
  538 <!ELEMENT LABEL - - (%inline;)* -(LABEL) -- form field label text -->
  539 <!ATTLIST LABEL
  540   %attrs;                              -- %coreattrs, %i18n, %events --
  541   for         IDREF          #IMPLIED  -- matches field ID value --
  542   accesskey   %Character;    #IMPLIED  -- accessibility key character --
  543   onfocus     %Script;       #IMPLIED  -- the element got the focus --
  544   onblur      %Script;       #IMPLIED  -- the element lost the focus --
  545   >
  546 
  547 <!ENTITY % InputType
  548   "(TEXT | PASSWORD | CHECKBOX |
  549     RADIO | SUBMIT | RESET |
  550     FILE | HIDDEN | IMAGE | BUTTON)"
  551    >
  552 
  553 <!-- attribute name required for all but submit & reset -->
  554 <!ELEMENT INPUT - O EMPTY              -- form control -->
  555 <!ATTLIST INPUT
  556   %attrs;                              -- %coreattrs, %i18n, %events --
  557   type        %InputType;    TEXT      -- what kind of widget is needed --
  558   name        CDATA          #IMPLIED  -- submit as part of form --
  559   value       CDATA          #IMPLIED  -- required for radio and checkboxes --
  560   checked     (checked)      #IMPLIED  -- for radio buttons and check boxes --
  561   disabled    (disabled)     #IMPLIED  -- unavailable in this context --
  562   readonly    (readonly)     #IMPLIED  -- for text and passwd --
  563   size        CDATA          #IMPLIED  -- specific to each type of field --
  564   maxlength   NUMBER         #IMPLIED  -- max chars for text fields --
  565   src         %URI;          #IMPLIED  -- for fields with images --
  566   alt         CDATA          #IMPLIED  -- short description --
  567   usemap      %URI;          #IMPLIED  -- use client-side image map --
  568   tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
  569   accesskey   %Character;    #IMPLIED  -- accessibility key character --
  570   onfocus     %Script;       #IMPLIED  -- the element got the focus --
  571   onblur      %Script;       #IMPLIED  -- the element lost the focus --
  572   onselect    %Script;       #IMPLIED  -- some text was selected --
  573   onchange    %Script;       #IMPLIED  -- the element value was changed --
  574   accept      %ContentTypes; #IMPLIED  -- list of MIME types for file upload --
  575   %reserved;                           -- reserved for possible future use --
  576   >
  577 
  578 <!ELEMENT SELECT - - (OPTGROUP|OPTION)+ -- option selector -->
  579 <!ATTLIST SELECT
  580   %attrs;                              -- %coreattrs, %i18n, %events --
  581   name        CDATA          #IMPLIED  -- field name --
  582   size        NUMBER         #IMPLIED  -- rows visible --
  583   multiple    (multiple)     #IMPLIED  -- default is single selection --
  584   disabled    (disabled)     #IMPLIED  -- unavailable in this context --
  585   tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
  586   onfocus     %Script;       #IMPLIED  -- the element got the focus --
  587   onblur      %Script;       #IMPLIED  -- the element lost the focus --
  588   onchange    %Script;       #IMPLIED  -- the element value was changed --
  589   %reserved;                           -- reserved for possible future use --
  590   >
  591 
  592 <!ELEMENT OPTGROUP - - (OPTION)+ -- option group -->
  593 <!ATTLIST OPTGROUP
  594   %attrs;                              -- %coreattrs, %i18n, %events --
  595   disabled    (disabled)     #IMPLIED  -- unavailable in this context --
  596   label       %Text;         #REQUIRED -- for use in hierarchical menus --
  597   >
  598 
  599 <!ELEMENT OPTION - O (#PCDATA)         -- selectable choice -->
  600 <!ATTLIST OPTION
  601   %attrs;                              -- %coreattrs, %i18n, %events --
  602   selected    (selected)     #IMPLIED
  603   disabled    (disabled)     #IMPLIED  -- unavailable in this context --
  604   label       %Text;         #IMPLIED  -- for use in hierarchical menus --
  605   value       CDATA          #IMPLIED  -- defaults to element content --
  606   >
  607 
  608 <!ELEMENT TEXTAREA - - (#PCDATA)       -- multi-line text field -->
  609 <!ATTLIST TEXTAREA
  610   %attrs;                              -- %coreattrs, %i18n, %events --
  611   name        CDATA          #IMPLIED
  612   rows        NUMBER         #REQUIRED
  613   cols        NUMBER         #REQUIRED
  614   disabled    (disabled)     #IMPLIED  -- unavailable in this context --
  615   readonly    (readonly)     #IMPLIED
  616   tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
  617   accesskey   %Character;    #IMPLIED  -- accessibility key character --
  618   onfocus     %Script;       #IMPLIED  -- the element got the focus --
  619   onblur      %Script;       #IMPLIED  -- the element lost the focus --
  620   onselect    %Script;       #IMPLIED  -- some text was selected --
  621   onchange    %Script;       #IMPLIED  -- the element value was changed --
  622   %reserved;                           -- reserved for possible future use --
  623   >
  624 
  625 <!--
  626   #PCDATA is to solve the mixed content problem,
  627   per specification only whitespace is allowed there!
  628  -->
  629 <!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- form control group -->
  630 <!ATTLIST FIELDSET
  631   %attrs;                              -- %coreattrs, %i18n, %events --
  632   >
  633 
  634 <!ELEMENT LEGEND - - (%inline;)*       -- fieldset legend -->
  635 <!ENTITY % LAlign "(top|bottom|left|right)">
  636 
  637 <!ATTLIST LEGEND
  638   %attrs;                              -- %coreattrs, %i18n, %events --
  639   accesskey   %Character;    #IMPLIED  -- accessibility key character --
  640   >
  641 
  642 <!ELEMENT BUTTON - -
  643      (%flow;)* -(A|%formctrl;|FORM|FIELDSET)
  644      -- push button -->
  645 <!ATTLIST BUTTON
  646   %attrs;                              -- %coreattrs, %i18n, %events --
  647   name        CDATA          #IMPLIED
  648   value       CDATA          #IMPLIED  -- sent to server when submitted --
  649   type        (button|submit|reset) submit -- for use as form button --
  650   disabled    (disabled)     #IMPLIED  -- unavailable in this context --
  651   tabindex    NUMBER         #IMPLIED  -- position in tabbing order --
  652   accesskey   %Character;    #IMPLIED  -- accessibility key character --
  653   onfocus     %Script;       #IMPLIED  -- the element got the focus --
  654   onblur      %Script;       #IMPLIED  -- the element lost the focus --
  655   %reserved;                           -- reserved for possible future use --
  656   >
  657 
  658 <!--======================= Tables =======================================-->
  659 
  660 <!-- IETF HTML table standard, see [RFC1942] -->
  661 
  662 <!--
  663  The BORDER attribute sets the thickness of the frame around the
  664  table. The default units are screen pixels.
  665 
  666  The FRAME attribute specifies which parts of the frame around
  667  the table should be rendered. The values are not the same as
  668  CALS to avoid a name clash with the VALIGN attribute.
  669 
  670  The value "border" is included for backwards compatibility with
  671  <TABLE BORDER> which yields frame=border and border=implied
  672  For <TABLE BORDER=1> you get border=1 and frame=implied. In this
  673  case, it is appropriate to treat this as frame=border for backwards
  674  compatibility with deployed browsers.
  675 -->
  676 <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
  677 
  678 <!--
  679  The RULES attribute defines which rules to draw between cells:
  680 
  681  If RULES is absent then assume:
  682      "none" if BORDER is absent or BORDER=0 otherwise "all"
  683 -->
  684 
  685 <!ENTITY % TRules "(none | groups | rows | cols | all)">
  686   
  687 <!-- horizontal placement of table relative to document -->
  688 <!ENTITY % TAlign "(left|center|right)">
  689 
  690 <!-- horizontal alignment attributes for cell contents -->
  691 <!ENTITY % cellhalign
  692   "align      (left|center|right|justify|char) #IMPLIED
  693    char       %Character;    #IMPLIED  -- alignment char, e.g. char=':' --
  694    charoff    %Length;       #IMPLIED  -- offset for alignment char --"
  695   >
  696 
  697 <!-- vertical alignment attributes for cell contents -->
  698 <!ENTITY % cellvalign
  699   "valign     (top|middle|bottom|baseline) #IMPLIED"
  700   >
  701 
  702 <!ELEMENT TABLE - -
  703      (CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
  704 <!ELEMENT CAPTION  - - (%inline;)*     -- table caption -->
  705 <!ELEMENT THEAD    - O (TR)+           -- table header -->
  706 <!ELEMENT TFOOT    - O (TR)+           -- table footer -->
  707 <!ELEMENT TBODY    O O (TR)+           -- table body -->
  708 <!ELEMENT COLGROUP - O (col)*          -- table column group -->
  709 <!ELEMENT COL      - O EMPTY           -- table column -->
  710 <!ELEMENT TR       - O (TH|TD)+        -- table row -->
  711 <!ELEMENT (TH|TD)  - O (%flow;)*       -- table header cell, table data cell-->
  712 
  713 <!ATTLIST TABLE                        -- table element --
  714   %attrs;                              -- %coreattrs, %i18n, %events --
  715   summary     %Text;         #IMPLIED  -- purpose/structure for speech output--
  716   width       %Length;       #IMPLIED  -- table width --
  717   border      %Pixels;       #IMPLIED  -- controls frame width around table --
  718   frame       %TFrame;       #IMPLIED  -- which parts of frame to render --
  719   rules       %TRules;       #IMPLIED  -- rulings between rows and cols --
  720   cellspacing %Length;       #IMPLIED  -- spacing between cells --
  721   cellpadding %Length;       #IMPLIED  -- spacing within cells --
  722   %reserved;                           -- reserved for possible future use --
  723   datapagesize CDATA         #IMPLIED  -- reserved for possible future use --
  724   >
  725 
  726 <!ENTITY % CAlign "(top|bottom|left|right)">
  727 
  728 <!ATTLIST CAPTION
  729   %attrs;                              -- %coreattrs, %i18n, %events --
  730   >
  731 
  732 <!--
  733 COLGROUP groups a set of COL elements. It allows you to group
  734 several semantically related columns together.
  735 -->
  736 <!ATTLIST COLGROUP
  737   %attrs;                              -- %coreattrs, %i18n, %events --
  738   span        NUMBER         1         -- default number of columns in group --
  739   width       %MultiLength;  #IMPLIED  -- default width for enclosed COLs --
  740   %cellhalign;                         -- horizontal alignment in cells --
  741   %cellvalign;                         -- vertical alignment in cells --
  742   >
  743 
  744 <!--
  745  COL elements define the alignment properties for cells in
  746  one or more columns.
  747 
  748  The WIDTH attribute specifies the width of the columns, e.g.
  749 
  750      width=64        width in screen pixels
  751      width=0.5*      relative width of 0.5
  752 
  753  The SPAN attribute causes the attributes of one
  754  COL element to apply to more than one column.
  755 -->
  756 <!ATTLIST COL                          -- column groups and properties --
  757   %attrs;                              -- %coreattrs, %i18n, %events --
  758   span        NUMBER         1         -- COL attributes affect N columns --
  759   width       %MultiLength;  #IMPLIED  -- column width specification --
  760   %cellhalign;                         -- horizontal alignment in cells --
  761   %cellvalign;                         -- vertical alignment in cells --
  762   >
  763 
  764 <!--
  765     Use THEAD to duplicate headers when breaking table
  766     across page boundaries, or for static headers when
  767     TBODY sections are rendered in scrolling panel.
  768 
  769     Use TFOOT to duplicate footers when breaking table
  770     across page boundaries, or for static footers when
  771     TBODY sections are rendered in scrolling panel.
  772 
  773     Use multiple TBODY sections when rules are needed
  774     between groups of table rows.
  775 -->
  776 <!ATTLIST (THEAD|TBODY|TFOOT)          -- table section --
  777   %attrs;                              -- %coreattrs, %i18n, %events --
  778   %cellhalign;                         -- horizontal alignment in cells --
  779   %cellvalign;                         -- vertical alignment in cells --
  780   >
  781 
  782 <!ATTLIST TR                           -- table row --
  783   %attrs;                              -- %coreattrs, %i18n, %events --
  784   %cellhalign;                         -- horizontal alignment in cells --
  785   %cellvalign;                         -- vertical alignment in cells --
  786   >
  787 
  788 
  789 <!-- Scope is simpler than axes attribute for common tables -->
  790 <!ENTITY % Scope "(row|col|rowgroup|colgroup)">
  791 
  792 <!-- TH is for headers, TD for data, but for cells acting as both use TD -->
  793 <!ATTLIST (TH|TD)                      -- header or data cell --
  794   %attrs;                              -- %coreattrs, %i18n, %events --
  795   abbr        %Text;         #IMPLIED  -- abbreviation for header cell --
  796   axis        CDATA          #IMPLIED  -- names groups of related headers--
  797   headers     IDREFS         #IMPLIED  -- list of id's for header cells --
  798   scope       %Scope;        #IMPLIED  -- scope covered by header cells --
  799   rowspan     NUMBER         1         -- number of rows spanned by cell --
  800   colspan     NUMBER         1         -- number of cols spanned by cell --
  801   %cellhalign;                         -- horizontal alignment in cells --
  802   %cellvalign;                         -- vertical alignment in cells --
  803   >
  804 
  805 
  806 <!--================ Document Head =======================================-->
  807 <!-- %head.misc; defined earlier on as "SCRIPT|STYLE|META|LINK|OBJECT" -->
  808 <!ENTITY % head.content "TITLE & BASE?">
  809 
  810 <!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- document head -->
  811 <!ATTLIST HEAD
  812   %i18n;                               -- lang, dir --
  813   profile     %URI;          #IMPLIED  -- named dictionary of meta info --
  814   >
  815 
  816 <!-- The TITLE element is not considered part of the flow of text.
  817        It should be displayed, for example as the page header or
  818        window title. Exactly one title is required per document.
  819     -->
  820 <!ELEMENT TITLE - - (#PCDATA) -(%head.misc;) -- document title -->
  821 <!ATTLIST TITLE %i18n>
  822 
  823 
  824 <!ELEMENT BASE - O EMPTY               -- document base URI -->
  825 <!ATTLIST BASE
  826   href        %URI;          #REQUIRED -- URI that acts as base URI --
  827   >
  828 
  829 <!ELEMENT META - O EMPTY               -- generic metainformation -->
  830 <!ATTLIST META
  831   %i18n;                               -- lang, dir, for use with content --
  832   http-equiv  NAME           #IMPLIED  -- HTTP response header name  --
  833   name        NAME           #IMPLIED  -- metainformation name --
  834   content     CDATA          #REQUIRED -- associated information --
  835   scheme      CDATA          #IMPLIED  -- select form of content --
  836   >
  837 
  838 <!ELEMENT STYLE - - %StyleSheet        -- style info -->
  839 <!ATTLIST STYLE
  840   %i18n;                               -- lang, dir, for use with title --
  841   type        %ContentType;  #REQUIRED -- content type of style language --
  842   media       %MediaDesc;    #IMPLIED  -- designed for use with these media --
  843   title       %Text;         #IMPLIED  -- advisory title --
  844   >
  845 
  846 <!ELEMENT SCRIPT - - %Script;          -- script statements -->
  847 <!ATTLIST SCRIPT
  848   charset     %Charset;      #IMPLIED  -- char encoding of linked resource --
  849   type        %ContentType;  #REQUIRED -- content type of script language --
  850   language    CDATA          #IMPLIED  -- predefined script language name --
  851   src         %URI;          #IMPLIED  -- URI for an external script --
  852   defer       (defer)        #IMPLIED  -- UA may defer execution of script --
  853   event       CDATA          #IMPLIED  -- reserved for possible future use --
  854   for         %URI;          #IMPLIED  -- reserved for possible future use --
  855   >
  856 
  857 <!ELEMENT NOSCRIPT - - (%block;)+
  858   -- alternate content container for non script-based rendering -->
  859 <!ATTLIST NOSCRIPT
  860   %attrs;                              -- %coreattrs, %i18n, %events --
  861   >
  862 
  863 <!--================ Document Structure ==================================-->
  864 <!ENTITY % html.content "HEAD, BODY">
  865 
  866 <!ELEMENT HTML O O (%html.content;)    -- document root element -->
  867 <!ATTLIST HTML
  868   %i18n;                               -- lang, dir --
  869   >