home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2003 October / INTERNET108.ISO / pc / software / windows / building / xmlspy / xmlspyentcomplete5.exe / Data1.cab / _F90C6D83913B4FABB7CFC97345434CED < prev    next >
Encoding:
Text File  |  2002-08-20  |  25.8 KB  |  979 lines

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