plugins/org.w3c.css/bin/org/w3c/css/util/xml/xhtml1.0/xhtml1-strict.dtd
changeset 476 20536eb3b9ff
parent 475 77edd0cbdfe0
child 477 b616697678bf
equal deleted inserted replaced
475:77edd0cbdfe0 476:20536eb3b9ff
     1 <!--
       
     2    Extensible HTML version 1.0 Strict DTD
       
     3 
       
     4    This is the same as HTML 4.0 Strict except for
       
     5    changes due to the differences between XML and SGML.
       
     6 
       
     7    Namespace = http://www.w3.org/1999/xhtml
       
     8 
       
     9    For further information, see: http://www.w3.org/TR/xhtml1
       
    10 
       
    11    Copyright (c) 1998-2000 W3C (MIT, INRIA, Keio),
       
    12    All Rights Reserved. 
       
    13 
       
    14    This DTD module is identified by the PUBLIC and SYSTEM identifiers:
       
    15 
       
    16    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
       
    17    SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
       
    18 
       
    19    $Revision: 1.1 $
       
    20    $Date: 2002-04-08 21:19:32 $
       
    21 
       
    22 -->
       
    23 
       
    24 <!--================ Character mnemonic entities =========================-->
       
    25 
       
    26 <!ENTITY % HTMLlat1 PUBLIC
       
    27    "-//W3C//ENTITIES Latin 1 for XHTML//EN"
       
    28    "xhtml-lat1.ent">
       
    29 %HTMLlat1;
       
    30 
       
    31 <!ENTITY % HTMLsymbol PUBLIC
       
    32    "-//W3C//ENTITIES Symbols for XHTML//EN"
       
    33    "xhtml-symbol.ent">
       
    34 %HTMLsymbol;
       
    35 
       
    36 <!ENTITY % HTMLspecial PUBLIC
       
    37    "-//W3C//ENTITIES Special for XHTML//EN"
       
    38    "xhtml-special.ent">
       
    39 %HTMLspecial;
       
    40 
       
    41 <!--================== Imported Names ====================================-->
       
    42 
       
    43 <!ENTITY % ContentType "CDATA">
       
    44     <!-- media type, as per [RFC2045] -->
       
    45 
       
    46 <!ENTITY % ContentTypes "CDATA">
       
    47     <!-- comma-separated list of media types, as per [RFC2045] -->
       
    48 
       
    49 <!ENTITY % Charset "CDATA">
       
    50     <!-- a character encoding, as per [RFC2045] -->
       
    51 
       
    52 <!ENTITY % Charsets "CDATA">
       
    53     <!-- a space separated list of character encodings, as per [RFC2045] -->
       
    54 
       
    55 <!ENTITY % LanguageCode "NMTOKEN">
       
    56     <!-- a language code, as per [RFC1766] -->
       
    57 
       
    58 <!ENTITY % Character "CDATA">
       
    59     <!-- a single character from [ISO10646] -->
       
    60 
       
    61 <!ENTITY % Number "CDATA">
       
    62     <!-- one or more digits -->
       
    63 
       
    64 <!ENTITY % LinkTypes "CDATA">
       
    65     <!-- space-separated list of link types -->
       
    66 
       
    67 <!ENTITY % MediaDesc "CDATA">
       
    68     <!-- single or comma-separated list of media descriptors -->
       
    69 
       
    70 <!ENTITY % URI "CDATA">
       
    71     <!-- a Uniform Resource Identifier, see [RFC2396] -->
       
    72 
       
    73 <!ENTITY % UriList "CDATA">
       
    74     <!-- a space separated list of Uniform Resource Identifiers -->
       
    75 
       
    76 <!ENTITY % Datetime "CDATA">
       
    77     <!-- date and time information. ISO date format -->
       
    78 
       
    79 <!ENTITY % Script "CDATA">
       
    80     <!-- script expression -->
       
    81 
       
    82 <!ENTITY % StyleSheet "CDATA">
       
    83     <!-- style sheet data -->
       
    84 
       
    85 <!ENTITY % Text "CDATA">
       
    86     <!-- used for titles etc. -->
       
    87 
       
    88 <!ENTITY % FrameTarget "NMTOKEN">
       
    89     <!-- render in this frame -->
       
    90 
       
    91 <!ENTITY % Length "CDATA">
       
    92     <!-- nn for pixels or nn% for percentage length -->
       
    93 
       
    94 <!ENTITY % MultiLength "CDATA">
       
    95     <!-- pixel, percentage, or relative -->
       
    96 
       
    97 <!ENTITY % MultiLengths "CDATA">
       
    98     <!-- comma-separated list of MultiLength -->
       
    99 
       
   100 <!ENTITY % Pixels "CDATA">
       
   101     <!-- integer representing length in pixels -->
       
   102 
       
   103 <!-- these are used for image maps -->
       
   104 
       
   105 <!ENTITY % Shape "(rect|circle|poly|default)">
       
   106 
       
   107 <!ENTITY % Coords "CDATA">
       
   108     <!-- comma separated list of lengths -->
       
   109 
       
   110 <!--=================== Generic Attributes ===============================-->
       
   111 
       
   112 <!-- core attributes common to most elements
       
   113   id       document-wide unique id
       
   114   class    space separated list of classes
       
   115   style    associated style info
       
   116   title    advisory title/amplification
       
   117 -->
       
   118 <!ENTITY % coreattrs
       
   119  "id          ID             #IMPLIED
       
   120   class       CDATA          #IMPLIED
       
   121   style       %StyleSheet;   #IMPLIED
       
   122   title       %Text;         #IMPLIED"
       
   123   >
       
   124 
       
   125 <!-- internationalization attributes
       
   126   lang        language code (backwards compatible)
       
   127   xml:lang    language code (as per XML 1.0 spec)
       
   128   dir         direction for weak/neutral text
       
   129 -->
       
   130 <!ENTITY % i18n
       
   131  "lang        %LanguageCode; #IMPLIED
       
   132   xml:lang    %LanguageCode; #IMPLIED
       
   133   dir         (ltr|rtl)      #IMPLIED"
       
   134   >
       
   135 
       
   136 <!-- attributes for common UI events
       
   137   onclick     a pointer button was clicked
       
   138   ondblclick  a pointer button was double clicked
       
   139   onmousedown a pointer button was pressed down
       
   140   onmouseup   a pointer button was released
       
   141   onmousemove a pointer was moved onto the element
       
   142   onmouseout  a pointer was moved away from the element
       
   143   onkeypress  a key was pressed and released
       
   144   onkeydown   a key was pressed down
       
   145   onkeyup     a key was released
       
   146 -->
       
   147 <!ENTITY % events
       
   148  "onclick     %Script;       #IMPLIED
       
   149   ondblclick  %Script;       #IMPLIED
       
   150   onmousedown %Script;       #IMPLIED
       
   151   onmouseup   %Script;       #IMPLIED
       
   152   onmouseover %Script;       #IMPLIED
       
   153   onmousemove %Script;       #IMPLIED
       
   154   onmouseout  %Script;       #IMPLIED
       
   155   onkeypress  %Script;       #IMPLIED
       
   156   onkeydown   %Script;       #IMPLIED
       
   157   onkeyup     %Script;       #IMPLIED"
       
   158   >
       
   159 
       
   160 <!-- attributes for elements that can get the focus
       
   161   accesskey   accessibility key character
       
   162   tabindex    position in tabbing order
       
   163   onfocus     the element got the focus
       
   164   onblur      the element lost the focus
       
   165 -->
       
   166 <!ENTITY % focus
       
   167  "accesskey   %Character;    #IMPLIED
       
   168   tabindex    %Number;       #IMPLIED
       
   169   onfocus     %Script;       #IMPLIED
       
   170   onblur      %Script;       #IMPLIED"
       
   171   >
       
   172 
       
   173 <!ENTITY % attrs "%coreattrs; %i18n; %events;">
       
   174 
       
   175 <!--=================== Text Elements ====================================-->
       
   176 
       
   177 <!ENTITY % special
       
   178    "br | span | bdo | object | img | map">
       
   179 
       
   180 <!ENTITY % fontstyle "tt | i | b | big | small">
       
   181 
       
   182 <!ENTITY % phrase "em | strong | dfn | code | q | sub | sup |
       
   183                    samp | kbd | var | cite | abbr | acronym">
       
   184 
       
   185 <!ENTITY % inline.forms "input | select | textarea | label | button">
       
   186 
       
   187 <!-- these can occur at block or inline level -->
       
   188 <!ENTITY % misc "ins | del | script | noscript">
       
   189 
       
   190 <!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
       
   191 
       
   192 <!-- %Inline; covers inline or "text-level" elements -->
       
   193 <!ENTITY % Inline "(#PCDATA | %inline; | %misc;)*">
       
   194 
       
   195 <!--================== Block level elements ==============================-->
       
   196 
       
   197 <!ENTITY % heading "h1|h2|h3|h4|h5|h6">
       
   198 <!ENTITY % lists "ul | ol | dl">
       
   199 <!ENTITY % blocktext "pre | hr | blockquote | address">
       
   200 
       
   201 <!ENTITY % block
       
   202      "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
       
   203 
       
   204 <!ENTITY % Block "(%block; | form | %misc;)*">
       
   205 
       
   206 <!-- %Flow; mixes Block and Inline and is used for list items etc. -->
       
   207 <!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
       
   208 
       
   209 <!--================== Content models for exclusions =====================-->
       
   210 
       
   211 <!-- a elements use %Inline; excluding a -->
       
   212 
       
   213 <!ENTITY % a.content
       
   214    "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc;)*">
       
   215 
       
   216 <!-- pre uses %Inline excluding img, object, big, small, sup or sup -->
       
   217 
       
   218 <!ENTITY % pre.content
       
   219    "(#PCDATA | a | br | span | bdo | map | tt | i | b |
       
   220       %phrase; | %inline.forms;)*">
       
   221 
       
   222 <!-- form uses %Block; excluding form -->
       
   223 
       
   224 <!ENTITY % form.content "(%block; | %misc;)*">
       
   225 
       
   226 <!-- button uses %Flow; but excludes a, form and form controls -->
       
   227 
       
   228 <!ENTITY % button.content
       
   229    "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
       
   230     table | %special; | %fontstyle; | %phrase; | %misc;)*">
       
   231 
       
   232 <!--================ Document Structure ==================================-->
       
   233 
       
   234 <!-- the namespace URI designates the document profile -->
       
   235 
       
   236 <!ELEMENT html (head, body)>
       
   237 <!ATTLIST html
       
   238   %i18n;
       
   239   xmlns       %URI;          #FIXED 'http://www.w3.org/1999/xhtml'
       
   240   >
       
   241 
       
   242 <!--================ Document Head =======================================-->
       
   243 
       
   244 <!ENTITY % head.misc "(script|style|meta|link|object)*">
       
   245 
       
   246 <!-- content model is %head.misc; combined with a single
       
   247      title and an optional base element in any order -->
       
   248 
       
   249 <!ELEMENT head (%head.misc;,
       
   250      ((title, %head.misc;, (base, %head.misc;)?) |
       
   251       (base, %head.misc;, (title, %head.misc;))))>
       
   252 
       
   253 <!ATTLIST head
       
   254   %i18n;
       
   255   profile     %URI;          #IMPLIED
       
   256   >
       
   257 
       
   258 <!-- The title element is not considered part of the flow of text.
       
   259        It should be displayed, for example as the page header or
       
   260        window title. Exactly one title is required per document.
       
   261     -->
       
   262 <!ELEMENT title (#PCDATA)>
       
   263 <!ATTLIST title %i18n;>
       
   264 
       
   265 <!-- document base URI -->
       
   266 
       
   267 <!ELEMENT base EMPTY>
       
   268 <!ATTLIST base
       
   269   href        %URI;          #IMPLIED
       
   270   >
       
   271 
       
   272 <!-- generic metainformation -->
       
   273 <!ELEMENT meta EMPTY>
       
   274 <!ATTLIST meta
       
   275   %i18n;
       
   276   http-equiv  CDATA          #IMPLIED
       
   277   name        CDATA          #IMPLIED
       
   278   content     CDATA          #REQUIRED
       
   279   scheme      CDATA          #IMPLIED
       
   280   >
       
   281 
       
   282 <!--
       
   283   Relationship values can be used in principle:
       
   284 
       
   285    a) for document specific toolbars/menus when used
       
   286       with the link element in document head e.g.
       
   287         start, contents, previous, next, index, end, help
       
   288    b) to link to a separate style sheet (rel="stylesheet")
       
   289    c) to make a link to a script (rel="script")
       
   290    d) by stylesheets to control how collections of
       
   291       html nodes are rendered into printed documents
       
   292    e) to make a link to a printable version of this document
       
   293       e.g. a PostScript or PDF version (rel="alternate" media="print")
       
   294 -->
       
   295 
       
   296 <!ELEMENT link EMPTY>
       
   297 <!ATTLIST link
       
   298   %attrs;
       
   299   charset     %Charset;      #IMPLIED
       
   300   href        %URI;          #IMPLIED
       
   301   hreflang    %LanguageCode; #IMPLIED
       
   302   type        %ContentType;  #IMPLIED
       
   303   rel         %LinkTypes;    #IMPLIED
       
   304   rev         %LinkTypes;    #IMPLIED
       
   305   media       %MediaDesc;    #IMPLIED
       
   306   >
       
   307 
       
   308 <!-- style info, which may include CDATA sections -->
       
   309 <!ELEMENT style (#PCDATA)>
       
   310 <!ATTLIST style
       
   311   %i18n;
       
   312   type        %ContentType;  #REQUIRED
       
   313   media       %MediaDesc;    #IMPLIED
       
   314   title       %Text;         #IMPLIED
       
   315   xml:space   (preserve)     #FIXED 'preserve'
       
   316   >
       
   317 
       
   318 <!-- script statements, which may include CDATA sections -->
       
   319 <!ELEMENT script (#PCDATA)>
       
   320 <!ATTLIST script
       
   321   charset     %Charset;      #IMPLIED
       
   322   type        %ContentType;  #REQUIRED
       
   323   src         %URI;          #IMPLIED
       
   324   defer       (defer)        #IMPLIED
       
   325   xml:space   (preserve)     #FIXED 'preserve'
       
   326   >
       
   327 
       
   328 <!-- alternate content container for non script-based rendering -->
       
   329 
       
   330 <!ELEMENT noscript %Block;>
       
   331 <!ATTLIST noscript
       
   332   %attrs;
       
   333   >
       
   334 
       
   335 <!--=================== Document Body ====================================-->
       
   336 
       
   337 <!ELEMENT body %Block;>
       
   338 <!ATTLIST body
       
   339   %attrs;
       
   340   onload          %Script;   #IMPLIED
       
   341   onunload        %Script;   #IMPLIED
       
   342   >
       
   343 
       
   344 <!ELEMENT div %Flow;>  <!-- generic language/style container -->
       
   345 <!ATTLIST div
       
   346   %attrs;
       
   347   >
       
   348 
       
   349 <!--=================== Paragraphs =======================================-->
       
   350 
       
   351 <!ELEMENT p %Inline;>
       
   352 <!ATTLIST p
       
   353   %attrs;
       
   354   >
       
   355 
       
   356 <!--=================== Headings =========================================-->
       
   357 
       
   358 <!--
       
   359   There are six levels of headings from h1 (the most important)
       
   360   to h6 (the least important).
       
   361 -->
       
   362 
       
   363 <!ELEMENT h1  %Inline;>
       
   364 <!ATTLIST h1
       
   365    %attrs;
       
   366    >
       
   367 
       
   368 <!ELEMENT h2 %Inline;>
       
   369 <!ATTLIST h2
       
   370    %attrs;
       
   371    >
       
   372 
       
   373 <!ELEMENT h3 %Inline;>
       
   374 <!ATTLIST h3
       
   375    %attrs;
       
   376    >
       
   377 
       
   378 <!ELEMENT h4 %Inline;>
       
   379 <!ATTLIST h4
       
   380    %attrs;
       
   381    >
       
   382 
       
   383 <!ELEMENT h5 %Inline;>
       
   384 <!ATTLIST h5
       
   385    %attrs;
       
   386    >
       
   387 
       
   388 <!ELEMENT h6 %Inline;>
       
   389 <!ATTLIST h6
       
   390    %attrs;
       
   391    >
       
   392 
       
   393 <!--=================== Lists ============================================-->
       
   394 
       
   395 <!-- Unordered list -->
       
   396 
       
   397 <!ELEMENT ul (li)+>
       
   398 <!ATTLIST ul
       
   399   %attrs;
       
   400   >
       
   401 
       
   402 <!-- Ordered (numbered) list -->
       
   403 
       
   404 <!ELEMENT ol (li)+>
       
   405 <!ATTLIST ol
       
   406   %attrs;
       
   407   >
       
   408 
       
   409 <!-- list item -->
       
   410 
       
   411 <!ELEMENT li %Flow;>
       
   412 <!ATTLIST li
       
   413   %attrs;
       
   414   >
       
   415 
       
   416 <!-- definition lists - dt for term, dd for its definition -->
       
   417 
       
   418 <!ELEMENT dl (dt|dd)+>
       
   419 <!ATTLIST dl
       
   420   %attrs;
       
   421   >
       
   422 
       
   423 <!ELEMENT dt %Inline;>
       
   424 <!ATTLIST dt
       
   425   %attrs;
       
   426   >
       
   427 
       
   428 <!ELEMENT dd %Flow;>
       
   429 <!ATTLIST dd
       
   430   %attrs;
       
   431   >
       
   432 
       
   433 <!--=================== Address ==========================================-->
       
   434 
       
   435 <!-- information on author -->
       
   436 
       
   437 <!ELEMENT address %Inline;>
       
   438 <!ATTLIST address
       
   439   %attrs;
       
   440   >
       
   441 
       
   442 <!--=================== Horizontal Rule ==================================-->
       
   443 
       
   444 <!ELEMENT hr EMPTY>
       
   445 <!ATTLIST hr
       
   446   %attrs;
       
   447   >
       
   448 
       
   449 <!--=================== Preformatted Text ================================-->
       
   450 
       
   451 <!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
       
   452 
       
   453 <!ELEMENT pre %pre.content;>
       
   454 <!ATTLIST pre
       
   455   %attrs;
       
   456   xml:space (preserve) #FIXED 'preserve'
       
   457   >
       
   458 
       
   459 <!--=================== Block-like Quotes ================================-->
       
   460 
       
   461 <!ELEMENT blockquote %Block;>
       
   462 <!ATTLIST blockquote
       
   463   %attrs;
       
   464   cite        %URI;          #IMPLIED
       
   465   >
       
   466 
       
   467 <!--=================== Inserted/Deleted Text ============================-->
       
   468 
       
   469 <!--
       
   470   ins/del are allowed in block and inline content, but its
       
   471   inappropriate to include block content within an ins element
       
   472   occurring in inline content.
       
   473 -->
       
   474 <!ELEMENT ins %Flow;>
       
   475 <!ATTLIST ins
       
   476   %attrs;
       
   477   cite        %URI;          #IMPLIED
       
   478   datetime    %Datetime;     #IMPLIED
       
   479   >
       
   480 
       
   481 <!ELEMENT del %Flow;>
       
   482 <!ATTLIST del
       
   483   %attrs;
       
   484   cite        %URI;          #IMPLIED
       
   485   datetime    %Datetime;     #IMPLIED
       
   486   >
       
   487 
       
   488 <!--================== The Anchor Element ================================-->
       
   489 
       
   490 <!-- content is %Inline; except that anchors shouldn't be nested -->
       
   491 
       
   492 <!ELEMENT a %a.content;>
       
   493 <!ATTLIST a
       
   494   %attrs;
       
   495   charset     %Charset;      #IMPLIED
       
   496   type        %ContentType;  #IMPLIED
       
   497   name        NMTOKEN        #IMPLIED
       
   498   href        %URI;          #IMPLIED
       
   499   hreflang    %LanguageCode; #IMPLIED
       
   500   rel         %LinkTypes;    #IMPLIED
       
   501   rev         %LinkTypes;    #IMPLIED
       
   502   accesskey   %Character;    #IMPLIED
       
   503   shape       %Shape;        "rect"
       
   504   coords      %Coords;       #IMPLIED
       
   505   tabindex    %Number;       #IMPLIED
       
   506   onfocus     %Script;       #IMPLIED
       
   507   onblur      %Script;       #IMPLIED
       
   508   >
       
   509 
       
   510 <!--===================== Inline Elements ================================-->
       
   511 
       
   512 <!ELEMENT span %Inline;> <!-- generic language/style container -->
       
   513 <!ATTLIST span
       
   514   %attrs;
       
   515   >
       
   516 
       
   517 <!ELEMENT bdo %Inline;>  <!-- I18N BiDi over-ride -->
       
   518 <!ATTLIST bdo
       
   519   %coreattrs;
       
   520   %events;
       
   521   lang        %LanguageCode; #IMPLIED
       
   522   xml:lang    %LanguageCode; #IMPLIED
       
   523   dir         (ltr|rtl)      #REQUIRED
       
   524   >
       
   525 
       
   526 <!ELEMENT br EMPTY>   <!-- forced line break -->
       
   527 <!ATTLIST br
       
   528   %coreattrs;
       
   529   >
       
   530 
       
   531 <!ELEMENT em %Inline;>   <!-- emphasis -->
       
   532 <!ATTLIST em %attrs;>
       
   533 
       
   534 <!ELEMENT strong %Inline;>   <!-- strong emphasis -->
       
   535 <!ATTLIST strong %attrs;>
       
   536 
       
   537 <!ELEMENT dfn %Inline;>   <!-- definitional -->
       
   538 <!ATTLIST dfn %attrs;>
       
   539 
       
   540 <!ELEMENT code %Inline;>   <!-- program code -->
       
   541 <!ATTLIST code %attrs;>
       
   542 
       
   543 <!ELEMENT samp %Inline;>   <!-- sample -->
       
   544 <!ATTLIST samp %attrs;>
       
   545 
       
   546 <!ELEMENT kbd %Inline;>  <!-- something user would type -->
       
   547 <!ATTLIST kbd %attrs;>
       
   548 
       
   549 <!ELEMENT var %Inline;>   <!-- variable -->
       
   550 <!ATTLIST var %attrs;>
       
   551 
       
   552 <!ELEMENT cite %Inline;>   <!-- citation -->
       
   553 <!ATTLIST cite %attrs;>
       
   554 
       
   555 <!ELEMENT abbr %Inline;>   <!-- abbreviation -->
       
   556 <!ATTLIST abbr %attrs;>
       
   557 
       
   558 <!ELEMENT acronym %Inline;>   <!-- acronym -->
       
   559 <!ATTLIST acronym %attrs;>
       
   560 
       
   561 <!ELEMENT q %Inline;>   <!-- inlined quote -->
       
   562 <!ATTLIST q
       
   563   %attrs;
       
   564   cite        %URI;          #IMPLIED
       
   565   >
       
   566 
       
   567 <!ELEMENT sub %Inline;> <!-- subscript -->
       
   568 <!ATTLIST sub %attrs;>
       
   569 
       
   570 <!ELEMENT sup %Inline;> <!-- superscript -->
       
   571 <!ATTLIST sup %attrs;>
       
   572 
       
   573 <!ELEMENT tt %Inline;>   <!-- fixed pitch font -->
       
   574 <!ATTLIST tt %attrs;>
       
   575 
       
   576 <!ELEMENT i %Inline;>   <!-- italic font -->
       
   577 <!ATTLIST i %attrs;>
       
   578 
       
   579 <!ELEMENT b %Inline;>   <!-- bold font -->
       
   580 <!ATTLIST b %attrs;>
       
   581 
       
   582 <!ELEMENT big %Inline;>   <!-- bigger font -->
       
   583 <!ATTLIST big %attrs;>
       
   584 
       
   585 <!ELEMENT small %Inline;>   <!-- smaller font -->
       
   586 <!ATTLIST small %attrs;>
       
   587 
       
   588 <!--==================== Object ======================================-->
       
   589 <!--
       
   590   object is used to embed objects as part of HTML pages.
       
   591   param elements should precede other content. Parameters
       
   592   can also be expressed as attribute/value pairs on the
       
   593   object element itself when brevity is desired.
       
   594 -->
       
   595 
       
   596 <!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
       
   597 <!ATTLIST object
       
   598   %attrs;
       
   599   declare     (declare)      #IMPLIED
       
   600   classid     %URI;          #IMPLIED
       
   601   codebase    %URI;          #IMPLIED
       
   602   data        %URI;          #IMPLIED
       
   603   type        %ContentType;  #IMPLIED
       
   604   codetype    %ContentType;  #IMPLIED
       
   605   archive     %UriList;      #IMPLIED
       
   606   standby     %Text;         #IMPLIED
       
   607   height      %Length;       #IMPLIED
       
   608   width       %Length;       #IMPLIED
       
   609   usemap      %URI;          #IMPLIED
       
   610   name        NMTOKEN        #IMPLIED
       
   611   tabindex    %Number;       #IMPLIED
       
   612   >
       
   613 
       
   614 <!--
       
   615   param is used to supply a named property value.
       
   616   In XML it would seem natural to follow RDF and support an
       
   617   abbreviated syntax where the param elements are replaced
       
   618   by attribute value pairs on the object start tag.
       
   619 -->
       
   620 <!ELEMENT param EMPTY>
       
   621 <!ATTLIST param
       
   622   id          ID             #IMPLIED
       
   623   name        CDATA          #IMPLIED
       
   624   value       CDATA          #IMPLIED
       
   625   valuetype   (data|ref|object) "data"
       
   626   type        %ContentType;  #IMPLIED
       
   627   >
       
   628 
       
   629 <!--=================== Images ===========================================-->
       
   630 
       
   631 <!--
       
   632    To avoid accessibility problems for people who aren't
       
   633    able to see the image, you should provide a text
       
   634    description using the alt and longdesc attributes.
       
   635    In addition, avoid the use of server-side image maps.
       
   636    Note that in this DTD there is no name attribute. That
       
   637    is only available in the transitional and frameset DTD.
       
   638 -->
       
   639 
       
   640 <!ELEMENT img EMPTY>
       
   641 <!ATTLIST img
       
   642   %attrs;
       
   643   src         %URI;          #REQUIRED
       
   644   alt         %Text;         #REQUIRED
       
   645   longdesc    %URI;          #IMPLIED
       
   646   height      %Length;       #IMPLIED
       
   647   width       %Length;       #IMPLIED
       
   648   usemap      %URI;          #IMPLIED
       
   649   ismap       (ismap)        #IMPLIED
       
   650   >
       
   651 
       
   652 <!-- usemap points to a map element which may be in this document
       
   653   or an external document, although the latter is not widely supported -->
       
   654 
       
   655 <!--================== Client-side image maps ============================-->
       
   656 
       
   657 <!-- These can be placed in the same document or grouped in a
       
   658      separate document although this isn't yet widely supported -->
       
   659 
       
   660 <!ELEMENT map ((%block; | form | %misc;)+ | area+)>
       
   661 <!ATTLIST map
       
   662   %i18n;
       
   663   %events;
       
   664   id          ID             #REQUIRED
       
   665   class       CDATA          #IMPLIED
       
   666   style       %StyleSheet;   #IMPLIED
       
   667   title       %Text;         #IMPLIED
       
   668   name        NMTOKEN        #IMPLIED
       
   669   >
       
   670 
       
   671 <!ELEMENT area EMPTY>
       
   672 <!ATTLIST area
       
   673   %attrs;
       
   674   shape       %Shape;        "rect"
       
   675   coords      %Coords;       #IMPLIED
       
   676   href        %URI;          #IMPLIED
       
   677   nohref      (nohref)       #IMPLIED
       
   678   alt         %Text;         #REQUIRED
       
   679   tabindex    %Number;       #IMPLIED
       
   680   accesskey   %Character;    #IMPLIED
       
   681   onfocus     %Script;       #IMPLIED
       
   682   onblur      %Script;       #IMPLIED
       
   683   >
       
   684 
       
   685 <!--================ Forms ===============================================-->
       
   686 <!ELEMENT form %form.content;>   <!-- forms shouldn't be nested -->
       
   687 
       
   688 <!ATTLIST form
       
   689   %attrs;
       
   690   action      %URI;          #REQUIRED
       
   691   method      (get|post)     "get"
       
   692   enctype     %ContentType;  "application/x-www-form-urlencoded"
       
   693   onsubmit    %Script;       #IMPLIED
       
   694   onreset     %Script;       #IMPLIED
       
   695   accept      %ContentTypes; #IMPLIED
       
   696   accept-charset %Charsets;  #IMPLIED
       
   697   >
       
   698 
       
   699 <!--
       
   700   Each label must not contain more than ONE field
       
   701   Label elements shouldn't be nested.
       
   702 -->
       
   703 <!ELEMENT label %Inline;>
       
   704 <!ATTLIST label
       
   705   %attrs;
       
   706   for         IDREF          #IMPLIED
       
   707   accesskey   %Character;    #IMPLIED
       
   708   onfocus     %Script;       #IMPLIED
       
   709   onblur      %Script;       #IMPLIED
       
   710   >
       
   711 
       
   712 <!ENTITY % InputType
       
   713   "(text | password | checkbox |
       
   714     radio | submit | reset |
       
   715     file | hidden | image | button)"
       
   716    >
       
   717 
       
   718 <!-- the name attribute is required for all but submit & reset -->
       
   719 
       
   720 <!ELEMENT input EMPTY>     <!-- form control -->
       
   721 <!ATTLIST input
       
   722   %attrs;
       
   723   type        %InputType;    "text"
       
   724   name        CDATA          #IMPLIED
       
   725   value       CDATA          #IMPLIED
       
   726   checked     (checked)      #IMPLIED
       
   727   disabled    (disabled)     #IMPLIED
       
   728   readonly    (readonly)     #IMPLIED
       
   729   size        CDATA          #IMPLIED
       
   730   maxlength   %Number;       #IMPLIED
       
   731   src         %URI;          #IMPLIED
       
   732   alt         CDATA          #IMPLIED
       
   733   usemap      %URI;          #IMPLIED
       
   734   tabindex    %Number;       #IMPLIED
       
   735   accesskey   %Character;    #IMPLIED
       
   736   onfocus     %Script;       #IMPLIED
       
   737   onblur      %Script;       #IMPLIED
       
   738   onselect    %Script;       #IMPLIED
       
   739   onchange    %Script;       #IMPLIED
       
   740   accept      %ContentTypes; #IMPLIED
       
   741   >
       
   742 
       
   743 <!ELEMENT select (optgroup|option)+>  <!-- option selector -->
       
   744 <!ATTLIST select
       
   745   %attrs;
       
   746   name        CDATA          #IMPLIED
       
   747   size        %Number;       #IMPLIED
       
   748   multiple    (multiple)     #IMPLIED
       
   749   disabled    (disabled)     #IMPLIED
       
   750   tabindex    %Number;       #IMPLIED
       
   751   onfocus     %Script;       #IMPLIED
       
   752   onblur      %Script;       #IMPLIED
       
   753   onchange    %Script;       #IMPLIED
       
   754   >
       
   755 
       
   756 <!ELEMENT optgroup (option)+>   <!-- option group -->
       
   757 <!ATTLIST optgroup
       
   758   %attrs;
       
   759   disabled    (disabled)     #IMPLIED
       
   760   label       %Text;         #REQUIRED
       
   761   >
       
   762 
       
   763 <!ELEMENT option (#PCDATA)>     <!-- selectable choice -->
       
   764 <!ATTLIST option
       
   765   %attrs;
       
   766   selected    (selected)     #IMPLIED
       
   767   disabled    (disabled)     #IMPLIED
       
   768   label       %Text;         #IMPLIED
       
   769   value       CDATA          #IMPLIED
       
   770   >
       
   771 
       
   772 <!ELEMENT textarea (#PCDATA)>     <!-- multi-line text field -->
       
   773 <!ATTLIST textarea
       
   774   %attrs;
       
   775   name        CDATA          #IMPLIED
       
   776   rows        %Number;       #REQUIRED
       
   777   cols        %Number;       #REQUIRED
       
   778   disabled    (disabled)     #IMPLIED
       
   779   readonly    (readonly)     #IMPLIED
       
   780   tabindex    %Number;       #IMPLIED
       
   781   accesskey   %Character;    #IMPLIED
       
   782   onfocus     %Script;       #IMPLIED
       
   783   onblur      %Script;       #IMPLIED
       
   784   onselect    %Script;       #IMPLIED
       
   785   onchange    %Script;       #IMPLIED
       
   786   >
       
   787 
       
   788 <!--
       
   789   The fieldset element is used to group form fields.
       
   790   Only one legend element should occur in the content
       
   791   and if present should only be preceded by whitespace.
       
   792 -->
       
   793 <!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
       
   794 <!ATTLIST fieldset
       
   795   %attrs;
       
   796   >
       
   797 
       
   798 <!ELEMENT legend %Inline;>     <!-- fieldset label -->
       
   799 <!ATTLIST legend
       
   800   %attrs;
       
   801   accesskey   %Character;    #IMPLIED
       
   802   >
       
   803 
       
   804 <!--
       
   805  Content is %Flow; excluding a, form and form controls
       
   806 --> 
       
   807 <!ELEMENT button %button.content;>  <!-- push button -->
       
   808 <!ATTLIST button
       
   809   %attrs;
       
   810   name        CDATA          #IMPLIED
       
   811   value       CDATA          #IMPLIED
       
   812   type        (button|submit|reset) "submit"
       
   813   disabled    (disabled)     #IMPLIED
       
   814   tabindex    %Number;       #IMPLIED
       
   815   accesskey   %Character;    #IMPLIED
       
   816   onfocus     %Script;       #IMPLIED
       
   817   onblur      %Script;       #IMPLIED
       
   818   >
       
   819 
       
   820 <!--======================= Tables =======================================-->
       
   821 
       
   822 <!-- Derived from IETF HTML table standard, see [RFC1942] -->
       
   823 
       
   824 <!--
       
   825  The border attribute sets the thickness of the frame around the
       
   826  table. The default units are screen pixels.
       
   827 
       
   828  The frame attribute specifies which parts of the frame around
       
   829  the table should be rendered. The values are not the same as
       
   830  CALS to avoid a name clash with the valign attribute.
       
   831 -->
       
   832 <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
       
   833 
       
   834 <!--
       
   835  The rules attribute defines which rules to draw between cells:
       
   836 
       
   837  If rules is absent then assume:
       
   838      "none" if border is absent or border="0" otherwise "all"
       
   839 -->
       
   840 
       
   841 <!ENTITY % TRules "(none | groups | rows | cols | all)">
       
   842   
       
   843 <!-- horizontal placement of table relative to document -->
       
   844 <!ENTITY % TAlign "(left|center|right)">
       
   845 
       
   846 <!-- horizontal alignment attributes for cell contents
       
   847 
       
   848   char        alignment char, e.g. char=':'
       
   849   charoff     offset for alignment char
       
   850 -->
       
   851 <!ENTITY % cellhalign
       
   852   "align      (left|center|right|justify|char) #IMPLIED
       
   853    char       %Character;    #IMPLIED
       
   854    charoff    %Length;       #IMPLIED"
       
   855   >
       
   856 
       
   857 <!-- vertical alignment attributes for cell contents -->
       
   858 <!ENTITY % cellvalign
       
   859   "valign     (top|middle|bottom|baseline) #IMPLIED"
       
   860   >
       
   861 
       
   862 <!ELEMENT table
       
   863      (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
       
   864 <!ELEMENT caption  %Inline;>
       
   865 <!ELEMENT thead    (tr)+>
       
   866 <!ELEMENT tfoot    (tr)+>
       
   867 <!ELEMENT tbody    (tr)+>
       
   868 <!ELEMENT colgroup (col)*>
       
   869 <!ELEMENT col      EMPTY>
       
   870 <!ELEMENT tr       (th|td)+>
       
   871 <!ELEMENT th       %Flow;>
       
   872 <!ELEMENT td       %Flow;>
       
   873 
       
   874 <!ATTLIST table
       
   875   %attrs;
       
   876   summary     %Text;         #IMPLIED
       
   877   width       %Length;       #IMPLIED
       
   878   border      %Pixels;       #IMPLIED
       
   879   frame       %TFrame;       #IMPLIED
       
   880   rules       %TRules;       #IMPLIED
       
   881   cellspacing %Length;       #IMPLIED
       
   882   cellpadding %Length;       #IMPLIED
       
   883   >
       
   884 
       
   885 <!ENTITY % CAlign "(top|bottom|left|right)">
       
   886 
       
   887 <!ATTLIST caption
       
   888   %attrs;
       
   889   >
       
   890 
       
   891 <!--
       
   892 colgroup groups a set of col elements. It allows you to group
       
   893 several semantically related columns together.
       
   894 -->
       
   895 <!ATTLIST colgroup
       
   896   %attrs;
       
   897   span        %Number;       "1"
       
   898   width       %MultiLength;  #IMPLIED
       
   899   %cellhalign;
       
   900   %cellvalign;
       
   901   >
       
   902 
       
   903 <!--
       
   904  col elements define the alignment properties for cells in
       
   905  one or more columns.
       
   906 
       
   907  The width attribute specifies the width of the columns, e.g.
       
   908 
       
   909      width=64        width in screen pixels
       
   910      width=0.5*      relative width of 0.5
       
   911 
       
   912  The span attribute causes the attributes of one
       
   913  col element to apply to more than one column.
       
   914 -->
       
   915 <!ATTLIST col
       
   916   %attrs;
       
   917   span        %Number;       "1"
       
   918   width       %MultiLength;  #IMPLIED
       
   919   %cellhalign;
       
   920   %cellvalign;
       
   921   >
       
   922 
       
   923 <!--
       
   924     Use thead to duplicate headers when breaking table
       
   925     across page boundaries, or for static headers when
       
   926     tbody sections are rendered in scrolling panel.
       
   927 
       
   928     Use tfoot to duplicate footers when breaking table
       
   929     across page boundaries, or for static footers when
       
   930     tbody sections are rendered in scrolling panel.
       
   931 
       
   932     Use multiple tbody sections when rules are needed
       
   933     between groups of table rows.
       
   934 -->
       
   935 <!ATTLIST thead
       
   936   %attrs;
       
   937   %cellhalign;
       
   938   %cellvalign;
       
   939   >
       
   940 
       
   941 <!ATTLIST tfoot
       
   942   %attrs;
       
   943   %cellhalign;
       
   944   %cellvalign;
       
   945   >
       
   946 
       
   947 <!ATTLIST tbody
       
   948   %attrs;
       
   949   %cellhalign;
       
   950   %cellvalign;
       
   951   >
       
   952 
       
   953 <!ATTLIST tr
       
   954   %attrs;
       
   955   %cellhalign;
       
   956   %cellvalign;
       
   957   >
       
   958 
       
   959 
       
   960 <!-- Scope is simpler than headers attribute for common tables -->
       
   961 <!ENTITY % Scope "(row|col|rowgroup|colgroup)">
       
   962 
       
   963 <!-- th is for headers, td for data and for cells acting as both -->
       
   964 
       
   965 <!ATTLIST th
       
   966   %attrs;
       
   967   abbr        %Text;         #IMPLIED
       
   968   axis        CDATA          #IMPLIED
       
   969   headers     IDREFS         #IMPLIED
       
   970   scope       %Scope;        #IMPLIED
       
   971   rowspan     %Number;       "1"
       
   972   colspan     %Number;       "1"
       
   973   %cellhalign;
       
   974   %cellvalign;
       
   975   >
       
   976 
       
   977 <!ATTLIST td
       
   978   %attrs;
       
   979   abbr        %Text;         #IMPLIED
       
   980   axis        CDATA          #IMPLIED
       
   981   headers     IDREFS         #IMPLIED
       
   982   scope       %Scope;        #IMPLIED
       
   983   rowspan     %Number;       "1"
       
   984   colspan     %Number;       "1"
       
   985   %cellhalign;
       
   986   %cellvalign;
       
   987   >
       
   988