blob: ff132b4754db8aee1a9ffc3cece6ddac3b5a4fff [file] [log] [blame]
Jean-Baptiste Querub56ea2a2013-01-08 11:11:20 -08001<!--
2 Extensible HTML version 1.0 Transitional DTD
3
4 This is the same as HTML 4 Transitional except for
5 changes due to the differences between XML and SGML.
6
7 Namespace = http://www.w3.org/1999/xhtml
8
9 For further information, see: http://www.w3.org/TR/xhtml1
10
11 Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio),
12 All Rights Reserved.
13
14 This DTD module is identified by the PUBLIC and SYSTEM identifiers:
15
16 PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
17 SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
18
19 $Revision: 1.1 $
20 $Date: 2004/09/17 17:05:38 $
21
22-->
23
24<!--================ Character mnemonic entities =========================-->
25
26<!ENTITY % HTMLlat1 PUBLIC
27 "-//W3C//ENTITIES Latin 1 for XHTML//EN"
28 "xhtml-lat1.ent">
29%HTMLlat1;
30
31<!ENTITY % HTMLsymbol PUBLIC
32 "-//W3C//ENTITIES Symbols for XHTML//EN"
33 "xhtml-symbol.ent">
34%HTMLsymbol;
35
36<!ENTITY % HTMLspecial PUBLIC
37 "-//W3C//ENTITIES Special for XHTML//EN"
38 "xhtml-special.ent">
39%HTMLspecial;
40
41<!--================== Imported Names ====================================-->
42
43<!ENTITY % ContentType "CDATA">
44 <!-- media type, as per [RFC2045] -->
45
46<!ENTITY % ContentTypes "CDATA">
47 <!-- comma-separated list of media types, as per [RFC2045] -->
48
49<!ENTITY % Charset "CDATA">
50 <!-- a character encoding, as per [RFC2045] -->
51
52<!ENTITY % Charsets "CDATA">
53 <!-- a space separated list of character encodings, as per [RFC2045] -->
54
55<!ENTITY % LanguageCode "NMTOKEN">
56 <!-- a language code, as per [RFC3066] -->
57
58<!ENTITY % Character "CDATA">
59 <!-- a single character, as per section 2.2 of [XML] -->
60
61<!ENTITY % Number "CDATA">
62 <!-- one or more digits -->
63
64<!ENTITY % LinkTypes "CDATA">
65 <!-- space-separated list of link types -->
66
67<!ENTITY % MediaDesc "CDATA">
68 <!-- single or comma-separated list of media descriptors -->
69
70<!ENTITY % URI "CDATA">
71 <!-- a Uniform Resource Identifier, see [RFC2396] -->
72
73<!ENTITY % UriList "CDATA">
74 <!-- a space separated list of Uniform Resource Identifiers -->
75
76<!ENTITY % Datetime "CDATA">
77 <!-- date and time information. ISO date format -->
78
79<!ENTITY % Script "CDATA">
80 <!-- script expression -->
81
82<!ENTITY % StyleSheet "CDATA">
83 <!-- style sheet data -->
84
85<!ENTITY % Text "CDATA">
86 <!-- used for titles etc. -->
87
88<!ENTITY % FrameTarget "NMTOKEN">
89 <!-- render in this frame -->
90
91<!ENTITY % Length "CDATA">
92 <!-- nn for pixels or nn% for percentage length -->
93
94<!ENTITY % MultiLength "CDATA">
95 <!-- pixel, percentage, or relative -->
96
97<!ENTITY % Pixels "CDATA">
98 <!-- integer representing length in pixels -->
99
100<!-- these are used for image maps -->
101
102<!ENTITY % Shape "(rect|circle|poly|default)">
103
104<!ENTITY % Coords "CDATA">
105 <!-- comma separated list of lengths -->
106
107<!-- used for object, applet, img, input and iframe -->
108<!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
109
110<!-- a color using sRGB: #RRGGBB as Hex values -->
111<!ENTITY % Color "CDATA">
112
113<!-- There are also 16 widely known color names with their sRGB values:
114
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
123-->
124
125<!--=================== Generic Attributes ===============================-->
126
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
132-->
133<!ENTITY % coreattrs
134 "id ID #IMPLIED
135 class CDATA #IMPLIED
136 style %StyleSheet; #IMPLIED
137 title %Text; #IMPLIED"
138 >
139
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
144-->
145<!ENTITY % i18n
146 "lang %LanguageCode; #IMPLIED
147 xml:lang %LanguageCode; #IMPLIED
148 dir (ltr|rtl) #IMPLIED"
149 >
150
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
161-->
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"
173 >
174
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
180-->
181<!ENTITY % focus
182 "accesskey %Character; #IMPLIED
183 tabindex %Number; #IMPLIED
184 onfocus %Script; #IMPLIED
185 onblur %Script; #IMPLIED"
186 >
187
188<!ENTITY % attrs "%coreattrs; %i18n; %events;">
189
190<!-- text alignment for p, div, h1-h6. The default is
191 align="left" for ltr headings, "right" for rtl -->
192
193<!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
194
195<!--=================== Text Elements ====================================-->
196
197<!ENTITY % special.extra
198 "object | applet | img | map | iframe">
199
200<!ENTITY % special.basic
201 "br | span | bdo">
202
203<!ENTITY % special
204 "%special.basic; | %special.extra;">
205
206<!ENTITY % fontstyle.extra "big | small | font | basefont">
207
208<!ENTITY % fontstyle.basic "tt | i | b | u
209 | s | strike ">
210
211<!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
212
213<!ENTITY % phrase.extra "sub | sup">
214<!ENTITY % phrase.basic "em | strong | dfn | code | q |
215 samp | kbd | var | cite | abbr | acronym">
216
217<!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
218
219<!ENTITY % inline.forms "input | select | textarea | label | button">
220
221<!-- these can occur at block or inline level -->
222<!ENTITY % misc.inline "ins | del | script">
223
224<!-- these can only occur at block level -->
225<!ENTITY % misc "noscript | %misc.inline;">
226
227<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
228
229<!-- %Inline; covers inline or "text-level" elements -->
230<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
231
232<!--================== Block level elements ==============================-->
233
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">
237
238<!ENTITY % block
239 "p | %heading; | div | %lists; | %blocktext; | isindex |fieldset | table">
240
241<!-- %Flow; mixes block and inline and is used for list items etc. -->
242<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
243
244<!--================== Content models for exclusions =====================-->
245
246<!-- a elements use %Inline; excluding a -->
247
248<!ENTITY % a.content
249 "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
250
251<!-- pre uses %Inline excluding img, object, applet, big, small,
252 font, or basefont -->
253
254<!ENTITY % pre.content
255 "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
256 %inline.forms; | %misc.inline;)*">
257
258<!-- form uses %Flow; excluding form -->
259
260<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
261
262<!-- button uses %Flow; but excludes a, form, form controls, iframe -->
263
264<!ENTITY % button.content
265 "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
266 table | br | span | bdo | object | applet | img | map |
267 %fontstyle; | %phrase; | %misc;)*">
268
269<!--================ Document Structure ==================================-->
270
271<!-- the namespace URI designates the document profile -->
272
273<!ELEMENT html (head, body)>
274<!ATTLIST html
275 %i18n;
276 id ID #IMPLIED
277 xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
278 >
279
280<!--================ Document Head =======================================-->
281
282<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
283
284<!-- content model is %head.misc; combined with a single
285 title and an optional base element in any order -->
286
287<!ELEMENT head (%head.misc;,
288 ((title, %head.misc;, (base, %head.misc;)?) |
289 (base, %head.misc;, (title, %head.misc;))))>
290
291<!ATTLIST head
292 %i18n;
293 id ID #IMPLIED
294 profile %URI; #IMPLIED
295 >
296
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.
300 -->
301<!ELEMENT title (#PCDATA)>
302<!ATTLIST title
303 %i18n;
304 id ID #IMPLIED
305 >
306
307<!-- document base URI -->
308
309<!ELEMENT base EMPTY>
310<!ATTLIST base
311 id ID #IMPLIED
312 href %URI; #IMPLIED
313 target %FrameTarget; #IMPLIED
314 >
315
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
325 >
326
327<!--
328 Relationship values can be used in principle:
329
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")
339-->
340
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
352 >
353
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'
363 >
364
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'
375 >
376
377<!-- alternate content container for non script-based rendering -->
378
379<!ELEMENT noscript %Flow;>
380<!ATTLIST noscript
381 %attrs;
382 >
383
384<!--======================= Frames =======================================-->
385
386<!-- inline subwindow -->
387
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
401 >
402
403<!-- alternate content container for non frame-based rendering -->
404
405<!ELEMENT noframes %Flow;>
406<!ATTLIST noframes
407 %attrs;
408 >
409
410<!--=================== Document Body ====================================-->
411
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
423 >
424
425<!ELEMENT div %Flow;> <!-- generic language/style container -->
426<!ATTLIST div
427 %attrs;
428 %TextAlign;
429 >
430
431<!--=================== Paragraphs =======================================-->
432
433<!ELEMENT p %Inline;>
434<!ATTLIST p
435 %attrs;
436 %TextAlign;
437 >
438
439<!--=================== Headings =========================================-->
440
441<!--
442 There are six levels of headings from h1 (the most important)
443 to h6 (the least important).
444-->
445
446<!ELEMENT h1 %Inline;>
447<!ATTLIST h1
448 %attrs;
449 %TextAlign;
450 >
451
452<!ELEMENT h2 %Inline;>
453<!ATTLIST h2
454 %attrs;
455 %TextAlign;
456 >
457
458<!ELEMENT h3 %Inline;>
459<!ATTLIST h3
460 %attrs;
461 %TextAlign;
462 >
463
464<!ELEMENT h4 %Inline;>
465<!ATTLIST h4
466 %attrs;
467 %TextAlign;
468 >
469
470<!ELEMENT h5 %Inline;>
471<!ATTLIST h5
472 %attrs;
473 %TextAlign;
474 >
475
476<!ELEMENT h6 %Inline;>
477<!ATTLIST h6
478 %attrs;
479 %TextAlign;
480 >
481
482<!--=================== Lists ============================================-->
483
484<!-- Unordered list bullet styles -->
485
486<!ENTITY % ULStyle "(disc|square|circle)">
487
488<!-- Unordered list -->
489
490<!ELEMENT ul (li)+>
491<!ATTLIST ul
492 %attrs;
493 type %ULStyle; #IMPLIED
494 compact (compact) #IMPLIED
495 >
496
497<!-- Ordered list numbering style
498
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, ...
504
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.
507-->
508<!ENTITY % OLStyle "CDATA">
509
510<!-- Ordered (numbered) list -->
511
512<!ELEMENT ol (li)+>
513<!ATTLIST ol
514 %attrs;
515 type %OLStyle; #IMPLIED
516 compact (compact) #IMPLIED
517 start %Number; #IMPLIED
518 >
519
520<!-- single column list (DEPRECATED) -->
521<!ELEMENT menu (li)+>
522<!ATTLIST menu
523 %attrs;
524 compact (compact) #IMPLIED
525 >
526
527<!-- multiple column list (DEPRECATED) -->
528<!ELEMENT dir (li)+>
529<!ATTLIST dir
530 %attrs;
531 compact (compact) #IMPLIED
532 >
533
534<!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
535<!ENTITY % LIStyle "CDATA">
536
537<!-- list item -->
538
539<!ELEMENT li %Flow;>
540<!ATTLIST li
541 %attrs;
542 type %LIStyle; #IMPLIED
543 value %Number; #IMPLIED
544 >
545
546<!-- definition lists - dt for term, dd for its definition -->
547
548<!ELEMENT dl (dt|dd)+>
549<!ATTLIST dl
550 %attrs;
551 compact (compact) #IMPLIED
552 >
553
554<!ELEMENT dt %Inline;>
555<!ATTLIST dt
556 %attrs;
557 >
558
559<!ELEMENT dd %Flow;>
560<!ATTLIST dd
561 %attrs;
562 >
563
564<!--=================== Address ==========================================-->
565
566<!-- information on author -->
567
568<!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
569<!ATTLIST address
570 %attrs;
571 >
572
573<!--=================== Horizontal Rule ==================================-->
574
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
582 >
583
584<!--=================== Preformatted Text ================================-->
585
586<!-- content is %Inline; excluding
587 "img|object|applet|big|small|sub|sup|font|basefont" -->
588
589<!ELEMENT pre %pre.content;>
590<!ATTLIST pre
591 %attrs;
592 width %Number; #IMPLIED
593 xml:space (preserve) #FIXED 'preserve'
594 >
595
596<!--=================== Block-like Quotes ================================-->
597
598<!ELEMENT blockquote %Flow;>
599<!ATTLIST blockquote
600 %attrs;
601 cite %URI; #IMPLIED
602 >
603
604<!--=================== Text alignment ===================================-->
605
606<!-- center content -->
607<!ELEMENT center %Flow;>
608<!ATTLIST center
609 %attrs;
610 >
611
612<!--=================== Inserted/Deleted Text ============================-->
613
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.
618-->
619<!ELEMENT ins %Flow;>
620<!ATTLIST ins
621 %attrs;
622 cite %URI; #IMPLIED
623 datetime %Datetime; #IMPLIED
624 >
625
626<!ELEMENT del %Flow;>
627<!ATTLIST del
628 %attrs;
629 cite %URI; #IMPLIED
630 datetime %Datetime; #IMPLIED
631 >
632
633<!--================== The Anchor Element ================================-->
634
635<!-- content is %Inline; except that anchors shouldn't be nested -->
636
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
651 >
652
653<!--===================== Inline Elements ================================-->
654
655<!ELEMENT span %Inline;> <!-- generic language/style container -->
656<!ATTLIST span
657 %attrs;
658 >
659
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
667 >
668
669<!ELEMENT br EMPTY> <!-- forced line break -->
670<!ATTLIST br
671 %coreattrs;
672 clear (left|all|right|none) "none"
673 >
674
675<!ELEMENT em %Inline;> <!-- emphasis -->
676<!ATTLIST em %attrs;>
677
678<!ELEMENT strong %Inline;> <!-- strong emphasis -->
679<!ATTLIST strong %attrs;>
680
681<!ELEMENT dfn %Inline;> <!-- definitional -->
682<!ATTLIST dfn %attrs;>
683
684<!ELEMENT code %Inline;> <!-- program code -->
685<!ATTLIST code %attrs;>
686
687<!ELEMENT samp %Inline;> <!-- sample -->
688<!ATTLIST samp %attrs;>
689
690<!ELEMENT kbd %Inline;> <!-- something user would type -->
691<!ATTLIST kbd %attrs;>
692
693<!ELEMENT var %Inline;> <!-- variable -->
694<!ATTLIST var %attrs;>
695
696<!ELEMENT cite %Inline;> <!-- citation -->
697<!ATTLIST cite %attrs;>
698
699<!ELEMENT abbr %Inline;> <!-- abbreviation -->
700<!ATTLIST abbr %attrs;>
701
702<!ELEMENT acronym %Inline;> <!-- acronym -->
703<!ATTLIST acronym %attrs;>
704
705<!ELEMENT q %Inline;> <!-- inlined quote -->
706<!ATTLIST q
707 %attrs;
708 cite %URI; #IMPLIED
709 >
710
711<!ELEMENT sub %Inline;> <!-- subscript -->
712<!ATTLIST sub %attrs;>
713
714<!ELEMENT sup %Inline;> <!-- superscript -->
715<!ATTLIST sup %attrs;>
716
717<!ELEMENT tt %Inline;> <!-- fixed pitch font -->
718<!ATTLIST tt %attrs;>
719
720<!ELEMENT i %Inline;> <!-- italic font -->
721<!ATTLIST i %attrs;>
722
723<!ELEMENT b %Inline;> <!-- bold font -->
724<!ATTLIST b %attrs;>
725
726<!ELEMENT big %Inline;> <!-- bigger font -->
727<!ATTLIST big %attrs;>
728
729<!ELEMENT small %Inline;> <!-- smaller font -->
730<!ATTLIST small %attrs;>
731
732<!ELEMENT u %Inline;> <!-- underline -->
733<!ATTLIST u %attrs;>
734
735<!ELEMENT s %Inline;> <!-- strike-through -->
736<!ATTLIST s %attrs;>
737
738<!ELEMENT strike %Inline;> <!-- strike-through -->
739<!ATTLIST strike %attrs;>
740
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
747 >
748
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
756 >
757
758<!ELEMENT embed EMPTY>
759<!ATTLIST embed
760 alt CDATA #IMPLIED
761 width %Length; #IMPLIED
762 height %Length; #IMPLIED
763 hidden CDATA #IMPLIED
764 pluginspage %URI; #IMPLIED
765 src %URI; #IMPLIED
766 type CDATA #IMPLIED
767 wmode CDATA #IMPLIED
768 >
769
770<!--==================== Object ======================================-->
771<!--
772 object is used to embed objects as part of HTML pages.
773 param elements should precede other content. Parameters
774 can also be expressed as attribute/value pairs on the
775 object element itself when brevity is desired.
776-->
777
778<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
779<!ATTLIST object
780 %attrs;
781 declare (declare) #IMPLIED
782 classid %URI; #IMPLIED
783 codebase %URI; #IMPLIED
784 data %URI; #IMPLIED
785 type %ContentType; #IMPLIED
786 codetype %ContentType; #IMPLIED
787 archive %UriList; #IMPLIED
788 standby %Text; #IMPLIED
789 height %Length; #IMPLIED
790 width %Length; #IMPLIED
791 usemap %URI; #IMPLIED
792 name NMTOKEN #IMPLIED
793 tabindex %Number; #IMPLIED
794 align %ImgAlign; #IMPLIED
795 border %Pixels; #IMPLIED
796 hspace %Pixels; #IMPLIED
797 vspace %Pixels; #IMPLIED
798 >
799
800<!--
801 param is used to supply a named property value.
802 In XML it would seem natural to follow RDF and support an
803 abbreviated syntax where the param elements are replaced
804 by attribute value pairs on the object start tag.
805-->
806<!ELEMENT param EMPTY>
807<!ATTLIST param
808 id ID #IMPLIED
809 name CDATA #REQUIRED
810 value CDATA #IMPLIED
811 valuetype (data|ref|object) "data"
812 type %ContentType; #IMPLIED
813 >
814
815<!--=================== Java applet ==================================-->
816<!--
817 One of code or object attributes must be present.
818 Place param elements before other content.
819-->
820<!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
821<!ATTLIST applet
822 %coreattrs;
823 codebase %URI; #IMPLIED
824 archive CDATA #IMPLIED
825 code CDATA #IMPLIED
826 object CDATA #IMPLIED
827 alt %Text; #IMPLIED
828 name NMTOKEN #IMPLIED
829 width %Length; #REQUIRED
830 height %Length; #REQUIRED
831 align %ImgAlign; #IMPLIED
832 hspace %Pixels; #IMPLIED
833 vspace %Pixels; #IMPLIED
834 >
835
836<!--=================== Images ===========================================-->
837
838<!--
839 To avoid accessibility problems for people who aren't
840 able to see the image, you should provide a text
841 description using the alt and longdesc attributes.
842 In addition, avoid the use of server-side image maps.
843-->
844
845<!ELEMENT img EMPTY>
846<!ATTLIST img
847 %attrs;
848 src %URI; #REQUIRED
849 alt %Text; #REQUIRED
850 name NMTOKEN #IMPLIED
851 longdesc %URI; #IMPLIED
852 height %Length; #IMPLIED
853 width %Length; #IMPLIED
854 usemap %URI; #IMPLIED
855 ismap (ismap) #IMPLIED
856 align %ImgAlign; #IMPLIED
857 border %Length; #IMPLIED
858 hspace %Pixels; #IMPLIED
859 vspace %Pixels; #IMPLIED
860 >
861
862<!-- usemap points to a map element which may be in this document
863 or an external document, although the latter is not widely supported -->
864
865<!--================== Client-side image maps ============================-->
866
867<!-- These can be placed in the same document or grouped in a
868 separate document although this isn't yet widely supported -->
869
870<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
871<!ATTLIST map
872 %i18n;
873 %events;
874 id ID #IMPLIED
875 class CDATA #IMPLIED
876 style %StyleSheet; #IMPLIED
877 title %Text; #IMPLIED
878 name CDATA #REQUIRED
879 >
880
881<!ELEMENT area EMPTY>
882<!ATTLIST area
883 %attrs;
884 %focus;
885 shape %Shape; "rect"
886 coords %Coords; #IMPLIED
887 href %URI; #IMPLIED
888 nohref (nohref) #IMPLIED
889 alt %Text; #REQUIRED
890 target %FrameTarget; #IMPLIED
891 >
892
893<!--================ Forms ===============================================-->
894
895<!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
896
897<!ATTLIST form
898 %attrs;
899 action %URI; #REQUIRED
900 method (get|post) "get"
901 name NMTOKEN #IMPLIED
902 enctype %ContentType; "application/x-www-form-urlencoded"
903 onsubmit %Script; #IMPLIED
904 onreset %Script; #IMPLIED
905 accept %ContentTypes; #IMPLIED
906 accept-charset %Charsets; #IMPLIED
907 target %FrameTarget; #IMPLIED
908 >
909
910<!--
911 Each label must not contain more than ONE field
912 Label elements shouldn't be nested.
913-->
914<!ELEMENT label %Inline;>
915<!ATTLIST label
916 %attrs;
917 for IDREF #IMPLIED
918 accesskey %Character; #IMPLIED
919 onfocus %Script; #IMPLIED
920 onblur %Script; #IMPLIED
921 >
922
923<!ENTITY % InputType
924 "(text | password | checkbox |
925 radio | submit | reset |
926 file | hidden | image | button)"
927 >
928
929<!-- the name attribute is required for all but submit & reset -->
930
931<!ELEMENT input EMPTY> <!-- form control -->
932<!ATTLIST input
933 %attrs;
934 %focus;
935 type %InputType; "text"
936 name CDATA #IMPLIED
937 value CDATA #IMPLIED
938 checked (checked) #IMPLIED
939 disabled (disabled) #IMPLIED
940 readonly (readonly) #IMPLIED
941 size CDATA #IMPLIED
942 maxlength %Number; #IMPLIED
943 src %URI; #IMPLIED
944 alt CDATA #IMPLIED
945 usemap %URI; #IMPLIED
946 onselect %Script; #IMPLIED
947 onchange %Script; #IMPLIED
948 accept %ContentTypes; #IMPLIED
949 align %ImgAlign; #IMPLIED
950 >
951
952<!ELEMENT select (optgroup|option)+> <!-- option selector -->
953<!ATTLIST select
954 %attrs;
955 name CDATA #IMPLIED
956 size %Number; #IMPLIED
957 multiple (multiple) #IMPLIED
958 disabled (disabled) #IMPLIED
959 tabindex %Number; #IMPLIED
960 onfocus %Script; #IMPLIED
961 onblur %Script; #IMPLIED
962 onchange %Script; #IMPLIED
963 >
964
965<!ELEMENT optgroup (option)+> <!-- option group -->
966<!ATTLIST optgroup
967 %attrs;
968 disabled (disabled) #IMPLIED
969 label %Text; #REQUIRED
970 >
971
972<!ELEMENT option (#PCDATA)> <!-- selectable choice -->
973<!ATTLIST option
974 %attrs;
975 selected (selected) #IMPLIED
976 disabled (disabled) #IMPLIED
977 label %Text; #IMPLIED
978 value CDATA #IMPLIED
979 >
980
981<!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
982<!ATTLIST textarea
983 %attrs;
984 %focus;
985 name CDATA #IMPLIED
986 rows %Number; #REQUIRED
987 cols %Number; #REQUIRED
988 disabled (disabled) #IMPLIED
989 readonly (readonly) #IMPLIED
990 onselect %Script; #IMPLIED
991 onchange %Script; #IMPLIED
992 >
993
994<!--
995 The fieldset element is used to group form fields.
996 Only one legend element should occur in the content
997 and if present should only be preceded by whitespace.
998-->
999<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
1000<!ATTLIST fieldset
1001 %attrs;
1002 >
1003
1004<!ENTITY % LAlign "(top|bottom|left|right)">
1005
1006<!ELEMENT legend %Inline;> <!-- fieldset label -->
1007<!ATTLIST legend
1008 %attrs;
1009 accesskey %Character; #IMPLIED
1010 align %LAlign; #IMPLIED
1011 >
1012
1013<!--
1014 Content is %Flow; excluding a, form, form controls, iframe
1015-->
1016<!ELEMENT button %button.content;> <!-- push button -->
1017<!ATTLIST button
1018 %attrs;
1019 %focus;
1020 name CDATA #IMPLIED
1021 value CDATA #IMPLIED
1022 type (button|submit|reset) "submit"
1023 disabled (disabled) #IMPLIED
1024 >
1025
1026<!-- single-line text input control (DEPRECATED) -->
1027<!ELEMENT isindex EMPTY>
1028<!ATTLIST isindex
1029 %coreattrs;
1030 %i18n;
1031 prompt %Text; #IMPLIED
1032 >
1033
1034<!--======================= Tables =======================================-->
1035
1036<!-- Derived from IETF HTML table standard, see [RFC1942] -->
1037
1038<!--
1039 The border attribute sets the thickness of the frame around the
1040 table. The default units are screen pixels.
1041
1042 The frame attribute specifies which parts of the frame around
1043 the table should be rendered. The values are not the same as
1044 CALS to avoid a name clash with the valign attribute.
1045-->
1046<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
1047
1048<!--
1049 The rules attribute defines which rules to draw between cells:
1050
1051 If rules is absent then assume:
1052 "none" if border is absent or border="0" otherwise "all"
1053-->
1054
1055<!ENTITY % TRules "(none | groups | rows | cols | all)">
1056
1057<!-- horizontal placement of table relative to document -->
1058<!ENTITY % TAlign "(left|center|right)">
1059
1060<!-- horizontal alignment attributes for cell contents
1061
1062 char alignment char, e.g. char=':'
1063 charoff offset for alignment char
1064-->
1065<!ENTITY % cellhalign
1066 "align (left|center|right|justify|char) #IMPLIED
1067 char %Character; #IMPLIED
1068 charoff %Length; #IMPLIED"
1069 >
1070
1071<!-- vertical alignment attributes for cell contents -->
1072<!ENTITY % cellvalign
1073 "valign (top|middle|bottom|baseline) #IMPLIED"
1074 >
1075
1076<!ELEMENT table
1077 (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
1078<!ELEMENT caption %Inline;>
1079<!ELEMENT thead (tr)+>
1080<!ELEMENT tfoot (tr)+>
1081<!ELEMENT tbody (tr)+>
1082<!ELEMENT colgroup (col)*>
1083<!ELEMENT col EMPTY>
1084<!ELEMENT tr (th|td)+>
1085<!ELEMENT th %Flow;>
1086<!ELEMENT td %Flow;>
1087
1088<!ATTLIST table
1089 %attrs;
1090 summary %Text; #IMPLIED
1091 width %Length; #IMPLIED
1092 border %Pixels; #IMPLIED
1093 frame %TFrame; #IMPLIED
1094 rules %TRules; #IMPLIED
1095 cellspacing %Length; #IMPLIED
1096 cellpadding %Length; #IMPLIED
1097 align %TAlign; #IMPLIED
1098 bgcolor %Color; #IMPLIED
1099 >
1100
1101<!ENTITY % CAlign "(top|bottom|left|right)">
1102
1103<!ATTLIST caption
1104 %attrs;
1105 align %CAlign; #IMPLIED
1106 >
1107
1108<!--
1109colgroup groups a set of col elements. It allows you to group
1110several semantically related columns together.
1111-->
1112<!ATTLIST colgroup
1113 %attrs;
1114 span %Number; "1"
1115 width %MultiLength; #IMPLIED
1116 %cellhalign;
1117 %cellvalign;
1118 >
1119
1120<!--
1121 col elements define the alignment properties for cells in
1122 one or more columns.
1123
1124 The width attribute specifies the width of the columns, e.g.
1125
1126 width=64 width in screen pixels
1127 width=0.5* relative width of 0.5
1128
1129 The span attribute causes the attributes of one
1130 col element to apply to more than one column.
1131-->
1132<!ATTLIST col
1133 %attrs;
1134 span %Number; "1"
1135 width %MultiLength; #IMPLIED
1136 %cellhalign;
1137 %cellvalign;
1138 >
1139
1140<!--
1141 Use thead to duplicate headers when breaking table
1142 across page boundaries, or for static headers when
1143 tbody sections are rendered in scrolling panel.
1144
1145 Use tfoot to duplicate footers when breaking table
1146 across page boundaries, or for static footers when
1147 tbody sections are rendered in scrolling panel.
1148
1149 Use multiple tbody sections when rules are needed
1150 between groups of table rows.
1151-->
1152<!ATTLIST thead
1153 %attrs;
1154 %cellhalign;
1155 %cellvalign;
1156 >
1157
1158<!ATTLIST tfoot
1159 %attrs;
1160 %cellhalign;
1161 %cellvalign;
1162 >
1163
1164<!ATTLIST tbody
1165 %attrs;
1166 %cellhalign;
1167 %cellvalign;
1168 >
1169
1170<!ATTLIST tr
1171 %attrs;
1172 %cellhalign;
1173 %cellvalign;
1174 bgcolor %Color; #IMPLIED
1175 >
1176
1177<!-- Scope is simpler than headers attribute for common tables -->
1178<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
1179
1180<!-- th is for headers, td for data and for cells acting as both -->
1181
1182<!ATTLIST th
1183 %attrs;
1184 abbr %Text; #IMPLIED
1185 axis CDATA #IMPLIED
1186 headers IDREFS #IMPLIED
1187 scope %Scope; #IMPLIED
1188 rowspan %Number; "1"
1189 colspan %Number; "1"
1190 %cellhalign;
1191 %cellvalign;
1192 nowrap (nowrap) #IMPLIED
1193 bgcolor %Color; #IMPLIED
1194 width %Length; #IMPLIED
1195 height %Length; #IMPLIED
1196 >
1197
1198<!ATTLIST td
1199 %attrs;
1200 abbr %Text; #IMPLIED
1201 axis CDATA #IMPLIED
1202 headers IDREFS #IMPLIED
1203 scope %Scope; #IMPLIED
1204 rowspan %Number; "1"
1205 colspan %Number; "1"
1206 %cellhalign;
1207 %cellvalign;
1208 nowrap (nowrap) #IMPLIED
1209 bgcolor %Color; #IMPLIED
1210 width %Length; #IMPLIED
1211 height %Length; #IMPLIED
1212 >
1213