| <!-- |
| Extensible HTML version 1.0 Strict DTD |
| |
| This is the same as HTML 4 Strict except for |
| changes due to the differences between XML and SGML. |
| |
| Namespace = http://www.w3.org/1999/xhtml |
| |
| For further information, see: http://www.w3.org/TR/xhtml1 |
| |
| Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio), |
| All Rights Reserved. |
| |
| This DTD module is identified by the PUBLIC and SYSTEM identifiers: |
| |
| PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" |
| SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" |
| |
| $Revision: 10626 $ |
| $Date: 2005-09-26 15:45:26 -0700 (Mon, 26 Sep 2005) $ |
| |
| --> |
| |
| <!--================ Character mnemonic entities =========================--> |
| |
| <!ENTITY % HTMLlat1 PUBLIC |
| "-//W3C//ENTITIES Latin 1 for XHTML//EN" |
| "xhtml-lat1.ent"> |
| %HTMLlat1; |
| |
| <!ENTITY % HTMLsymbol PUBLIC |
| "-//W3C//ENTITIES Symbols for XHTML//EN" |
| "xhtml-symbol.ent"> |
| %HTMLsymbol; |
| |
| <!ENTITY % HTMLspecial PUBLIC |
| "-//W3C//ENTITIES Special for XHTML//EN" |
| "xhtml-special.ent"> |
| %HTMLspecial; |
| |
| <!--================== Imported Names ====================================--> |
| |
| <!ENTITY % ContentType "CDATA"> |
| <!-- media type, as per [RFC2045] --> |
| |
| <!ENTITY % ContentTypes "CDATA"> |
| <!-- comma-separated list of media types, as per [RFC2045] --> |
| |
| <!ENTITY % Charset "CDATA"> |
| <!-- a character encoding, as per [RFC2045] --> |
| |
| <!ENTITY % Charsets "CDATA"> |
| <!-- a space separated list of character encodings, as per [RFC2045] --> |
| |
| <!ENTITY % LanguageCode "NMTOKEN"> |
| <!-- a language code, as per [RFC3066] --> |
| |
| <!ENTITY % Character "CDATA"> |
| <!-- a single character, as per section 2.2 of [XML] --> |
| |
| <!ENTITY % Number "CDATA"> |
| <!-- one or more digits --> |
| |
| <!ENTITY % LinkTypes "CDATA"> |
| <!-- space-separated list of link types --> |
| |
| <!ENTITY % MediaDesc "CDATA"> |
| <!-- single or comma-separated list of media descriptors --> |
| |
| <!ENTITY % URI "CDATA"> |
| <!-- a Uniform Resource Identifier, see [RFC2396] --> |
| |
| <!ENTITY % UriList "CDATA"> |
| <!-- a space separated list of Uniform Resource Identifiers --> |
| |
| <!ENTITY % Datetime "CDATA"> |
| <!-- date and time information. ISO date format --> |
| |
| <!ENTITY % Script "CDATA"> |
| <!-- script expression --> |
| |
| <!ENTITY % StyleSheet "CDATA"> |
| <!-- style sheet data --> |
| |
| <!ENTITY % Text "CDATA"> |
| <!-- used for titles etc. --> |
| |
| <!ENTITY % Length "CDATA"> |
| <!-- nn for pixels or nn% for percentage length --> |
| |
| <!ENTITY % MultiLength "CDATA"> |
| <!-- pixel, percentage, or relative --> |
| |
| <!ENTITY % Pixels "CDATA"> |
| <!-- integer representing length in pixels --> |
| |
| <!-- these are used for image maps --> |
| |
| <!ENTITY % Shape "(rect|circle|poly|default)"> |
| |
| <!ENTITY % Coords "CDATA"> |
| <!-- comma separated list of lengths --> |
| |
| <!--=================== Generic Attributes ===============================--> |
| |
| <!-- core attributes common to most elements |
| id document-wide unique id |
| class space separated list of classes |
| style associated style info |
| title advisory title/amplification |
| --> |
| <!ENTITY % coreattrs |
| "id ID #IMPLIED |
| class CDATA #IMPLIED |
| style %StyleSheet; #IMPLIED |
| title %Text; #IMPLIED" |
| > |
| |
| <!-- internationalization attributes |
| lang language code (backwards compatible) |
| xml:lang language code (as per XML 1.0 spec) |
| dir direction for weak/neutral text |
| --> |
| <!ENTITY % i18n |
| "lang %LanguageCode; #IMPLIED |
| xml:lang %LanguageCode; #IMPLIED |
| dir (ltr|rtl) #IMPLIED" |
| > |
| |
| <!-- attributes for common UI events |
| onclick a pointer button was clicked |
| ondblclick a pointer button was double clicked |
| onmousedown a pointer button was pressed down |
| onmouseup a pointer button was released |
| onmousemove a pointer was moved onto the element |
| onmouseout a pointer was moved away from the element |
| onkeypress a key was pressed and released |
| onkeydown a key was pressed down |
| onkeyup a key was released |
| --> |
| <!ENTITY % events |
| "onclick %Script; #IMPLIED |
| ondblclick %Script; #IMPLIED |
| onmousedown %Script; #IMPLIED |
| onmouseup %Script; #IMPLIED |
| onmouseover %Script; #IMPLIED |
| onmousemove %Script; #IMPLIED |
| onmouseout %Script; #IMPLIED |
| onkeypress %Script; #IMPLIED |
| onkeydown %Script; #IMPLIED |
| onkeyup %Script; #IMPLIED" |
| > |
| |
| <!-- attributes for elements that can get the focus |
| accesskey accessibility key character |
| tabindex position in tabbing order |
| onfocus the element got the focus |
| onblur the element lost the focus |
| --> |
| <!ENTITY % focus |
| "accesskey %Character; #IMPLIED |
| tabindex %Number; #IMPLIED |
| onfocus %Script; #IMPLIED |
| onblur %Script; #IMPLIED" |
| > |
| |
| <!ENTITY % attrs "%coreattrs; %i18n; %events;"> |
| |
| <!--=================== Text Elements ====================================--> |
| |
| <!ENTITY % special.pre |
| "br | span | bdo | map"> |
| |
| |
| <!ENTITY % special |
| "%special.pre; | object | img "> |
| |
| <!ENTITY % fontstyle "tt | i | b | big | small "> |
| |
| <!ENTITY % phrase "em | strong | dfn | code | q | |
| samp | kbd | var | cite | abbr | acronym | sub | sup "> |
| |
| <!ENTITY % inline.forms "input | select | textarea | label | button"> |
| |
| <!-- these can occur at block or inline level --> |
| <!ENTITY % misc.inline "ins | del | script"> |
| |
| <!-- these can only occur at block level --> |
| <!ENTITY % misc "noscript | %misc.inline;"> |
| |
| <!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;"> |
| |
| <!-- %Inline; covers inline or "text-level" elements --> |
| <!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*"> |
| |
| <!--================== Block level elements ==============================--> |
| |
| <!ENTITY % heading "h1|h2|h3|h4|h5|h6"> |
| <!ENTITY % lists "ul | ol | dl"> |
| <!ENTITY % blocktext "pre | hr | blockquote | address"> |
| |
| <!ENTITY % block |
| "p | %heading; | div | %lists; | %blocktext; | fieldset | table"> |
| |
| <!ENTITY % Block "(%block; | form | %misc;)*"> |
| |
| <!-- %Flow; mixes block and inline and is used for list items etc. --> |
| <!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*"> |
| |
| <!--================== Content models for exclusions =====================--> |
| |
| <!-- a elements use %Inline; excluding a --> |
| |
| <!ENTITY % a.content |
| "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*"> |
| |
| <!-- pre uses %Inline excluding big, small, sup or sup --> |
| |
| <!ENTITY % pre.content |
| "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline; |
| | %inline.forms;)*"> |
| |
| <!-- form uses %Block; excluding form --> |
| |
| <!ENTITY % form.content "(%block; | %misc;)*"> |
| |
| <!-- button uses %Flow; but excludes a, form and form controls --> |
| |
| <!ENTITY % button.content |
| "(#PCDATA | p | %heading; | div | %lists; | %blocktext; | |
| table | %special; | %fontstyle; | %phrase; | %misc;)*"> |
| |
| <!--================ Document Structure ==================================--> |
| |
| <!-- the namespace URI designates the document profile --> |
| |
| <!ELEMENT html (head, body)> |
| <!ATTLIST html |
| %i18n; |
| id ID #IMPLIED |
| xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml' |
| > |
| |
| <!--================ Document Head =======================================--> |
| |
| <!ENTITY % head.misc "(script|style|meta|link|object)*"> |
| |
| <!-- content model is %head.misc; combined with a single |
| title and an optional base element in any order --> |
| |
| <!ELEMENT head (%head.misc;, |
| ((title, %head.misc;, (base, %head.misc;)?) | |
| (base, %head.misc;, (title, %head.misc;))))> |
| |
| <!ATTLIST head |
| %i18n; |
| id ID #IMPLIED |
| profile %URI; #IMPLIED |
| > |
| |
| <!-- The title element is not considered part of the flow of text. |
| It should be displayed, for example as the page header or |
| window title. Exactly one title is required per document. |
| --> |
| <!ELEMENT title (#PCDATA)> |
| <!ATTLIST title |
| %i18n; |
| id ID #IMPLIED |
| > |
| |
| <!-- document base URI --> |
| |
| <!ELEMENT base EMPTY> |
| <!ATTLIST base |
| href %URI; #REQUIRED |
| id ID #IMPLIED |
| > |
| |
| <!-- generic metainformation --> |
| <!ELEMENT meta EMPTY> |
| <!ATTLIST meta |
| %i18n; |
| id ID #IMPLIED |
| http-equiv CDATA #IMPLIED |
| name CDATA #IMPLIED |
| content CDATA #REQUIRED |
| scheme CDATA #IMPLIED |
| > |
| |
| <!-- |
| Relationship values can be used in principle: |
| |
| a) for document specific toolbars/menus when used |
| with the link element in document head e.g. |
| start, contents, previous, next, index, end, help |
| b) to link to a separate style sheet (rel="stylesheet") |
| c) to make a link to a script (rel="script") |
| d) by stylesheets to control how collections of |
| html nodes are rendered into printed documents |
| e) to make a link to a printable version of this document |
| e.g. a PostScript or PDF version (rel="alternate" media="print") |
| --> |
| |
| <!ELEMENT link EMPTY> |
| <!ATTLIST link |
| %attrs; |
| charset %Charset; #IMPLIED |
| href %URI; #IMPLIED |
| hreflang %LanguageCode; #IMPLIED |
| type %ContentType; #IMPLIED |
| rel %LinkTypes; #IMPLIED |
| rev %LinkTypes; #IMPLIED |
| media %MediaDesc; #IMPLIED |
| > |
| |
| <!-- style info, which may include CDATA sections --> |
| <!ELEMENT style (#PCDATA)> |
| <!ATTLIST style |
| %i18n; |
| id ID #IMPLIED |
| type %ContentType; #REQUIRED |
| media %MediaDesc; #IMPLIED |
| title %Text; #IMPLIED |
| xml:space (preserve) #FIXED 'preserve' |
| > |
| |
| <!-- script statements, which may include CDATA sections --> |
| <!ELEMENT script (#PCDATA)> |
| <!ATTLIST script |
| id ID #IMPLIED |
| charset %Charset; #IMPLIED |
| type %ContentType; #REQUIRED |
| src %URI; #IMPLIED |
| defer (defer) #IMPLIED |
| xml:space (preserve) #FIXED 'preserve' |
| > |
| |
| <!-- alternate content container for non script-based rendering --> |
| |
| <!ELEMENT noscript %Block;> |
| <!ATTLIST noscript |
| %attrs; |
| > |
| |
| <!--=================== Document Body ====================================--> |
| |
| <!ELEMENT body %Block;> |
| <!ATTLIST body |
| %attrs; |
| onload %Script; #IMPLIED |
| onunload %Script; #IMPLIED |
| > |
| |
| <!ELEMENT div %Flow;> <!-- generic language/style container --> |
| <!ATTLIST div |
| %attrs; |
| > |
| |
| <!--=================== Paragraphs =======================================--> |
| |
| <!ELEMENT p %Inline;> |
| <!ATTLIST p |
| %attrs; |
| > |
| |
| <!--=================== Headings =========================================--> |
| |
| <!-- |
| There are six levels of headings from h1 (the most important) |
| to h6 (the least important). |
| --> |
| |
| <!ELEMENT h1 %Inline;> |
| <!ATTLIST h1 |
| %attrs; |
| > |
| |
| <!ELEMENT h2 %Inline;> |
| <!ATTLIST h2 |
| %attrs; |
| > |
| |
| <!ELEMENT h3 %Inline;> |
| <!ATTLIST h3 |
| %attrs; |
| > |
| |
| <!ELEMENT h4 %Inline;> |
| <!ATTLIST h4 |
| %attrs; |
| > |
| |
| <!ELEMENT h5 %Inline;> |
| <!ATTLIST h5 |
| %attrs; |
| > |
| |
| <!ELEMENT h6 %Inline;> |
| <!ATTLIST h6 |
| %attrs; |
| > |
| |
| <!--=================== Lists ============================================--> |
| |
| <!-- Unordered list --> |
| |
| <!ELEMENT ul (li)+> |
| <!ATTLIST ul |
| %attrs; |
| > |
| |
| <!-- Ordered (numbered) list --> |
| |
| <!ELEMENT ol (li)+> |
| <!ATTLIST ol |
| %attrs; |
| > |
| |
| <!-- list item --> |
| |
| <!ELEMENT li %Flow;> |
| <!ATTLIST li |
| %attrs; |
| > |
| |
| <!-- definition lists - dt for term, dd for its definition --> |
| |
| <!ELEMENT dl (dt|dd)+> |
| <!ATTLIST dl |
| %attrs; |
| > |
| |
| <!ELEMENT dt %Inline;> |
| <!ATTLIST dt |
| %attrs; |
| > |
| |
| <!ELEMENT dd %Flow;> |
| <!ATTLIST dd |
| %attrs; |
| > |
| |
| <!--=================== Address ==========================================--> |
| |
| <!-- information on author --> |
| |
| <!ELEMENT address %Inline;> |
| <!ATTLIST address |
| %attrs; |
| > |
| |
| <!--=================== Horizontal Rule ==================================--> |
| |
| <!ELEMENT hr EMPTY> |
| <!ATTLIST hr |
| %attrs; |
| > |
| |
| <!--=================== Preformatted Text ================================--> |
| |
| <!-- content is %Inline; excluding "img|object|big|small|sub|sup" --> |
| |
| <!ELEMENT pre %pre.content;> |
| <!ATTLIST pre |
| %attrs; |
| xml:space (preserve) #FIXED 'preserve' |
| > |
| |
| <!--=================== Block-like Quotes ================================--> |
| |
| <!ELEMENT blockquote %Block;> |
| <!ATTLIST blockquote |
| %attrs; |
| cite %URI; #IMPLIED |
| > |
| |
| <!--=================== Inserted/Deleted Text ============================--> |
| |
| <!-- |
| ins/del are allowed in block and inline content, but its |
| inappropriate to include block content within an ins element |
| occurring in inline content. |
| --> |
| <!ELEMENT ins %Flow;> |
| <!ATTLIST ins |
| %attrs; |
| cite %URI; #IMPLIED |
| datetime %Datetime; #IMPLIED |
| > |
| |
| <!ELEMENT del %Flow;> |
| <!ATTLIST del |
| %attrs; |
| cite %URI; #IMPLIED |
| datetime %Datetime; #IMPLIED |
| > |
| |
| <!--================== The Anchor Element ================================--> |
| |
| <!-- content is %Inline; except that anchors shouldn't be nested --> |
| |
| <!ELEMENT a %a.content;> |
| <!ATTLIST a |
| %attrs; |
| %focus; |
| charset %Charset; #IMPLIED |
| type %ContentType; #IMPLIED |
| name NMTOKEN #IMPLIED |
| href %URI; #IMPLIED |
| hreflang %LanguageCode; #IMPLIED |
| rel %LinkTypes; #IMPLIED |
| rev %LinkTypes; #IMPLIED |
| shape %Shape; "rect" |
| coords %Coords; #IMPLIED |
| > |
| |
| <!--===================== Inline Elements ================================--> |
| |
| <!ELEMENT span %Inline;> <!-- generic language/style container --> |
| <!ATTLIST span |
| %attrs; |
| > |
| |
| <!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride --> |
| <!ATTLIST bdo |
| %coreattrs; |
| %events; |
| lang %LanguageCode; #IMPLIED |
| xml:lang %LanguageCode; #IMPLIED |
| dir (ltr|rtl) #REQUIRED |
| > |
| |
| <!ELEMENT br EMPTY> <!-- forced line break --> |
| <!ATTLIST br |
| %coreattrs; |
| > |
| |
| <!ELEMENT em %Inline;> <!-- emphasis --> |
| <!ATTLIST em %attrs;> |
| |
| <!ELEMENT strong %Inline;> <!-- strong emphasis --> |
| <!ATTLIST strong %attrs;> |
| |
| <!ELEMENT dfn %Inline;> <!-- definitional --> |
| <!ATTLIST dfn %attrs;> |
| |
| <!ELEMENT code %Inline;> <!-- program code --> |
| <!ATTLIST code %attrs;> |
| |
| <!ELEMENT samp %Inline;> <!-- sample --> |
| <!ATTLIST samp %attrs;> |
| |
| <!ELEMENT kbd %Inline;> <!-- something user would type --> |
| <!ATTLIST kbd %attrs;> |
| |
| <!ELEMENT var %Inline;> <!-- variable --> |
| <!ATTLIST var %attrs;> |
| |
| <!ELEMENT cite %Inline;> <!-- citation --> |
| <!ATTLIST cite %attrs;> |
| |
| <!ELEMENT abbr %Inline;> <!-- abbreviation --> |
| <!ATTLIST abbr %attrs;> |
| |
| <!ELEMENT acronym %Inline;> <!-- acronym --> |
| <!ATTLIST acronym %attrs;> |
| |
| <!ELEMENT q %Inline;> <!-- inlined quote --> |
| <!ATTLIST q |
| %attrs; |
| cite %URI; #IMPLIED |
| > |
| |
| <!ELEMENT sub %Inline;> <!-- subscript --> |
| <!ATTLIST sub %attrs;> |
| |
| <!ELEMENT sup %Inline;> <!-- superscript --> |
| <!ATTLIST sup %attrs;> |
| |
| <!ELEMENT tt %Inline;> <!-- fixed pitch font --> |
| <!ATTLIST tt %attrs;> |
| |
| <!ELEMENT i %Inline;> <!-- italic font --> |
| <!ATTLIST i %attrs;> |
| |
| <!ELEMENT b %Inline;> <!-- bold font --> |
| <!ATTLIST b %attrs;> |
| |
| <!ELEMENT big %Inline;> <!-- bigger font --> |
| <!ATTLIST big %attrs;> |
| |
| <!ELEMENT small %Inline;> <!-- smaller font --> |
| <!ATTLIST small %attrs;> |
| |
| <!--==================== Object ======================================--> |
| <!-- |
| object is used to embed objects as part of HTML pages. |
| param elements should precede other content. Parameters |
| can also be expressed as attribute/value pairs on the |
| object element itself when brevity is desired. |
| --> |
| |
| <!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*> |
| <!ATTLIST object |
| %attrs; |
| declare (declare) #IMPLIED |
| classid %URI; #IMPLIED |
| codebase %URI; #IMPLIED |
| data %URI; #IMPLIED |
| type %ContentType; #IMPLIED |
| codetype %ContentType; #IMPLIED |
| archive %UriList; #IMPLIED |
| standby %Text; #IMPLIED |
| height %Length; #IMPLIED |
| width %Length; #IMPLIED |
| usemap %URI; #IMPLIED |
| name NMTOKEN #IMPLIED |
| tabindex %Number; #IMPLIED |
| > |
| |
| <!-- |
| param is used to supply a named property value. |
| In XML it would seem natural to follow RDF and support an |
| abbreviated syntax where the param elements are replaced |
| by attribute value pairs on the object start tag. |
| --> |
| <!ELEMENT param EMPTY> |
| <!ATTLIST param |
| id ID #IMPLIED |
| name CDATA #IMPLIED |
| value CDATA #IMPLIED |
| valuetype (data|ref|object) "data" |
| type %ContentType; #IMPLIED |
| > |
| |
| <!--=================== Images ===========================================--> |
| |
| <!-- |
| To avoid accessibility problems for people who aren't |
| able to see the image, you should provide a text |
| description using the alt and longdesc attributes. |
| In addition, avoid the use of server-side image maps. |
| Note that in this DTD there is no name attribute. That |
| is only available in the transitional and frameset DTD. |
| --> |
| |
| <!ELEMENT img EMPTY> |
| <!ATTLIST img |
| %attrs; |
| src %URI; #REQUIRED |
| alt %Text; #REQUIRED |
| longdesc %URI; #IMPLIED |
| height %Length; #IMPLIED |
| width %Length; #IMPLIED |
| usemap %URI; #IMPLIED |
| ismap (ismap) #IMPLIED |
| > |
| |
| <!-- usemap points to a map element which may be in this document |
| or an external document, although the latter is not widely supported --> |
| |
| <!--================== Client-side image maps ============================--> |
| |
| <!-- These can be placed in the same document or grouped in a |
| separate document although this isn't yet widely supported --> |
| |
| <!ELEMENT map ((%block; | form | %misc;)+ | area+)> |
| <!ATTLIST map |
| %i18n; |
| %events; |
| id ID #REQUIRED |
| class CDATA #IMPLIED |
| style %StyleSheet; #IMPLIED |
| title %Text; #IMPLIED |
| name NMTOKEN #IMPLIED |
| > |
| |
| <!ELEMENT area EMPTY> |
| <!ATTLIST area |
| %attrs; |
| %focus; |
| shape %Shape; "rect" |
| coords %Coords; #IMPLIED |
| href %URI; #IMPLIED |
| nohref (nohref) #IMPLIED |
| alt %Text; #REQUIRED |
| > |
| |
| <!--================ Forms ===============================================--> |
| <!ELEMENT form %form.content;> <!-- forms shouldn't be nested --> |
| |
| <!ATTLIST form |
| %attrs; |
| action %URI; #REQUIRED |
| method (get|post) "get" |
| enctype %ContentType; "application/x-www-form-urlencoded" |
| onsubmit %Script; #IMPLIED |
| onreset %Script; #IMPLIED |
| accept %ContentTypes; #IMPLIED |
| accept-charset %Charsets; #IMPLIED |
| > |
| |
| <!-- |
| Each label must not contain more than ONE field |
| Label elements shouldn't be nested. |
| --> |
| <!ELEMENT label %Inline;> |
| <!ATTLIST label |
| %attrs; |
| for IDREF #IMPLIED |
| accesskey %Character; #IMPLIED |
| onfocus %Script; #IMPLIED |
| onblur %Script; #IMPLIED |
| > |
| |
| <!ENTITY % InputType |
| "(text | password | checkbox | |
| radio | submit | reset | |
| file | hidden | image | button)" |
| > |
| |
| <!-- the name attribute is required for all but submit & reset --> |
| |
| <!ELEMENT input EMPTY> <!-- form control --> |
| <!ATTLIST input |
| %attrs; |
| %focus; |
| type %InputType; "text" |
| name CDATA #IMPLIED |
| value CDATA #IMPLIED |
| checked (checked) #IMPLIED |
| disabled (disabled) #IMPLIED |
| readonly (readonly) #IMPLIED |
| size CDATA #IMPLIED |
| maxlength %Number; #IMPLIED |
| src %URI; #IMPLIED |
| alt CDATA #IMPLIED |
| usemap %URI; #IMPLIED |
| onselect %Script; #IMPLIED |
| onchange %Script; #IMPLIED |
| accept %ContentTypes; #IMPLIED |
| > |
| |
| <!ELEMENT select (optgroup|option)+> <!-- option selector --> |
| <!ATTLIST select |
| %attrs; |
| name CDATA #IMPLIED |
| size %Number; #IMPLIED |
| multiple (multiple) #IMPLIED |
| disabled (disabled) #IMPLIED |
| tabindex %Number; #IMPLIED |
| onfocus %Script; #IMPLIED |
| onblur %Script; #IMPLIED |
| onchange %Script; #IMPLIED |
| > |
| |
| <!ELEMENT optgroup (option)+> <!-- option group --> |
| <!ATTLIST optgroup |
| %attrs; |
| disabled (disabled) #IMPLIED |
| label %Text; #REQUIRED |
| > |
| |
| <!ELEMENT option (#PCDATA)> <!-- selectable choice --> |
| <!ATTLIST option |
| %attrs; |
| selected (selected) #IMPLIED |
| disabled (disabled) #IMPLIED |
| label %Text; #IMPLIED |
| value CDATA #IMPLIED |
| > |
| |
| <!ELEMENT textarea (#PCDATA)> <!-- multi-line text field --> |
| <!ATTLIST textarea |
| %attrs; |
| %focus; |
| name CDATA #IMPLIED |
| rows %Number; #REQUIRED |
| cols %Number; #REQUIRED |
| disabled (disabled) #IMPLIED |
| readonly (readonly) #IMPLIED |
| onselect %Script; #IMPLIED |
| onchange %Script; #IMPLIED |
| > |
| |
| <!-- |
| The fieldset element is used to group form fields. |
| Only one legend element should occur in the content |
| and if present should only be preceded by whitespace. |
| --> |
| <!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*> |
| <!ATTLIST fieldset |
| %attrs; |
| > |
| |
| <!ELEMENT legend %Inline;> <!-- fieldset label --> |
| <!ATTLIST legend |
| %attrs; |
| accesskey %Character; #IMPLIED |
| > |
| |
| <!-- |
| Content is %Flow; excluding a, form and form controls |
| --> |
| <!ELEMENT button %button.content;> <!-- push button --> |
| <!ATTLIST button |
| %attrs; |
| %focus; |
| name CDATA #IMPLIED |
| value CDATA #IMPLIED |
| type (button|submit|reset) "submit" |
| disabled (disabled) #IMPLIED |
| > |
| |
| <!--======================= Tables =======================================--> |
| |
| <!-- Derived from IETF HTML table standard, see [RFC1942] --> |
| |
| <!-- |
| The border attribute sets the thickness of the frame around the |
| table. The default units are screen pixels. |
| |
| The frame attribute specifies which parts of the frame around |
| the table should be rendered. The values are not the same as |
| CALS to avoid a name clash with the valign attribute. |
| --> |
| <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)"> |
| |
| <!-- |
| The rules attribute defines which rules to draw between cells: |
| |
| If rules is absent then assume: |
| "none" if border is absent or border="0" otherwise "all" |
| --> |
| |
| <!ENTITY % TRules "(none | groups | rows | cols | all)"> |
| |
| <!-- horizontal alignment attributes for cell contents |
| |
| char alignment char, e.g. char=':' |
| charoff offset for alignment char |
| --> |
| <!ENTITY % cellhalign |
| "align (left|center|right|justify|char) #IMPLIED |
| char %Character; #IMPLIED |
| charoff %Length; #IMPLIED" |
| > |
| |
| <!-- vertical alignment attributes for cell contents --> |
| <!ENTITY % cellvalign |
| "valign (top|middle|bottom|baseline) #IMPLIED" |
| > |
| |
| <!ELEMENT table |
| (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))> |
| <!ELEMENT caption %Inline;> |
| <!ELEMENT thead (tr)+> |
| <!ELEMENT tfoot (tr)+> |
| <!ELEMENT tbody (tr)+> |
| <!ELEMENT colgroup (col)*> |
| <!ELEMENT col EMPTY> |
| <!ELEMENT tr (th|td)+> |
| <!ELEMENT th %Flow;> |
| <!ELEMENT td %Flow;> |
| |
| <!ATTLIST table |
| %attrs; |
| summary %Text; #IMPLIED |
| width %Length; #IMPLIED |
| border %Pixels; #IMPLIED |
| frame %TFrame; #IMPLIED |
| rules %TRules; #IMPLIED |
| cellspacing %Length; #IMPLIED |
| cellpadding %Length; #IMPLIED |
| > |
| |
| <!ATTLIST caption |
| %attrs; |
| > |
| |
| <!-- |
| colgroup groups a set of col elements. It allows you to group |
| several semantically related columns together. |
| --> |
| <!ATTLIST colgroup |
| %attrs; |
| span %Number; "1" |
| width %MultiLength; #IMPLIED |
| %cellhalign; |
| %cellvalign; |
| > |
| |
| <!-- |
| col elements define the alignment properties for cells in |
| one or more columns. |
| |
| The width attribute specifies the width of the columns, e.g. |
| |
| width=64 width in screen pixels |
| width=0.5* relative width of 0.5 |
| |
| The span attribute causes the attributes of one |
| col element to apply to more than one column. |
| --> |
| <!ATTLIST col |
| %attrs; |
| span %Number; "1" |
| width %MultiLength; #IMPLIED |
| %cellhalign; |
| %cellvalign; |
| > |
| |
| <!-- |
| Use thead to duplicate headers when breaking table |
| across page boundaries, or for static headers when |
| tbody sections are rendered in scrolling panel. |
| |
| Use tfoot to duplicate footers when breaking table |
| across page boundaries, or for static footers when |
| tbody sections are rendered in scrolling panel. |
| |
| Use multiple tbody sections when rules are needed |
| between groups of table rows. |
| --> |
| <!ATTLIST thead |
| %attrs; |
| %cellhalign; |
| %cellvalign; |
| > |
| |
| <!ATTLIST tfoot |
| %attrs; |
| %cellhalign; |
| %cellvalign; |
| > |
| |
| <!ATTLIST tbody |
| %attrs; |
| %cellhalign; |
| %cellvalign; |
| > |
| |
| <!ATTLIST tr |
| %attrs; |
| %cellhalign; |
| %cellvalign; |
| > |
| |
| |
| <!-- Scope is simpler than headers attribute for common tables --> |
| <!ENTITY % Scope "(row|col|rowgroup|colgroup)"> |
| |
| <!-- th is for headers, td for data and for cells acting as both --> |
| |
| <!ATTLIST th |
| %attrs; |
| abbr %Text; #IMPLIED |
| axis CDATA #IMPLIED |
| headers IDREFS #IMPLIED |
| scope %Scope; #IMPLIED |
| rowspan %Number; "1" |
| colspan %Number; "1" |
| %cellhalign; |
| %cellvalign; |
| > |
| |
| <!ATTLIST td |
| %attrs; |
| abbr %Text; #IMPLIED |
| axis CDATA #IMPLIED |
| headers IDREFS #IMPLIED |
| scope %Scope; #IMPLIED |
| rowspan %Number; "1" |
| colspan %Number; "1" |
| %cellhalign; |
| %cellvalign; |
| > |
| |