1 <!ENTITY % result-elements "
5 <!ENTITY % char-instructions "
22 <!ENTITY % instructions "
24 | xsl:processing-instruction
30 <!ENTITY % char-template "
40 <!-- Used for the type of an attribute value that is a URI reference.-->
41 <!ENTITY % URI "CDATA">
43 <!-- Used for the type of an attribute value that is a pattern.-->
44 <!ENTITY % pattern "CDATA">
46 <!-- Used for the type of an attribute value that is an
47 attribute value template.-->
48 <!ENTITY % avt "CDATA">
50 <!-- Used for the type of an attribute value that is a QName; the prefix
51 gets expanded by the XSLT processor. -->
52 <!ENTITY % qname "NMTOKEN">
54 <!-- Like qname but a whitespace-separated list of QNames. -->
55 <!ENTITY % qnames "NMTOKENS">
57 <!-- Used for the type of an attribute value that is an expression.-->
58 <!ENTITY % expr "CDATA">
60 <!-- Used for the type of an attribute value that consists
61 of a single character.-->
62 <!ENTITY % char "CDATA">
64 <!-- Used for the type of an attribute value that is a priority. -->
65 <!ENTITY % priority "NMTOKEN">
67 <!ENTITY % space-att "xml:space (default|preserve) #IMPLIED">
69 <!-- This may be overridden to customize the set of elements allowed
72 <!ENTITY % non-xsl-top-level "">
73 <!ENTITY % top-level "
86 %non-xsl-top-level;)*)
89 <!ENTITY % top-level-atts '
90 extension-element-prefixes CDATA #IMPLIED
91 exclude-result-prefixes CDATA #IMPLIED
93 version NMTOKEN #REQUIRED
94 xmlns:xsl CDATA #FIXED "http://www.w3.org/1999/XSL/Transform"
98 <!-- This entity is defined for use in the ATTLIST declaration
99 for result elements. -->
101 <!ENTITY % result-element-atts '
102 xsl:extension-element-prefixes CDATA #IMPLIED
103 xsl:exclude-result-prefixes CDATA #IMPLIED
104 xsl:use-attribute-sets %qnames; #IMPLIED
105 xsl:version NMTOKEN #IMPLIED
108 <!ELEMENT xsl:stylesheet %top-level;>
109 <!ATTLIST xsl:stylesheet %top-level-atts;>
111 <!ELEMENT xsl:transform %top-level;>
112 <!ATTLIST xsl:transform %top-level-atts;>
114 <!ELEMENT xsl:import EMPTY>
115 <!ATTLIST xsl:import href %URI; #REQUIRED>
117 <!ELEMENT xsl:include EMPTY>
118 <!ATTLIST xsl:include href %URI; #REQUIRED>
120 <!ELEMENT xsl:strip-space EMPTY>
121 <!ATTLIST xsl:strip-space elements CDATA #REQUIRED>
123 <!ELEMENT xsl:preserve-space EMPTY>
124 <!ATTLIST xsl:preserve-space elements CDATA #REQUIRED>
125 <!ELEMENT xsl:output EMPTY>
127 method %qname; #IMPLIED
128 version NMTOKEN #IMPLIED
129 encoding CDATA #IMPLIED
130 omit-xml-declaration (yes|no) #IMPLIED
131 standalone (yes|no) #IMPLIED
132 doctype-public CDATA #IMPLIED
133 doctype-system CDATA #IMPLIED
134 cdata-section-elements %qnames; #IMPLIED
135 indent (yes|no) #IMPLIED
136 media-type CDATA #IMPLIED
139 <!ELEMENT xsl:key EMPTY>
141 name %qname; #REQUIRED
142 match %pattern; #REQUIRED
146 <!ELEMENT xsl:decimal-format EMPTY>
147 <!ATTLIST xsl:decimal-format
148 name %qname; #IMPLIED
149 decimal-separator %char; "."
150 grouping-separator %char; ","
151 infinity CDATA "Infinity"
152 minus-sign %char; "-"
155 per-mille %char; "‰"
156 zero-digit %char; "0"
158 pattern-separator %char; ";"
160 <!ELEMENT xsl:namespace-alias EMPTY>
161 <!ATTLIST xsl:namespace-alias
162 stylesheet-prefix CDATA #REQUIRED
163 result-prefix CDATA #REQUIRED
166 <!ELEMENT xsl:template
173 <!ATTLIST xsl:template
174 match %pattern; #IMPLIED
175 name %qname; #IMPLIED
176 priority %priority; #IMPLIED
177 mode %qname; #IMPLIED
181 <!ELEMENT xsl:value-of EMPTY>
182 <!ATTLIST xsl:value-of
183 select %expr; #REQUIRED
184 disable-output-escaping (yes|no) "no"
187 <!ELEMENT xsl:copy-of EMPTY>
188 <!ATTLIST xsl:copy-of select %expr; #REQUIRED>
189 <!ELEMENT xsl:number EMPTY>
191 level (single|multiple|any) "single"
192 count %pattern; #IMPLIED
193 from %pattern; #IMPLIED
194 value %expr; #IMPLIED
197 letter-value %avt; #IMPLIED
198 grouping-separator %avt; #IMPLIED
199 grouping-size %avt; #IMPLIED
202 <!ELEMENT xsl:apply-templates (xsl:sort|xsl:with-param)*>
203 <!ATTLIST xsl:apply-templates
204 select %expr; "node()"
205 mode %qname; #IMPLIED
208 <!ELEMENT xsl:apply-imports EMPTY>
210 <!-- xsl:sort cannot occur after any other elements or
211 any non-whitespace character -->
213 <!ELEMENT xsl:for-each
219 <!ATTLIST xsl:for-each
220 select %expr; #REQUIRED
224 <!ELEMENT xsl:sort EMPTY>
228 data-type %avt; "text"
229 order %avt; "ascending"
230 case-order %avt; #IMPLIED
233 <!ELEMENT xsl:if %template;>
235 test %expr; #REQUIRED
239 <!ELEMENT xsl:choose (xsl:when+, xsl:otherwise?)>
240 <!ATTLIST xsl:choose %space-att;>
242 <!ELEMENT xsl:when %template;>
244 test %expr; #REQUIRED
248 <!ELEMENT xsl:otherwise %template;>
249 <!ATTLIST xsl:otherwise %space-att;>
250 <!ELEMENT xsl:attribute-set (xsl:attribute)*>
251 <!ATTLIST xsl:attribute-set
252 name %qname; #REQUIRED
253 use-attribute-sets %qnames; #IMPLIED
256 <!ELEMENT xsl:call-template (xsl:with-param)*>
257 <!ATTLIST xsl:call-template
258 name %qname; #REQUIRED
261 <!ELEMENT xsl:with-param %template;>
262 <!ATTLIST xsl:with-param
263 name %qname; #REQUIRED
264 select %expr; #IMPLIED
267 <!ELEMENT xsl:variable %template;>
268 <!ATTLIST xsl:variable
269 name %qname; #REQUIRED
270 select %expr; #IMPLIED
273 <!ELEMENT xsl:param %template;>
275 name %qname; #REQUIRED
276 select %expr; #IMPLIED
279 <!ELEMENT xsl:text (#PCDATA)>
281 disable-output-escaping (yes|no) "no"
283 <!ELEMENT xsl:processing-instruction %char-template;>
284 <!ATTLIST xsl:processing-instruction
289 <!ELEMENT xsl:element %template;>
290 <!ATTLIST xsl:element
292 namespace %avt; #IMPLIED
293 use-attribute-sets %qnames; #IMPLIED
297 <!ELEMENT xsl:attribute %char-template;>
298 <!ATTLIST xsl:attribute
300 namespace %avt; #IMPLIED
304 <!ELEMENT xsl:comment %char-template;>
305 <!ATTLIST xsl:comment %space-att;>
307 <!ELEMENT xsl:copy %template;>
310 use-attribute-sets %qnames; #IMPLIED
312 <!ELEMENT xsl:message %template;>
313 <!ATTLIST xsl:message
315 terminate (yes|no) "no"
318 <!ELEMENT xsl:fallback %template;>
319 <!ATTLIST xsl:fallback %space-att;>
321 <!-- This is the included XTHML DTD -->
324 Extensible HTML version 1.0 Strict DTD
326 This is the same as HTML 4.0 Strict except for
327 changes due to the differences between XML and SGML.
329 Namespace = http://www.w3.org/1999/xhtml
331 For further information, see: http://www.w3.org/TR/xhtml1
333 Copyright (c) 1998-2000 W3C (MIT, INRIA, Keio),
336 This DTD module is identified by the PUBLIC and SYSTEM identifiers:
338 PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
339 SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
342 $Date: 2002-08-28 14:50:50 $
346 <!--================ Character mnemonic entities =========================-->
349 <!--================== Imported Names ====================================-->
351 <!ENTITY % ContentType "CDATA">
352 <!-- media type, as per [RFC2045] -->
354 <!ENTITY % ContentTypes "CDATA">
355 <!-- comma-separated list of media types, as per [RFC2045] -->
357 <!ENTITY % Charset "CDATA">
358 <!-- a character encoding, as per [RFC2045] -->
360 <!ENTITY % Charsets "CDATA">
361 <!-- a space separated list of character encodings, as per [RFC2045] -->
363 <!ENTITY % LanguageCode "NMTOKEN">
364 <!-- a language code, as per [RFC1766] -->
366 <!ENTITY % Character "CDATA">
367 <!-- a single character from [ISO10646] -->
369 <!ENTITY % Number "CDATA">
370 <!-- one or more digits -->
372 <!ENTITY % LinkTypes "CDATA">
373 <!-- space-separated list of link types -->
375 <!ENTITY % MediaDesc "CDATA">
376 <!-- single or comma-separated list of media descriptors -->
378 <!ENTITY % URI "CDATA">
379 <!-- a Uniform Resource Identifier, see [RFC2396] -->
381 <!ENTITY % UriList "CDATA">
382 <!-- a space separated list of Uniform Resource Identifiers -->
384 <!ENTITY % Datetime "CDATA">
385 <!-- date and time information. ISO date format -->
387 <!ENTITY % Script "CDATA">
388 <!-- script expression -->
390 <!ENTITY % StyleSheet "CDATA">
391 <!-- style sheet data -->
393 <!ENTITY % Text "CDATA">
394 <!-- used for titles etc. -->
396 <!ENTITY % FrameTarget "NMTOKEN">
397 <!-- render in this frame -->
399 <!ENTITY % Length "CDATA">
400 <!-- nn for pixels or nn% for percentage length -->
402 <!ENTITY % MultiLength "CDATA">
403 <!-- pixel, percentage, or relative -->
405 <!ENTITY % MultiLengths "CDATA">
406 <!-- comma-separated list of MultiLength -->
408 <!ENTITY % Pixels "CDATA">
409 <!-- integer representing length in pixels -->
411 <!-- these are used for image maps -->
413 <!ENTITY % Shape "(rect|circle|poly|default)">
415 <!ENTITY % Coords "CDATA">
416 <!-- comma separated list of lengths -->
418 <!--=================== Generic Attributes ===============================-->
420 <!-- core attributes common to most elements
421 id document-wide unique id
422 class space separated list of classes
423 style associated style info
424 title advisory title/amplification
429 style %StyleSheet; #IMPLIED
430 title %Text; #IMPLIED"
433 <!-- internationalization attributes
434 lang language code (backwards compatible)
435 xml:lang language code (as per XML 1.0 spec)
436 dir direction for weak/neutral text
439 "lang %LanguageCode; #IMPLIED
440 xml:lang %LanguageCode; #IMPLIED
441 dir (ltr|rtl) #IMPLIED"
444 <!-- attributes for common UI events
445 onclick a pointer button was clicked
446 ondblclick a pointer button was double clicked
447 onmousedown a pointer button was pressed down
448 onmouseup a pointer button was released
449 onmousemove a pointer was moved onto the element
450 onmouseout a pointer was moved away from the element
451 onkeypress a key was pressed and released
452 onkeydown a key was pressed down
453 onkeyup a key was released
456 "onclick %Script; #IMPLIED
457 ondblclick %Script; #IMPLIED
458 onmousedown %Script; #IMPLIED
459 onmouseup %Script; #IMPLIED
460 onmouseover %Script; #IMPLIED
461 onmousemove %Script; #IMPLIED
462 onmouseout %Script; #IMPLIED
463 onkeypress %Script; #IMPLIED
464 onkeydown %Script; #IMPLIED
465 onkeyup %Script; #IMPLIED"
468 <!-- attributes for elements that can get the focus
469 accesskey accessibility key character
470 tabindex position in tabbing order
471 onfocus the element got the focus
472 onblur the element lost the focus
475 "accesskey %Character; #IMPLIED
476 tabindex %Number; #IMPLIED
477 onfocus %Script; #IMPLIED
478 onblur %Script; #IMPLIED"
481 <!ENTITY % attrs "%coreattrs; %i18n; %events;">
483 <!--=================== Text Elements ====================================-->
486 "br | span | bdo | object | img | map">
488 <!ENTITY % fontstyle "tt | i | b | big | small">
490 <!ENTITY % phrase "em | strong | dfn | code | q | sub | sup |
491 samp | kbd | var | cite | abbr | acronym">
493 <!ENTITY % inline.forms "input | select | textarea | label | button">
495 <!-- these can occur at block or inline level -->
496 <!ENTITY % misc "ins | del | script | noscript">
498 <!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
500 <!-- %Inline; covers inline or "text-level" elements -->
501 <!ENTITY % Inline "(#PCDATA | %inline; | %misc;)*">
503 <!--================== Block level elements ==============================-->
505 <!ENTITY % heading "h1|h2|h3|h4|h5|h6">
506 <!ENTITY % lists "ul | ol | dl">
507 <!ENTITY % blocktext "pre | hr | blockquote | address">
510 "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
512 <!ENTITY % Block "(%block; | form | %misc;)*">
514 <!-- %Flow; mixes Block and Inline and is used for list items etc. -->
515 <!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
517 <!--================== Content models for exclusions =====================-->
519 <!-- a elements use %Inline; excluding a -->
522 "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc;)*">
524 <!-- pre uses %Inline excluding img, object, big, small, sup or sup -->
526 <!ENTITY % pre.content
527 "(#PCDATA | a | br | span | bdo | map | tt | i | b |
528 %phrase; | %inline.forms;)*">
530 <!-- form uses %Block; excluding form -->
532 <!ENTITY % form.content "(%block; | %misc;)*">
534 <!-- button uses %Flow; but excludes a, form and form controls -->
536 <!ENTITY % button.content
537 "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
538 table | %special; | %fontstyle; | %phrase; | %misc;)*">
540 <!--================ Document Structure ==================================-->
542 <!-- the namespace URI designates the document profile -->
544 <!ELEMENT html (head, body)>
547 xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
550 <!--================ Document Head =======================================-->
552 <!ENTITY % head.misc "(script|style|meta|link|object)*">
554 <!-- content model is %head.misc; combined with a single
555 title and an optional base element in any order -->
557 <!ELEMENT head (%head.misc;,
558 ((title, %head.misc;, (base, %head.misc;)?) |
559 (base, %head.misc;, (title, %head.misc;))))>
563 profile %URI; #IMPLIED
566 <!-- The title element is not considered part of the flow of text.
567 It should be displayed, for example as the page header or
568 window title. Exactly one title is required per document.
570 <!ELEMENT title (#PCDATA)>
571 <!ATTLIST title %i18n;>
573 <!-- document base URI -->
575 <!ELEMENT base EMPTY>
580 <!-- generic metainformation -->
581 <!ELEMENT meta EMPTY>
584 http-equiv CDATA #IMPLIED
586 content CDATA #REQUIRED
587 scheme CDATA #IMPLIED
591 Relationship values can be used in principle:
593 a) for document specific toolbars/menus when used
594 with the link element in document head e.g.
595 start, contents, previous, next, index, end, help
596 b) to link to a separate style sheet (rel="stylesheet")
597 c) to make a link to a script (rel="script")
598 d) by stylesheets to control how collections of
599 html nodes are rendered into printed documents
600 e) to make a link to a printable version of this document
601 e.g. a PostScript or PDF version (rel="alternate" media="print")
604 <!ELEMENT link EMPTY>
607 charset %Charset; #IMPLIED
609 hreflang %LanguageCode; #IMPLIED
610 type %ContentType; #IMPLIED
611 rel %LinkTypes; #IMPLIED
612 rev %LinkTypes; #IMPLIED
613 media %MediaDesc; #IMPLIED
616 <!-- style info, which may include CDATA sections -->
617 <!ELEMENT style (#PCDATA)>
620 type %ContentType; #REQUIRED
621 media %MediaDesc; #IMPLIED
622 title %Text; #IMPLIED
623 xml:space (preserve) #FIXED 'preserve'
626 <!-- script statements, which may include CDATA sections -->
627 <!ELEMENT script (#PCDATA)>
629 charset %Charset; #IMPLIED
630 type %ContentType; #REQUIRED
632 defer (defer) #IMPLIED
633 xml:space (preserve) #FIXED 'preserve'
636 <!-- alternate content container for non script-based rendering -->
638 <!ELEMENT noscript %Block;>
643 <!--=================== Document Body ====================================-->
645 <!ELEMENT body %Block;>
648 onload %Script; #IMPLIED
649 onunload %Script; #IMPLIED
652 <!ELEMENT div %Flow;> <!-- generic language/style container -->
657 <!--=================== Paragraphs =======================================-->
659 <!ELEMENT p %Inline;>
664 <!--=================== Headings =========================================-->
667 There are six levels of headings from h1 (the most important)
668 to h6 (the least important).
671 <!ELEMENT h1 %Inline;>
676 <!ELEMENT h2 %Inline;>
681 <!ELEMENT h3 %Inline;>
686 <!ELEMENT h4 %Inline;>
691 <!ELEMENT h5 %Inline;>
696 <!ELEMENT h6 %Inline;>
701 <!--=================== Lists ============================================-->
703 <!-- Unordered list -->
710 <!-- Ordered (numbered) list -->
724 <!-- definition lists - dt for term, dd for its definition -->
726 <!ELEMENT dl (dt|dd)+>
731 <!ELEMENT dt %Inline;>
741 <!--=================== Address ==========================================-->
743 <!-- information on author -->
745 <!ELEMENT address %Inline;>
750 <!--=================== Horizontal Rule ==================================-->
757 <!--=================== Preformatted Text ================================-->
759 <!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
761 <!ELEMENT pre %pre.content;>
764 xml:space (preserve) #FIXED 'preserve'
767 <!--=================== Block-like Quotes ================================-->
769 <!ELEMENT blockquote %Block;>
775 <!--=================== Inserted/Deleted Text ============================-->
778 ins/del are allowed in block and inline content, but its
779 inappropriate to include block content within an ins element
780 occurring in inline content.
782 <!ELEMENT ins %Flow;>
786 datetime %Datetime; #IMPLIED
789 <!ELEMENT del %Flow;>
793 datetime %Datetime; #IMPLIED
796 <!--================== The Anchor Element ================================-->
798 <!-- content is %Inline; except that anchors shouldn't be nested -->
800 <!ELEMENT a %a.content;>
803 charset %Charset; #IMPLIED
804 type %ContentType; #IMPLIED
805 name NMTOKEN #IMPLIED
807 hreflang %LanguageCode; #IMPLIED
808 rel %LinkTypes; #IMPLIED
809 rev %LinkTypes; #IMPLIED
810 accesskey %Character; #IMPLIED
812 coords %Coords; #IMPLIED
813 tabindex %Number; #IMPLIED
814 onfocus %Script; #IMPLIED
815 onblur %Script; #IMPLIED
818 <!--===================== Inline Elements ================================-->
820 <!ELEMENT span %Inline;> <!-- generic language/style container -->
825 <!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
829 lang %LanguageCode; #IMPLIED
830 xml:lang %LanguageCode; #IMPLIED
831 dir (ltr|rtl) #REQUIRED
834 <!ELEMENT br EMPTY> <!-- forced line break -->
839 <!ELEMENT em %Inline;> <!-- emphasis -->
840 <!ATTLIST em %attrs;>
842 <!ELEMENT strong %Inline;> <!-- strong emphasis -->
843 <!ATTLIST strong %attrs;>
845 <!ELEMENT dfn %Inline;> <!-- definitional -->
846 <!ATTLIST dfn %attrs;>
848 <!ELEMENT code %Inline;> <!-- program code -->
849 <!ATTLIST code %attrs;>
851 <!ELEMENT samp %Inline;> <!-- sample -->
852 <!ATTLIST samp %attrs;>
854 <!ELEMENT kbd %Inline;> <!-- something user would type -->
855 <!ATTLIST kbd %attrs;>
857 <!ELEMENT var %Inline;> <!-- variable -->
858 <!ATTLIST var %attrs;>
860 <!ELEMENT cite %Inline;> <!-- citation -->
861 <!ATTLIST cite %attrs;>
863 <!ELEMENT abbr %Inline;> <!-- abbreviation -->
864 <!ATTLIST abbr %attrs;>
866 <!ELEMENT acronym %Inline;> <!-- acronym -->
867 <!ATTLIST acronym %attrs;>
869 <!ELEMENT q %Inline;> <!-- inlined quote -->
875 <!ELEMENT sub %Inline;> <!-- subscript -->
876 <!ATTLIST sub %attrs;>
878 <!ELEMENT sup %Inline;> <!-- superscript -->
879 <!ATTLIST sup %attrs;>
881 <!ELEMENT tt %Inline;> <!-- fixed pitch font -->
882 <!ATTLIST tt %attrs;>
884 <!ELEMENT i %Inline;> <!-- italic font -->
887 <!ELEMENT b %Inline;> <!-- bold font -->
890 <!ELEMENT big %Inline;> <!-- bigger font -->
891 <!ATTLIST big %attrs;>
893 <!ELEMENT small %Inline;> <!-- smaller font -->
894 <!ATTLIST small %attrs;>
896 <!--==================== Object ======================================-->
898 object is used to embed objects as part of HTML pages.
899 param elements should precede other content. Parameters
900 can also be expressed as attribute/value pairs on the
901 object element itself when brevity is desired.
904 <!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
907 declare (declare) #IMPLIED
908 classid %URI; #IMPLIED
909 codebase %URI; #IMPLIED
911 type %ContentType; #IMPLIED
912 codetype %ContentType; #IMPLIED
913 archive %UriList; #IMPLIED
914 standby %Text; #IMPLIED
915 height %Length; #IMPLIED
916 width %Length; #IMPLIED
917 usemap %URI; #IMPLIED
918 name NMTOKEN #IMPLIED
919 tabindex %Number; #IMPLIED
923 param is used to supply a named property value.
924 In XML it would seem natural to follow RDF and support an
925 abbreviated syntax where the param elements are replaced
926 by attribute value pairs on the object start tag.
928 <!ELEMENT param EMPTY>
933 valuetype (data|ref|object) "data"
934 type %ContentType; #IMPLIED
937 <!--=================== Images ===========================================-->
940 To avoid accessibility problems for people who aren't
941 able to see the image, you should provide a text
942 description using the alt and longdesc attributes.
943 In addition, avoid the use of server-side image maps.
944 Note that in this DTD there is no name attribute. That
945 is only available in the transitional and frameset DTD.
953 longdesc %URI; #IMPLIED
954 height %Length; #IMPLIED
955 width %Length; #IMPLIED
956 usemap %URI; #IMPLIED
957 ismap (ismap) #IMPLIED
960 <!-- usemap points to a map element which may be in this document
961 or an external document, although the latter is not widely supported -->
963 <!--================== Client-side image maps ============================-->
965 <!-- These can be placed in the same document or grouped in a
966 separate document although this isn't yet widely supported -->
968 <!ELEMENT map ((%block; | form | %misc;)+ | area+)>
974 style %StyleSheet; #IMPLIED
975 title %Text; #IMPLIED
976 name NMTOKEN #IMPLIED
979 <!ELEMENT area EMPTY>
983 coords %Coords; #IMPLIED
985 nohref (nohref) #IMPLIED
987 tabindex %Number; #IMPLIED
988 accesskey %Character; #IMPLIED
989 onfocus %Script; #IMPLIED
990 onblur %Script; #IMPLIED
993 <!--================ Forms ===============================================-->
994 <!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
998 action %URI; #REQUIRED
999 method (get|post) "get"
1000 enctype %ContentType; "application/x-www-form-urlencoded"
1001 onsubmit %Script; #IMPLIED
1002 onreset %Script; #IMPLIED
1003 accept %ContentTypes; #IMPLIED
1004 accept-charset %Charsets; #IMPLIED
1008 Each label must not contain more than ONE field
1009 Label elements shouldn't be nested.
1011 <!ELEMENT label %Inline;>
1015 accesskey %Character; #IMPLIED
1016 onfocus %Script; #IMPLIED
1017 onblur %Script; #IMPLIED
1020 <!ENTITY % InputType
1021 "(text | password | checkbox |
1022 radio | submit | reset |
1023 file | hidden | image | button)"
1026 <!-- the name attribute is required for all but submit & reset -->
1028 <!ELEMENT input EMPTY> <!-- form control -->
1031 type %InputType; "text"
1033 value CDATA #IMPLIED
1034 checked (checked) #IMPLIED
1035 disabled (disabled) #IMPLIED
1036 readonly (readonly) #IMPLIED
1038 maxlength %Number; #IMPLIED
1041 usemap %URI; #IMPLIED
1042 tabindex %Number; #IMPLIED
1043 accesskey %Character; #IMPLIED
1044 onfocus %Script; #IMPLIED
1045 onblur %Script; #IMPLIED
1046 onselect %Script; #IMPLIED
1047 onchange %Script; #IMPLIED
1048 accept %ContentTypes; #IMPLIED
1051 <!ELEMENT select (optgroup|option)+> <!-- option selector -->
1055 size %Number; #IMPLIED
1056 multiple (multiple) #IMPLIED
1057 disabled (disabled) #IMPLIED
1058 tabindex %Number; #IMPLIED
1059 onfocus %Script; #IMPLIED
1060 onblur %Script; #IMPLIED
1061 onchange %Script; #IMPLIED
1064 <!ELEMENT optgroup (option)+> <!-- option group -->
1067 disabled (disabled) #IMPLIED
1068 label %Text; #REQUIRED
1071 <!ELEMENT option (#PCDATA)> <!-- selectable choice -->
1074 selected (selected) #IMPLIED
1075 disabled (disabled) #IMPLIED
1076 label %Text; #IMPLIED
1077 value CDATA #IMPLIED
1080 <!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
1084 rows %Number; #REQUIRED
1085 cols %Number; #REQUIRED
1086 disabled (disabled) #IMPLIED
1087 readonly (readonly) #IMPLIED
1088 tabindex %Number; #IMPLIED
1089 accesskey %Character; #IMPLIED
1090 onfocus %Script; #IMPLIED
1091 onblur %Script; #IMPLIED
1092 onselect %Script; #IMPLIED
1093 onchange %Script; #IMPLIED
1097 The fieldset element is used to group form fields.
1098 Only one legend element should occur in the content
1099 and if present should only be preceded by whitespace.
1101 <!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
1106 <!ELEMENT legend %Inline;> <!-- fieldset label -->
1109 accesskey %Character; #IMPLIED
1113 Content is %Flow; excluding a, form and form controls
1115 <!ELEMENT button %button.content;> <!-- push button -->
1119 value CDATA #IMPLIED
1120 type (button|submit|reset) "submit"
1121 disabled (disabled) #IMPLIED
1122 tabindex %Number; #IMPLIED
1123 accesskey %Character; #IMPLIED
1124 onfocus %Script; #IMPLIED
1125 onblur %Script; #IMPLIED
1128 <!--======================= Tables =======================================-->
1130 <!-- Derived from IETF HTML table standard, see [RFC1942] -->
1133 The border attribute sets the thickness of the frame around the
1134 table. The default units are screen pixels.
1136 The frame attribute specifies which parts of the frame around
1137 the table should be rendered. The values are not the same as
1138 CALS to avoid a name clash with the valign attribute.
1140 <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
1143 The rules attribute defines which rules to draw between cells:
1145 If rules is absent then assume:
1146 "none" if border is absent or border="0" otherwise "all"
1149 <!ENTITY % TRules "(none | groups | rows | cols | all)">
1151 <!-- horizontal placement of table relative to document -->
1152 <!ENTITY % TAlign "(left|center|right)">
1154 <!-- horizontal alignment attributes for cell contents
1156 char alignment char, e.g. char=':'
1157 charoff offset for alignment char
1159 <!ENTITY % cellhalign
1160 "align (left|center|right|justify|char) #IMPLIED
1161 char %Character; #IMPLIED
1162 charoff %Length; #IMPLIED"
1165 <!-- vertical alignment attributes for cell contents -->
1166 <!ENTITY % cellvalign
1167 "valign (top|middle|bottom|baseline) #IMPLIED"
1171 (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
1172 <!ELEMENT caption %Inline;>
1173 <!ELEMENT thead (tr)+>
1174 <!ELEMENT tfoot (tr)+>
1175 <!ELEMENT tbody (tr)+>
1176 <!ELEMENT colgroup (col)*>
1177 <!ELEMENT col EMPTY>
1178 <!ELEMENT tr (th|td)+>
1179 <!ELEMENT th %Flow;>
1180 <!ELEMENT td %Flow;>
1184 summary %Text; #IMPLIED
1185 width %Length; #IMPLIED
1186 border %Pixels; #IMPLIED
1187 frame %TFrame; #IMPLIED
1188 rules %TRules; #IMPLIED
1189 cellspacing %Length; #IMPLIED
1190 cellpadding %Length; #IMPLIED
1193 <!ENTITY % CAlign "(top|bottom|left|right)">
1200 colgroup groups a set of col elements. It allows you to group
1201 several semantically related columns together.
1206 width %MultiLength; #IMPLIED
1212 col elements define the alignment properties for cells in
1213 one or more columns.
1215 The width attribute specifies the width of the columns, e.g.
1217 width=64 width in screen pixels
1218 width=0.5* relative width of 0.5
1220 The span attribute causes the attributes of one
1221 col element to apply to more than one column.
1226 width %MultiLength; #IMPLIED
1232 Use thead to duplicate headers when breaking table
1233 across page boundaries, or for static headers when
1234 tbody sections are rendered in scrolling panel.
1236 Use tfoot to duplicate footers when breaking table
1237 across page boundaries, or for static footers when
1238 tbody sections are rendered in scrolling panel.
1240 Use multiple tbody sections when rules are needed
1241 between groups of table rows.
1268 <!-- Scope is simpler than headers attribute for common tables -->
1269 <!ENTITY % Scope "(row|col|rowgroup|colgroup)">
1271 <!-- th is for headers, td for data and for cells acting as both -->
1275 abbr %Text; #IMPLIED
1277 headers IDREFS #IMPLIED
1278 scope %Scope; #IMPLIED
1279 rowspan %Number; "1"
1280 colspan %Number; "1"
1287 abbr %Text; #IMPLIED
1289 headers IDREFS #IMPLIED
1290 scope %Scope; #IMPLIED
1291 rowspan %Number; "1"
1292 colspan %Number; "1"