xhtml1-strict.dtd
上传用户:shuxianled
上传日期:2007-01-18
资源大小:6404k
文件大小:26k
源码类别:

xml/soap/webservice

开发平台:

Others

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