Remove trailing whitespace.
[xhtml-compiler.git] / catalog / xhtml1-strict.dtd
blob2927b9ece7fdf8cde3382b8bb17ed5bbbf40c956
1 <!--
2 Extensible HTML version 1.0 Strict DTD
4 This is the same as HTML 4 Strict except for
5 changes due to the differences between XML and SGML.
7 Namespace = http://www.w3.org/1999/xhtml
9 For further information, see: http://www.w3.org/TR/xhtml1
11 Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
12 All Rights Reserved.
14 This DTD module is identified by the PUBLIC and SYSTEM identifiers:
16 PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
17 SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
19 $Revision: 1.1 $
20 $Date: 2002/08/01 13:56:03 $
22 -->
24 <!--================ Character mnemonic entities =========================-->
26 <!ENTITY % HTMLlat1 PUBLIC
27 "-//W3C//ENTITIES Latin 1 for XHTML//EN"
28 "xhtml-lat1.ent">
29 %HTMLlat1;
31 <!ENTITY % HTMLsymbol PUBLIC
32 "-//W3C//ENTITIES Symbols for XHTML//EN"
33 "xhtml-symbol.ent">
34 %HTMLsymbol;
36 <!ENTITY % HTMLspecial PUBLIC
37 "-//W3C//ENTITIES Special for XHTML//EN"
38 "xhtml-special.ent">
39 %HTMLspecial;
41 <!--================== Imported Names ====================================-->
43 <!ENTITY % ContentType "CDATA">
44 <!-- media type, as per [RFC2045] -->
46 <!ENTITY % ContentTypes "CDATA">
47 <!-- comma-separated list of media types, as per [RFC2045] -->
49 <!ENTITY % Charset "CDATA">
50 <!-- a character encoding, as per [RFC2045] -->
52 <!ENTITY % Charsets "CDATA">
53 <!-- a space separated list of character encodings, as per [RFC2045] -->
55 <!ENTITY % LanguageCode "NMTOKEN">
56 <!-- a language code, as per [RFC3066] -->
58 <!ENTITY % Character "CDATA">
59 <!-- a single character, as per section 2.2 of [XML] -->
61 <!ENTITY % Number "CDATA">
62 <!-- one or more digits -->
64 <!ENTITY % LinkTypes "CDATA">
65 <!-- space-separated list of link types -->
67 <!ENTITY % MediaDesc "CDATA">
68 <!-- single or comma-separated list of media descriptors -->
70 <!ENTITY % URI "CDATA">
71 <!-- a Uniform Resource Identifier, see [RFC2396] -->
73 <!ENTITY % UriList "CDATA">
74 <!-- a space separated list of Uniform Resource Identifiers -->
76 <!ENTITY % Datetime "CDATA">
77 <!-- date and time information. ISO date format -->
79 <!ENTITY % Script "CDATA">
80 <!-- script expression -->
82 <!ENTITY % StyleSheet "CDATA">
83 <!-- style sheet data -->
85 <!ENTITY % Text "CDATA">
86 <!-- used for titles etc. -->
88 <!ENTITY % Length "CDATA">
89 <!-- nn for pixels or nn% for percentage length -->
91 <!ENTITY % MultiLength "CDATA">
92 <!-- pixel, percentage, or relative -->
94 <!ENTITY % Pixels "CDATA">
95 <!-- integer representing length in pixels -->
97 <!-- these are used for image maps -->
99 <!ENTITY % Shape "(rect|circle|poly|default)">
101 <!ENTITY % Coords "CDATA">
102 <!-- comma separated list of lengths -->
104 <!--=================== Generic Attributes ===============================-->
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
112 <!ENTITY % coreattrs
113 "id ID #IMPLIED
114 class CDATA #IMPLIED
115 style %StyleSheet; #IMPLIED
116 title %Text; #IMPLIED"
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
124 <!ENTITY % i18n
125 "lang %LanguageCode; #IMPLIED
126 xml:lang %LanguageCode; #IMPLIED
127 dir (ltr|rtl) #IMPLIED"
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
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"
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
160 <!ENTITY % focus
161 "accesskey %Character; #IMPLIED
162 tabindex %Number; #IMPLIED
163 onfocus %Script; #IMPLIED
164 onblur %Script; #IMPLIED"
167 <!ENTITY % attrs "%coreattrs; %i18n; %events;">
169 <!--=================== Text Elements ====================================-->
171 <!ENTITY % special.pre
172 "br | span | bdo | map">
175 <!ENTITY % special
176 "%special.pre; | object | img ">
178 <!ENTITY % fontstyle "tt | i | b | big | small ">
180 <!ENTITY % phrase "em | strong | dfn | code | q |
181 samp | kbd | var | cite | abbr | acronym | sub | sup ">
183 <!ENTITY % inline.forms "input | select | textarea | label | button">
185 <!-- these can occur at block or inline level -->
186 <!ENTITY % misc.inline "ins | del | script">
188 <!-- these can only occur at block level -->
189 <!ENTITY % misc "noscript | %misc.inline;">
191 <!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
193 <!-- %Inline; covers inline or "text-level" elements -->
194 <!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
196 <!--================== Block level elements ==============================-->
198 <!ENTITY % heading "h1|h2|h3|h4|h5|h6">
199 <!ENTITY % lists "ul | ol | dl">
200 <!ENTITY % blocktext "pre | hr | blockquote | address">
202 <!ENTITY % block
203 "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
205 <!ENTITY % Block "(%block; | form | %misc;)*">
207 <!-- %Flow; mixes block and inline and is used for list items etc. -->
208 <!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
210 <!--================== Content models for exclusions =====================-->
212 <!-- a elements use %Inline; excluding a -->
214 <!ENTITY % a.content
215 "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
217 <!-- pre uses %Inline excluding big, small, sup or sup -->
219 <!ENTITY % pre.content
220 "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline;
221 | %inline.forms;)*">
223 <!-- form uses %Block; excluding form -->
225 <!ENTITY % form.content "(%block; | %misc;)*">
227 <!-- button uses %Flow; but excludes a, form and form controls -->
229 <!ENTITY % button.content
230 "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
231 table | %special; | %fontstyle; | %phrase; | %misc;)*">
233 <!--================ Document Structure ==================================-->
235 <!-- the namespace URI designates the document profile -->
237 <!ELEMENT html (head, body)>
238 <!ATTLIST html
239 %i18n;
240 id ID #IMPLIED
241 xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
244 <!--================ Document Head =======================================-->
246 <!ENTITY % head.misc "(script|style|meta|link|object)*">
248 <!-- content model is %head.misc; combined with a single
249 title and an optional base element in any order -->
251 <!ELEMENT head (%head.misc;,
252 ((title, %head.misc;, (base, %head.misc;)?) |
253 (base, %head.misc;, (title, %head.misc;))))>
255 <!ATTLIST head
256 %i18n;
257 id ID #IMPLIED
258 profile %URI; #IMPLIED
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.
265 <!ELEMENT title (#PCDATA)>
266 <!ATTLIST title
267 %i18n;
268 id ID #IMPLIED
271 <!-- document base URI -->
273 <!ELEMENT base EMPTY>
274 <!ATTLIST base
275 href %URI; #REQUIRED
276 id ID #IMPLIED
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
290 <!--
291 Relationship values can be used in principle:
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")
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
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'
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'
338 <!-- alternate content container for non script-based rendering -->
340 <!ELEMENT noscript %Block;>
341 <!ATTLIST noscript
342 %attrs;
345 <!--=================== Document Body ====================================-->
347 <!ELEMENT body %Block;>
348 <!ATTLIST body
349 %attrs;
350 onload %Script; #IMPLIED
351 onunload %Script; #IMPLIED
354 <!ELEMENT div %Flow;> <!-- generic language/style container -->
355 <!ATTLIST div
356 %attrs;
359 <!--=================== Paragraphs =======================================-->
361 <!ELEMENT p %Inline;>
362 <!ATTLIST p
363 %attrs;
366 <!--=================== Headings =========================================-->
368 <!--
369 There are six levels of headings from h1 (the most important)
370 to h6 (the least important).
373 <!ELEMENT h1 %Inline;>
374 <!ATTLIST h1
375 %attrs;
378 <!ELEMENT h2 %Inline;>
379 <!ATTLIST h2
380 %attrs;
383 <!ELEMENT h3 %Inline;>
384 <!ATTLIST h3
385 %attrs;
388 <!ELEMENT h4 %Inline;>
389 <!ATTLIST h4
390 %attrs;
393 <!ELEMENT h5 %Inline;>
394 <!ATTLIST h5
395 %attrs;
398 <!ELEMENT h6 %Inline;>
399 <!ATTLIST h6
400 %attrs;
403 <!--=================== Lists ============================================-->
405 <!-- Unordered list -->
407 <!ELEMENT ul (li)+>
408 <!ATTLIST ul
409 %attrs;
412 <!-- Ordered (numbered) list -->
414 <!ELEMENT ol (li)+>
415 <!ATTLIST ol
416 %attrs;
419 <!-- list item -->
421 <!ELEMENT li %Flow;>
422 <!ATTLIST li
423 %attrs;
426 <!-- definition lists - dt for term, dd for its definition -->
428 <!ELEMENT dl (dt|dd)+>
429 <!ATTLIST dl
430 %attrs;
433 <!ELEMENT dt %Inline;>
434 <!ATTLIST dt
435 %attrs;
438 <!ELEMENT dd %Flow;>
439 <!ATTLIST dd
440 %attrs;
443 <!--=================== Address ==========================================-->
445 <!-- information on author -->
447 <!ELEMENT address %Inline;>
448 <!ATTLIST address
449 %attrs;
452 <!--=================== Horizontal Rule ==================================-->
454 <!ELEMENT hr EMPTY>
455 <!ATTLIST hr
456 %attrs;
459 <!--=================== Preformatted Text ================================-->
461 <!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
463 <!ELEMENT pre %pre.content;>
464 <!ATTLIST pre
465 %attrs;
466 xml:space (preserve) #FIXED 'preserve'
469 <!--=================== Block-like Quotes ================================-->
471 <!ELEMENT blockquote %Block;>
472 <!ATTLIST blockquote
473 %attrs;
474 cite %URI; #IMPLIED
477 <!--=================== Inserted/Deleted Text ============================-->
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.
484 <!ELEMENT ins %Flow;>
485 <!ATTLIST ins
486 %attrs;
487 cite %URI; #IMPLIED
488 datetime %Datetime; #IMPLIED
491 <!ELEMENT del %Flow;>
492 <!ATTLIST del
493 %attrs;
494 cite %URI; #IMPLIED
495 datetime %Datetime; #IMPLIED
498 <!--================== The Anchor Element ================================-->
500 <!-- content is %Inline; except that anchors shouldn't be nested -->
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
517 <!--===================== Inline Elements ================================-->
519 <!ELEMENT span %Inline;> <!-- generic language/style container -->
520 <!ATTLIST span
521 %attrs;
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
533 <!ELEMENT br EMPTY> <!-- forced line break -->
534 <!ATTLIST br
535 %coreattrs;
538 <!ELEMENT em %Inline;> <!-- emphasis -->
539 <!ATTLIST em %attrs;>
541 <!ELEMENT strong %Inline;> <!-- strong emphasis -->
542 <!ATTLIST strong %attrs;>
544 <!ELEMENT dfn %Inline;> <!-- definitional -->
545 <!ATTLIST dfn %attrs;>
547 <!ELEMENT code %Inline;> <!-- program code -->
548 <!ATTLIST code %attrs;>
550 <!ELEMENT samp %Inline;> <!-- sample -->
551 <!ATTLIST samp %attrs;>
553 <!ELEMENT kbd %Inline;> <!-- something user would type -->
554 <!ATTLIST kbd %attrs;>
556 <!ELEMENT var %Inline;> <!-- variable -->
557 <!ATTLIST var %attrs;>
559 <!ELEMENT cite %Inline;> <!-- citation -->
560 <!ATTLIST cite %attrs;>
562 <!ELEMENT abbr %Inline;> <!-- abbreviation -->
563 <!ATTLIST abbr %attrs;>
565 <!ELEMENT acronym %Inline;> <!-- acronym -->
566 <!ATTLIST acronym %attrs;>
568 <!ELEMENT q %Inline;> <!-- inlined quote -->
569 <!ATTLIST q
570 %attrs;
571 cite %URI; #IMPLIED
574 <!ELEMENT sub %Inline;> <!-- subscript -->
575 <!ATTLIST sub %attrs;>
577 <!ELEMENT sup %Inline;> <!-- superscript -->
578 <!ATTLIST sup %attrs;>
580 <!ELEMENT tt %Inline;> <!-- fixed pitch font -->
581 <!ATTLIST tt %attrs;>
583 <!ELEMENT i %Inline;> <!-- italic font -->
584 <!ATTLIST i %attrs;>
586 <!ELEMENT b %Inline;> <!-- bold font -->
587 <!ATTLIST b %attrs;>
589 <!ELEMENT big %Inline;> <!-- bigger font -->
590 <!ATTLIST big %attrs;>
592 <!ELEMENT small %Inline;> <!-- smaller font -->
593 <!ATTLIST small %attrs;>
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.
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
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.
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
636 <!--=================== Images ===========================================-->
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.
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
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 -->
662 <!--================== Client-side image maps ============================-->
664 <!-- These can be placed in the same document or grouped in a
665 separate document although this isn't yet widely supported -->
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
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
689 <!--================ Forms ===============================================-->
690 <!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
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
703 <!--
704 Each label must not contain more than ONE field
705 Label elements shouldn't be nested.
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
716 <!ENTITY % InputType
717 "(text | password | checkbox |
718 radio | submit | reset |
719 file | hidden | image | button)"
722 <!-- the name attribute is required for all but submit & reset -->
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
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
757 <!ELEMENT optgroup (option)+> <!-- option group -->
758 <!ATTLIST optgroup
759 %attrs;
760 disabled (disabled) #IMPLIED
761 label %Text; #REQUIRED
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
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
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.
791 <!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
792 <!ATTLIST fieldset
793 %attrs;
796 <!ELEMENT legend %Inline;> <!-- fieldset label -->
797 <!ATTLIST legend
798 %attrs;
799 accesskey %Character; #IMPLIED
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
815 <!--======================= Tables =======================================-->
817 <!-- Derived from IETF HTML table standard, see [RFC1942] -->
819 <!--
820 The border attribute sets the thickness of the frame around the
821 table. The default units are screen pixels.
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.
827 <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
829 <!--
830 The rules attribute defines which rules to draw between cells:
832 If rules is absent then assume:
833 "none" if border is absent or border="0" otherwise "all"
836 <!ENTITY % TRules "(none | groups | rows | cols | all)">
838 <!-- horizontal alignment attributes for cell contents
840 char alignment char, e.g. char=':'
841 charoff offset for alignment char
843 <!ENTITY % cellhalign
844 "align (left|center|right|justify|char) #IMPLIED
845 char %Character; #IMPLIED
846 charoff %Length; #IMPLIED"
849 <!-- vertical alignment attributes for cell contents -->
850 <!ENTITY % cellvalign
851 "valign (top|middle|bottom|baseline) #IMPLIED"
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;>
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
877 <!ATTLIST caption
878 %attrs;
881 <!--
882 colgroup groups a set of col elements. It allows you to group
883 several semantically related columns together.
885 <!ATTLIST colgroup
886 %attrs;
887 span %Number; "1"
888 width %MultiLength; #IMPLIED
889 %cellhalign;
890 %cellvalign;
893 <!--
894 col elements define the alignment properties for cells in
895 one or more columns.
897 The width attribute specifies the width of the columns, e.g.
899 width=64 width in screen pixels
900 width=0.5* relative width of 0.5
902 The span attribute causes the attributes of one
903 col element to apply to more than one column.
905 <!ATTLIST col
906 %attrs;
907 span %Number; "1"
908 width %MultiLength; #IMPLIED
909 %cellhalign;
910 %cellvalign;
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.
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.
922 Use multiple tbody sections when rules are needed
923 between groups of table rows.
925 <!ATTLIST thead
926 %attrs;
927 %cellhalign;
928 %cellvalign;
931 <!ATTLIST tfoot
932 %attrs;
933 %cellhalign;
934 %cellvalign;
937 <!ATTLIST tbody
938 %attrs;
939 %cellhalign;
940 %cellvalign;
943 <!ATTLIST tr
944 %attrs;
945 %cellhalign;
946 %cellvalign;
950 <!-- Scope is simpler than headers attribute for common tables -->
951 <!ENTITY % Scope "(row|col|rowgroup|colgroup)">
953 <!-- th is for headers, td for data and for cells acting as both -->
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;
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;