Release 4.2.0.
[htmlpurifier.git] / docs / dtd / xhtml1-transitional.dtd
blob628f27ac500baed7e671d095dfdb65f7db822f74
1 <!--
2 Extensible HTML version 1.0 Transitional DTD
4 This is the same as HTML 4 Transitional 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 Transitional//EN"
17 SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
19 $Revision: 1.2 $
20 $Date: 2002/08/01 18:37:55 $
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 % FrameTarget "NMTOKEN">
89 <!-- render in this frame -->
91 <!ENTITY % Length "CDATA">
92 <!-- nn for pixels or nn% for percentage length -->
94 <!ENTITY % MultiLength "CDATA">
95 <!-- pixel, percentage, or relative -->
97 <!ENTITY % Pixels "CDATA">
98 <!-- integer representing length in pixels -->
100 <!-- these are used for image maps -->
102 <!ENTITY % Shape "(rect|circle|poly|default)">
104 <!ENTITY % Coords "CDATA">
105 <!-- comma separated list of lengths -->
107 <!-- used for object, applet, img, input and iframe -->
108 <!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
110 <!-- a color using sRGB: #RRGGBB as Hex values -->
111 <!ENTITY % Color "CDATA">
113 <!-- There are also 16 widely known color names with their sRGB values:
115 Black = #000000 Green = #008000
116 Silver = #C0C0C0 Lime = #00FF00
117 Gray = #808080 Olive = #808000
118 White = #FFFFFF Yellow = #FFFF00
119 Maroon = #800000 Navy = #000080
120 Red = #FF0000 Blue = #0000FF
121 Purple = #800080 Teal = #008080
122 Fuchsia= #FF00FF Aqua = #00FFFF
125 <!--=================== Generic Attributes ===============================-->
127 <!-- core attributes common to most elements
128 id document-wide unique id
129 class space separated list of classes
130 style associated style info
131 title advisory title/amplification
133 <!ENTITY % coreattrs
134 "id ID #IMPLIED
135 class CDATA #IMPLIED
136 style %StyleSheet; #IMPLIED
137 title %Text; #IMPLIED"
140 <!-- internationalization attributes
141 lang language code (backwards compatible)
142 xml:lang language code (as per XML 1.0 spec)
143 dir direction for weak/neutral text
145 <!ENTITY % i18n
146 "lang %LanguageCode; #IMPLIED
147 xml:lang %LanguageCode; #IMPLIED
148 dir (ltr|rtl) #IMPLIED"
151 <!-- attributes for common UI events
152 onclick a pointer button was clicked
153 ondblclick a pointer button was double clicked
154 onmousedown a pointer button was pressed down
155 onmouseup a pointer button was released
156 onmousemove a pointer was moved onto the element
157 onmouseout a pointer was moved away from the element
158 onkeypress a key was pressed and released
159 onkeydown a key was pressed down
160 onkeyup a key was released
162 <!ENTITY % events
163 "onclick %Script; #IMPLIED
164 ondblclick %Script; #IMPLIED
165 onmousedown %Script; #IMPLIED
166 onmouseup %Script; #IMPLIED
167 onmouseover %Script; #IMPLIED
168 onmousemove %Script; #IMPLIED
169 onmouseout %Script; #IMPLIED
170 onkeypress %Script; #IMPLIED
171 onkeydown %Script; #IMPLIED
172 onkeyup %Script; #IMPLIED"
175 <!-- attributes for elements that can get the focus
176 accesskey accessibility key character
177 tabindex position in tabbing order
178 onfocus the element got the focus
179 onblur the element lost the focus
181 <!ENTITY % focus
182 "accesskey %Character; #IMPLIED
183 tabindex %Number; #IMPLIED
184 onfocus %Script; #IMPLIED
185 onblur %Script; #IMPLIED"
188 <!ENTITY % attrs "%coreattrs; %i18n; %events;">
190 <!-- text alignment for p, div, h1-h6. The default is
191 align="left" for ltr headings, "right" for rtl -->
193 <!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
195 <!--=================== Text Elements ====================================-->
197 <!ENTITY % special.extra
198 "object | applet | img | map | iframe">
200 <!ENTITY % special.basic
201 "br | span | bdo">
203 <!ENTITY % special
204 "%special.basic; | %special.extra;">
206 <!ENTITY % fontstyle.extra "big | small | font | basefont">
208 <!ENTITY % fontstyle.basic "tt | i | b | u
209 | s | strike ">
211 <!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
213 <!ENTITY % phrase.extra "sub | sup">
214 <!ENTITY % phrase.basic "em | strong | dfn | code | q |
215 samp | kbd | var | cite | abbr | acronym">
217 <!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
219 <!ENTITY % inline.forms "input | select | textarea | label | button">
221 <!-- these can occur at block or inline level -->
222 <!ENTITY % misc.inline "ins | del | script">
224 <!-- these can only occur at block level -->
225 <!ENTITY % misc "noscript | %misc.inline;">
227 <!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
229 <!-- %Inline; covers inline or "text-level" elements -->
230 <!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
232 <!--================== Block level elements ==============================-->
234 <!ENTITY % heading "h1|h2|h3|h4|h5|h6">
235 <!ENTITY % lists "ul | ol | dl | menu | dir">
236 <!ENTITY % blocktext "pre | hr | blockquote | address | center | noframes">
238 <!ENTITY % block
239 "p | %heading; | div | %lists; | %blocktext; | isindex |fieldset | table">
241 <!-- %Flow; mixes block and inline and is used for list items etc. -->
242 <!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
244 <!--================== Content models for exclusions =====================-->
246 <!-- a elements use %Inline; excluding a -->
248 <!ENTITY % a.content
249 "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
251 <!-- pre uses %Inline excluding img, object, applet, big, small,
252 font, or basefont -->
254 <!ENTITY % pre.content
255 "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
256 %inline.forms; | %misc.inline;)*">
258 <!-- form uses %Flow; excluding form -->
260 <!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
262 <!-- button uses %Flow; but excludes a, form, form controls, iframe -->
264 <!ENTITY % button.content
265 "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
266 table | br | span | bdo | object | applet | img | map |
267 %fontstyle; | %phrase; | %misc;)*">
269 <!--================ Document Structure ==================================-->
271 <!-- the namespace URI designates the document profile -->
273 <!ELEMENT html (head, body)>
274 <!ATTLIST html
275 %i18n;
276 id ID #IMPLIED
277 xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
280 <!--================ Document Head =======================================-->
282 <!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
284 <!-- content model is %head.misc; combined with a single
285 title and an optional base element in any order -->
287 <!ELEMENT head (%head.misc;,
288 ((title, %head.misc;, (base, %head.misc;)?) |
289 (base, %head.misc;, (title, %head.misc;))))>
291 <!ATTLIST head
292 %i18n;
293 id ID #IMPLIED
294 profile %URI; #IMPLIED
297 <!-- The title element is not considered part of the flow of text.
298 It should be displayed, for example as the page header or
299 window title. Exactly one title is required per document.
301 <!ELEMENT title (#PCDATA)>
302 <!ATTLIST title
303 %i18n;
304 id ID #IMPLIED
307 <!-- document base URI -->
309 <!ELEMENT base EMPTY>
310 <!ATTLIST base
311 id ID #IMPLIED
312 href %URI; #IMPLIED
313 target %FrameTarget; #IMPLIED
316 <!-- generic metainformation -->
317 <!ELEMENT meta EMPTY>
318 <!ATTLIST meta
319 %i18n;
320 id ID #IMPLIED
321 http-equiv CDATA #IMPLIED
322 name CDATA #IMPLIED
323 content CDATA #REQUIRED
324 scheme CDATA #IMPLIED
327 <!--
328 Relationship values can be used in principle:
330 a) for document specific toolbars/menus when used
331 with the link element in document head e.g.
332 start, contents, previous, next, index, end, help
333 b) to link to a separate style sheet (rel="stylesheet")
334 c) to make a link to a script (rel="script")
335 d) by stylesheets to control how collections of
336 html nodes are rendered into printed documents
337 e) to make a link to a printable version of this document
338 e.g. a PostScript or PDF version (rel="alternate" media="print")
341 <!ELEMENT link EMPTY>
342 <!ATTLIST link
343 %attrs;
344 charset %Charset; #IMPLIED
345 href %URI; #IMPLIED
346 hreflang %LanguageCode; #IMPLIED
347 type %ContentType; #IMPLIED
348 rel %LinkTypes; #IMPLIED
349 rev %LinkTypes; #IMPLIED
350 media %MediaDesc; #IMPLIED
351 target %FrameTarget; #IMPLIED
354 <!-- style info, which may include CDATA sections -->
355 <!ELEMENT style (#PCDATA)>
356 <!ATTLIST style
357 %i18n;
358 id ID #IMPLIED
359 type %ContentType; #REQUIRED
360 media %MediaDesc; #IMPLIED
361 title %Text; #IMPLIED
362 xml:space (preserve) #FIXED 'preserve'
365 <!-- script statements, which may include CDATA sections -->
366 <!ELEMENT script (#PCDATA)>
367 <!ATTLIST script
368 id ID #IMPLIED
369 charset %Charset; #IMPLIED
370 type %ContentType; #REQUIRED
371 language CDATA #IMPLIED
372 src %URI; #IMPLIED
373 defer (defer) #IMPLIED
374 xml:space (preserve) #FIXED 'preserve'
377 <!-- alternate content container for non script-based rendering -->
379 <!ELEMENT noscript %Flow;>
380 <!ATTLIST noscript
381 %attrs;
384 <!--======================= Frames =======================================-->
386 <!-- inline subwindow -->
388 <!ELEMENT iframe %Flow;>
389 <!ATTLIST iframe
390 %coreattrs;
391 longdesc %URI; #IMPLIED
392 name NMTOKEN #IMPLIED
393 src %URI; #IMPLIED
394 frameborder (1|0) "1"
395 marginwidth %Pixels; #IMPLIED
396 marginheight %Pixels; #IMPLIED
397 scrolling (yes|no|auto) "auto"
398 align %ImgAlign; #IMPLIED
399 height %Length; #IMPLIED
400 width %Length; #IMPLIED
403 <!-- alternate content container for non frame-based rendering -->
405 <!ELEMENT noframes %Flow;>
406 <!ATTLIST noframes
407 %attrs;
410 <!--=================== Document Body ====================================-->
412 <!ELEMENT body %Flow;>
413 <!ATTLIST body
414 %attrs;
415 onload %Script; #IMPLIED
416 onunload %Script; #IMPLIED
417 background %URI; #IMPLIED
418 bgcolor %Color; #IMPLIED
419 text %Color; #IMPLIED
420 link %Color; #IMPLIED
421 vlink %Color; #IMPLIED
422 alink %Color; #IMPLIED
425 <!ELEMENT div %Flow;> <!-- generic language/style container -->
426 <!ATTLIST div
427 %attrs;
428 %TextAlign;
431 <!--=================== Paragraphs =======================================-->
433 <!ELEMENT p %Inline;>
434 <!ATTLIST p
435 %attrs;
436 %TextAlign;
439 <!--=================== Headings =========================================-->
441 <!--
442 There are six levels of headings from h1 (the most important)
443 to h6 (the least important).
446 <!ELEMENT h1 %Inline;>
447 <!ATTLIST h1
448 %attrs;
449 %TextAlign;
452 <!ELEMENT h2 %Inline;>
453 <!ATTLIST h2
454 %attrs;
455 %TextAlign;
458 <!ELEMENT h3 %Inline;>
459 <!ATTLIST h3
460 %attrs;
461 %TextAlign;
464 <!ELEMENT h4 %Inline;>
465 <!ATTLIST h4
466 %attrs;
467 %TextAlign;
470 <!ELEMENT h5 %Inline;>
471 <!ATTLIST h5
472 %attrs;
473 %TextAlign;
476 <!ELEMENT h6 %Inline;>
477 <!ATTLIST h6
478 %attrs;
479 %TextAlign;
482 <!--=================== Lists ============================================-->
484 <!-- Unordered list bullet styles -->
486 <!ENTITY % ULStyle "(disc|square|circle)">
488 <!-- Unordered list -->
490 <!ELEMENT ul (li)+>
491 <!ATTLIST ul
492 %attrs;
493 type %ULStyle; #IMPLIED
494 compact (compact) #IMPLIED
497 <!-- Ordered list numbering style
499 1 arabic numbers 1, 2, 3, ...
500 a lower alpha a, b, c, ...
501 A upper alpha A, B, C, ...
502 i lower roman i, ii, iii, ...
503 I upper roman I, II, III, ...
505 The style is applied to the sequence number which by default
506 is reset to 1 for the first list item in an ordered list.
508 <!ENTITY % OLStyle "CDATA">
510 <!-- Ordered (numbered) list -->
512 <!ELEMENT ol (li)+>
513 <!ATTLIST ol
514 %attrs;
515 type %OLStyle; #IMPLIED
516 compact (compact) #IMPLIED
517 start %Number; #IMPLIED
520 <!-- single column list (DEPRECATED) -->
521 <!ELEMENT menu (li)+>
522 <!ATTLIST menu
523 %attrs;
524 compact (compact) #IMPLIED
527 <!-- multiple column list (DEPRECATED) -->
528 <!ELEMENT dir (li)+>
529 <!ATTLIST dir
530 %attrs;
531 compact (compact) #IMPLIED
534 <!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
535 <!ENTITY % LIStyle "CDATA">
537 <!-- list item -->
539 <!ELEMENT li %Flow;>
540 <!ATTLIST li
541 %attrs;
542 type %LIStyle; #IMPLIED
543 value %Number; #IMPLIED
546 <!-- definition lists - dt for term, dd for its definition -->
548 <!ELEMENT dl (dt|dd)+>
549 <!ATTLIST dl
550 %attrs;
551 compact (compact) #IMPLIED
554 <!ELEMENT dt %Inline;>
555 <!ATTLIST dt
556 %attrs;
559 <!ELEMENT dd %Flow;>
560 <!ATTLIST dd
561 %attrs;
564 <!--=================== Address ==========================================-->
566 <!-- information on author -->
568 <!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
569 <!ATTLIST address
570 %attrs;
573 <!--=================== Horizontal Rule ==================================-->
575 <!ELEMENT hr EMPTY>
576 <!ATTLIST hr
577 %attrs;
578 align (left|center|right) #IMPLIED
579 noshade (noshade) #IMPLIED
580 size %Pixels; #IMPLIED
581 width %Length; #IMPLIED
584 <!--=================== Preformatted Text ================================-->
586 <!-- content is %Inline; excluding
587 "img|object|applet|big|small|sub|sup|font|basefont" -->
589 <!ELEMENT pre %pre.content;>
590 <!ATTLIST pre
591 %attrs;
592 width %Number; #IMPLIED
593 xml:space (preserve) #FIXED 'preserve'
596 <!--=================== Block-like Quotes ================================-->
598 <!ELEMENT blockquote %Flow;>
599 <!ATTLIST blockquote
600 %attrs;
601 cite %URI; #IMPLIED
604 <!--=================== Text alignment ===================================-->
606 <!-- center content -->
607 <!ELEMENT center %Flow;>
608 <!ATTLIST center
609 %attrs;
612 <!--=================== Inserted/Deleted Text ============================-->
614 <!--
615 ins/del are allowed in block and inline content, but its
616 inappropriate to include block content within an ins element
617 occurring in inline content.
619 <!ELEMENT ins %Flow;>
620 <!ATTLIST ins
621 %attrs;
622 cite %URI; #IMPLIED
623 datetime %Datetime; #IMPLIED
626 <!ELEMENT del %Flow;>
627 <!ATTLIST del
628 %attrs;
629 cite %URI; #IMPLIED
630 datetime %Datetime; #IMPLIED
633 <!--================== The Anchor Element ================================-->
635 <!-- content is %Inline; except that anchors shouldn't be nested -->
637 <!ELEMENT a %a.content;>
638 <!ATTLIST a
639 %attrs;
640 %focus;
641 charset %Charset; #IMPLIED
642 type %ContentType; #IMPLIED
643 name NMTOKEN #IMPLIED
644 href %URI; #IMPLIED
645 hreflang %LanguageCode; #IMPLIED
646 rel %LinkTypes; #IMPLIED
647 rev %LinkTypes; #IMPLIED
648 shape %Shape; "rect"
649 coords %Coords; #IMPLIED
650 target %FrameTarget; #IMPLIED
653 <!--===================== Inline Elements ================================-->
655 <!ELEMENT span %Inline;> <!-- generic language/style container -->
656 <!ATTLIST span
657 %attrs;
660 <!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
661 <!ATTLIST bdo
662 %coreattrs;
663 %events;
664 lang %LanguageCode; #IMPLIED
665 xml:lang %LanguageCode; #IMPLIED
666 dir (ltr|rtl) #REQUIRED
669 <!ELEMENT br EMPTY> <!-- forced line break -->
670 <!ATTLIST br
671 %coreattrs;
672 clear (left|all|right|none) "none"
675 <!ELEMENT em %Inline;> <!-- emphasis -->
676 <!ATTLIST em %attrs;>
678 <!ELEMENT strong %Inline;> <!-- strong emphasis -->
679 <!ATTLIST strong %attrs;>
681 <!ELEMENT dfn %Inline;> <!-- definitional -->
682 <!ATTLIST dfn %attrs;>
684 <!ELEMENT code %Inline;> <!-- program code -->
685 <!ATTLIST code %attrs;>
687 <!ELEMENT samp %Inline;> <!-- sample -->
688 <!ATTLIST samp %attrs;>
690 <!ELEMENT kbd %Inline;> <!-- something user would type -->
691 <!ATTLIST kbd %attrs;>
693 <!ELEMENT var %Inline;> <!-- variable -->
694 <!ATTLIST var %attrs;>
696 <!ELEMENT cite %Inline;> <!-- citation -->
697 <!ATTLIST cite %attrs;>
699 <!ELEMENT abbr %Inline;> <!-- abbreviation -->
700 <!ATTLIST abbr %attrs;>
702 <!ELEMENT acronym %Inline;> <!-- acronym -->
703 <!ATTLIST acronym %attrs;>
705 <!ELEMENT q %Inline;> <!-- inlined quote -->
706 <!ATTLIST q
707 %attrs;
708 cite %URI; #IMPLIED
711 <!ELEMENT sub %Inline;> <!-- subscript -->
712 <!ATTLIST sub %attrs;>
714 <!ELEMENT sup %Inline;> <!-- superscript -->
715 <!ATTLIST sup %attrs;>
717 <!ELEMENT tt %Inline;> <!-- fixed pitch font -->
718 <!ATTLIST tt %attrs;>
720 <!ELEMENT i %Inline;> <!-- italic font -->
721 <!ATTLIST i %attrs;>
723 <!ELEMENT b %Inline;> <!-- bold font -->
724 <!ATTLIST b %attrs;>
726 <!ELEMENT big %Inline;> <!-- bigger font -->
727 <!ATTLIST big %attrs;>
729 <!ELEMENT small %Inline;> <!-- smaller font -->
730 <!ATTLIST small %attrs;>
732 <!ELEMENT u %Inline;> <!-- underline -->
733 <!ATTLIST u %attrs;>
735 <!ELEMENT s %Inline;> <!-- strike-through -->
736 <!ATTLIST s %attrs;>
738 <!ELEMENT strike %Inline;> <!-- strike-through -->
739 <!ATTLIST strike %attrs;>
741 <!ELEMENT basefont EMPTY> <!-- base font size -->
742 <!ATTLIST basefont
743 id ID #IMPLIED
744 size CDATA #REQUIRED
745 color %Color; #IMPLIED
746 face CDATA #IMPLIED
749 <!ELEMENT font %Inline;> <!-- local change to font -->
750 <!ATTLIST font
751 %coreattrs;
752 %i18n;
753 size CDATA #IMPLIED
754 color %Color; #IMPLIED
755 face CDATA #IMPLIED
758 <!--==================== Object ======================================-->
759 <!--
760 object is used to embed objects as part of HTML pages.
761 param elements should precede other content. Parameters
762 can also be expressed as attribute/value pairs on the
763 object element itself when brevity is desired.
766 <!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
767 <!ATTLIST object
768 %attrs;
769 declare (declare) #IMPLIED
770 classid %URI; #IMPLIED
771 codebase %URI; #IMPLIED
772 data %URI; #IMPLIED
773 type %ContentType; #IMPLIED
774 codetype %ContentType; #IMPLIED
775 archive %UriList; #IMPLIED
776 standby %Text; #IMPLIED
777 height %Length; #IMPLIED
778 width %Length; #IMPLIED
779 usemap %URI; #IMPLIED
780 name NMTOKEN #IMPLIED
781 tabindex %Number; #IMPLIED
782 align %ImgAlign; #IMPLIED
783 border %Pixels; #IMPLIED
784 hspace %Pixels; #IMPLIED
785 vspace %Pixels; #IMPLIED
788 <!--
789 param is used to supply a named property value.
790 In XML it would seem natural to follow RDF and support an
791 abbreviated syntax where the param elements are replaced
792 by attribute value pairs on the object start tag.
794 <!ELEMENT param EMPTY>
795 <!ATTLIST param
796 id ID #IMPLIED
797 name CDATA #REQUIRED
798 value CDATA #IMPLIED
799 valuetype (data|ref|object) "data"
800 type %ContentType; #IMPLIED
803 <!--=================== Java applet ==================================-->
804 <!--
805 One of code or object attributes must be present.
806 Place param elements before other content.
808 <!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
809 <!ATTLIST applet
810 %coreattrs;
811 codebase %URI; #IMPLIED
812 archive CDATA #IMPLIED
813 code CDATA #IMPLIED
814 object CDATA #IMPLIED
815 alt %Text; #IMPLIED
816 name NMTOKEN #IMPLIED
817 width %Length; #REQUIRED
818 height %Length; #REQUIRED
819 align %ImgAlign; #IMPLIED
820 hspace %Pixels; #IMPLIED
821 vspace %Pixels; #IMPLIED
824 <!--=================== Images ===========================================-->
826 <!--
827 To avoid accessibility problems for people who aren't
828 able to see the image, you should provide a text
829 description using the alt and longdesc attributes.
830 In addition, avoid the use of server-side image maps.
833 <!ELEMENT img EMPTY>
834 <!ATTLIST img
835 %attrs;
836 src %URI; #REQUIRED
837 alt %Text; #REQUIRED
838 name NMTOKEN #IMPLIED
839 longdesc %URI; #IMPLIED
840 height %Length; #IMPLIED
841 width %Length; #IMPLIED
842 usemap %URI; #IMPLIED
843 ismap (ismap) #IMPLIED
844 align %ImgAlign; #IMPLIED
845 border %Length; #IMPLIED
846 hspace %Pixels; #IMPLIED
847 vspace %Pixels; #IMPLIED
850 <!-- usemap points to a map element which may be in this document
851 or an external document, although the latter is not widely supported -->
853 <!--================== Client-side image maps ============================-->
855 <!-- These can be placed in the same document or grouped in a
856 separate document although this isn't yet widely supported -->
858 <!ELEMENT map ((%block; | form | %misc;)+ | area+)>
859 <!ATTLIST map
860 %i18n;
861 %events;
862 id ID #REQUIRED
863 class CDATA #IMPLIED
864 style %StyleSheet; #IMPLIED
865 title %Text; #IMPLIED
866 name CDATA #IMPLIED
869 <!ELEMENT area EMPTY>
870 <!ATTLIST area
871 %attrs;
872 %focus;
873 shape %Shape; "rect"
874 coords %Coords; #IMPLIED
875 href %URI; #IMPLIED
876 nohref (nohref) #IMPLIED
877 alt %Text; #REQUIRED
878 target %FrameTarget; #IMPLIED
881 <!--================ Forms ===============================================-->
883 <!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
885 <!ATTLIST form
886 %attrs;
887 action %URI; #REQUIRED
888 method (get|post) "get"
889 name NMTOKEN #IMPLIED
890 enctype %ContentType; "application/x-www-form-urlencoded"
891 onsubmit %Script; #IMPLIED
892 onreset %Script; #IMPLIED
893 accept %ContentTypes; #IMPLIED
894 accept-charset %Charsets; #IMPLIED
895 target %FrameTarget; #IMPLIED
898 <!--
899 Each label must not contain more than ONE field
900 Label elements shouldn't be nested.
902 <!ELEMENT label %Inline;>
903 <!ATTLIST label
904 %attrs;
905 for IDREF #IMPLIED
906 accesskey %Character; #IMPLIED
907 onfocus %Script; #IMPLIED
908 onblur %Script; #IMPLIED
911 <!ENTITY % InputType
912 "(text | password | checkbox |
913 radio | submit | reset |
914 file | hidden | image | button)"
917 <!-- the name attribute is required for all but submit & reset -->
919 <!ELEMENT input EMPTY> <!-- form control -->
920 <!ATTLIST input
921 %attrs;
922 %focus;
923 type %InputType; "text"
924 name CDATA #IMPLIED
925 value CDATA #IMPLIED
926 checked (checked) #IMPLIED
927 disabled (disabled) #IMPLIED
928 readonly (readonly) #IMPLIED
929 size CDATA #IMPLIED
930 maxlength %Number; #IMPLIED
931 src %URI; #IMPLIED
932 alt CDATA #IMPLIED
933 usemap %URI; #IMPLIED
934 onselect %Script; #IMPLIED
935 onchange %Script; #IMPLIED
936 accept %ContentTypes; #IMPLIED
937 align %ImgAlign; #IMPLIED
940 <!ELEMENT select (optgroup|option)+> <!-- option selector -->
941 <!ATTLIST select
942 %attrs;
943 name CDATA #IMPLIED
944 size %Number; #IMPLIED
945 multiple (multiple) #IMPLIED
946 disabled (disabled) #IMPLIED
947 tabindex %Number; #IMPLIED
948 onfocus %Script; #IMPLIED
949 onblur %Script; #IMPLIED
950 onchange %Script; #IMPLIED
953 <!ELEMENT optgroup (option)+> <!-- option group -->
954 <!ATTLIST optgroup
955 %attrs;
956 disabled (disabled) #IMPLIED
957 label %Text; #REQUIRED
960 <!ELEMENT option (#PCDATA)> <!-- selectable choice -->
961 <!ATTLIST option
962 %attrs;
963 selected (selected) #IMPLIED
964 disabled (disabled) #IMPLIED
965 label %Text; #IMPLIED
966 value CDATA #IMPLIED
969 <!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
970 <!ATTLIST textarea
971 %attrs;
972 %focus;
973 name CDATA #IMPLIED
974 rows %Number; #REQUIRED
975 cols %Number; #REQUIRED
976 disabled (disabled) #IMPLIED
977 readonly (readonly) #IMPLIED
978 onselect %Script; #IMPLIED
979 onchange %Script; #IMPLIED
982 <!--
983 The fieldset element is used to group form fields.
984 Only one legend element should occur in the content
985 and if present should only be preceded by whitespace.
987 <!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
988 <!ATTLIST fieldset
989 %attrs;
992 <!ENTITY % LAlign "(top|bottom|left|right)">
994 <!ELEMENT legend %Inline;> <!-- fieldset label -->
995 <!ATTLIST legend
996 %attrs;
997 accesskey %Character; #IMPLIED
998 align %LAlign; #IMPLIED
1001 <!--
1002 Content is %Flow; excluding a, form, form controls, iframe
1003 -->
1004 <!ELEMENT button %button.content;> <!-- push button -->
1005 <!ATTLIST button
1006 %attrs;
1007 %focus;
1008 name CDATA #IMPLIED
1009 value CDATA #IMPLIED
1010 type (button|submit|reset) "submit"
1011 disabled (disabled) #IMPLIED
1014 <!-- single-line text input control (DEPRECATED) -->
1015 <!ELEMENT isindex EMPTY>
1016 <!ATTLIST isindex
1017 %coreattrs;
1018 %i18n;
1019 prompt %Text; #IMPLIED
1022 <!--======================= Tables =======================================-->
1024 <!-- Derived from IETF HTML table standard, see [RFC1942] -->
1026 <!--
1027 The border attribute sets the thickness of the frame around the
1028 table. The default units are screen pixels.
1030 The frame attribute specifies which parts of the frame around
1031 the table should be rendered. The values are not the same as
1032 CALS to avoid a name clash with the valign attribute.
1034 <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
1036 <!--
1037 The rules attribute defines which rules to draw between cells:
1039 If rules is absent then assume:
1040 "none" if border is absent or border="0" otherwise "all"
1043 <!ENTITY % TRules "(none | groups | rows | cols | all)">
1045 <!-- horizontal placement of table relative to document -->
1046 <!ENTITY % TAlign "(left|center|right)">
1048 <!-- horizontal alignment attributes for cell contents
1050 char alignment char, e.g. char=':'
1051 charoff offset for alignment char
1053 <!ENTITY % cellhalign
1054 "align (left|center|right|justify|char) #IMPLIED
1055 char %Character; #IMPLIED
1056 charoff %Length; #IMPLIED"
1059 <!-- vertical alignment attributes for cell contents -->
1060 <!ENTITY % cellvalign
1061 "valign (top|middle|bottom|baseline) #IMPLIED"
1064 <!ELEMENT table
1065 (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
1066 <!ELEMENT caption %Inline;>
1067 <!ELEMENT thead (tr)+>
1068 <!ELEMENT tfoot (tr)+>
1069 <!ELEMENT tbody (tr)+>
1070 <!ELEMENT colgroup (col)*>
1071 <!ELEMENT col EMPTY>
1072 <!ELEMENT tr (th|td)+>
1073 <!ELEMENT th %Flow;>
1074 <!ELEMENT td %Flow;>
1076 <!ATTLIST table
1077 %attrs;
1078 summary %Text; #IMPLIED
1079 width %Length; #IMPLIED
1080 border %Pixels; #IMPLIED
1081 frame %TFrame; #IMPLIED
1082 rules %TRules; #IMPLIED
1083 cellspacing %Length; #IMPLIED
1084 cellpadding %Length; #IMPLIED
1085 align %TAlign; #IMPLIED
1086 bgcolor %Color; #IMPLIED
1089 <!ENTITY % CAlign "(top|bottom|left|right)">
1091 <!ATTLIST caption
1092 %attrs;
1093 align %CAlign; #IMPLIED
1096 <!--
1097 colgroup groups a set of col elements. It allows you to group
1098 several semantically related columns together.
1100 <!ATTLIST colgroup
1101 %attrs;
1102 span %Number; "1"
1103 width %MultiLength; #IMPLIED
1104 %cellhalign;
1105 %cellvalign;
1108 <!--
1109 col elements define the alignment properties for cells in
1110 one or more columns.
1112 The width attribute specifies the width of the columns, e.g.
1114 width=64 width in screen pixels
1115 width=0.5* relative width of 0.5
1117 The span attribute causes the attributes of one
1118 col element to apply to more than one column.
1120 <!ATTLIST col
1121 %attrs;
1122 span %Number; "1"
1123 width %MultiLength; #IMPLIED
1124 %cellhalign;
1125 %cellvalign;
1128 <!--
1129 Use thead to duplicate headers when breaking table
1130 across page boundaries, or for static headers when
1131 tbody sections are rendered in scrolling panel.
1133 Use tfoot to duplicate footers when breaking table
1134 across page boundaries, or for static footers when
1135 tbody sections are rendered in scrolling panel.
1137 Use multiple tbody sections when rules are needed
1138 between groups of table rows.
1140 <!ATTLIST thead
1141 %attrs;
1142 %cellhalign;
1143 %cellvalign;
1146 <!ATTLIST tfoot
1147 %attrs;
1148 %cellhalign;
1149 %cellvalign;
1152 <!ATTLIST tbody
1153 %attrs;
1154 %cellhalign;
1155 %cellvalign;
1158 <!ATTLIST tr
1159 %attrs;
1160 %cellhalign;
1161 %cellvalign;
1162 bgcolor %Color; #IMPLIED
1165 <!-- Scope is simpler than headers attribute for common tables -->
1166 <!ENTITY % Scope "(row|col|rowgroup|colgroup)">
1168 <!-- th is for headers, td for data and for cells acting as both -->
1170 <!ATTLIST th
1171 %attrs;
1172 abbr %Text; #IMPLIED
1173 axis CDATA #IMPLIED
1174 headers IDREFS #IMPLIED
1175 scope %Scope; #IMPLIED
1176 rowspan %Number; "1"
1177 colspan %Number; "1"
1178 %cellhalign;
1179 %cellvalign;
1180 nowrap (nowrap) #IMPLIED
1181 bgcolor %Color; #IMPLIED
1182 width %Length; #IMPLIED
1183 height %Length; #IMPLIED
1186 <!ATTLIST td
1187 %attrs;
1188 abbr %Text; #IMPLIED
1189 axis CDATA #IMPLIED
1190 headers IDREFS #IMPLIED
1191 scope %Scope; #IMPLIED
1192 rowspan %Number; "1"
1193 colspan %Number; "1"
1194 %cellhalign;
1195 %cellvalign;
1196 nowrap (nowrap) #IMPLIED
1197 bgcolor %Color; #IMPLIED
1198 width %Length; #IMPLIED
1199 height %Length; #IMPLIED