blob: 85dc78f23cc1dfa6566dedd54c34f892882bd807 [file] [log] [blame]
Marc Kupietzaa7524b2024-09-22 12:00:48 +02001<!--
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.27 $
20 $Date: 2002/08/01 18:16:48 $
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
272<!--doc:This element identifies the document to be XHTML. The remainder of the XHTML document is contained by this element.-->
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
285<!--doc:The HEAD element contains information about the current document,for example the title and the list of keywords that may be used by the search engines.-->
286<!ELEMENT head (%head.misc;,
287 ((title, %head.misc;, (base, %head.misc;)?) |
288 (base, %head.misc;, (title, %head.misc;))))>
289
290<!ATTLIST head
291 %i18n;
292 id ID #IMPLIED
293 profile %URI; #IMPLIED
294 >
295
296<!--doc:The TITLE element is not considered part of the flow of text. It is displayed as the page header or window title.-->
297<!ELEMENT title (#PCDATA)>
298<!ATTLIST title
299 %i18n;
300 id ID #IMPLIED
301 >
302
303
304<!--doc:The BASE element allows authors to specify a document's base URI explicitly. The path information specified by the BASE element only affects relative URIs from the same document.-->
305<!ELEMENT base EMPTY>
306<!ATTLIST base
307 id ID #IMPLIED
308 href %URI; #IMPLIED
309 target %FrameTarget; #IMPLIED
310 >
311
312<!--doc:The META element can be used to identify properties of a document (e.g., author, expiration date, a list of key words, etc.). The specification does not define a normative set of properties.-->
313<!ELEMENT meta EMPTY>
314<!ATTLIST meta
315 %i18n;
316 id ID #IMPLIED
317 http-equiv CDATA #IMPLIED
318 name CDATA #IMPLIED
319 content CDATA #REQUIRED
320 scheme CDATA #IMPLIED
321 >
322
323<!--doc:This element defines a link. Unlike A, it may only appear in the HEAD section of a document, although it may appear any number of times. Although LINK has no content, it conveys relationship information that may be rendered by user agents in a variety of ways (e.g., a tool-bar with a drop-down menu of links).-->
324<!ELEMENT link EMPTY>
325<!ATTLIST link
326 %attrs;
327 charset %Charset; #IMPLIED
328 href %URI; #IMPLIED
329 hreflang %LanguageCode; #IMPLIED
330 type %ContentType; #IMPLIED
331 rel %LinkTypes; #IMPLIED
332 rev %LinkTypes; #IMPLIED
333 media %MediaDesc; #IMPLIED
334 target %FrameTarget; #IMPLIED
335 >
336
337<!--doc:The STYLE element allows authors to put style sheet rules in the head of the document. XHTML permits any number of STYLE elements in the HEAD section of a document. Some style sheet implementations may allow a wider variety of rules in the STYLE element than in the style attribute. For example, with CSS, rules may be declared within a STYLE element.-->
338<!ELEMENT style (#PCDATA)>
339<!ATTLIST style
340 %i18n;
341 id ID #IMPLIED
342 type %ContentType; #REQUIRED
343 media %MediaDesc; #IMPLIED
344 title %Text; #IMPLIED
345 xml:space (preserve) #FIXED 'preserve'
346 >
347
348<!--doc:The SCRIPT element places a script within a document. This element may appear any number of times in the HEAD or BODY of an XHTML document.-->
349<!ELEMENT script (#PCDATA)>
350<!ATTLIST script
351 id ID #IMPLIED
352 charset %Charset; #IMPLIED
353 type %ContentType; #REQUIRED
354 language CDATA #IMPLIED
355 src %URI; #IMPLIED
356 defer (defer) #IMPLIED
357 xml:space (preserve) #FIXED 'preserve'
358 >
359
360<!--doc:The NOSCRIPT element allows authors to provide alternate content when a script is not executed. The content of a NOSCRIPT element should only be rendered by a script-aware user agent in the following cases: 1. The user agent is configured not to evaluate scripts; 2The user agent doesn't support a scripting language invoked by a SCRIPT element earlier in the document.-->
361<!ELEMENT noscript %Flow;>
362<!ATTLIST noscript
363 %attrs;
364 >
365
366<!--======================= Frames =======================================-->
367
368
369<!--doc:The IFRAME element allows authors to insert a frame within a block of text. Inserting an inline frame within a section of text is much like inserting an object via the OBJECT element: they both allow you to insert an XHTML document in the middle of another, they may both be aligned with surrounding text, etc.-->
370<!ELEMENT iframe %Flow;>
371<!ATTLIST iframe
372 %coreattrs;
373 longdesc %URI; #IMPLIED
374 name NMTOKEN #IMPLIED
375 src %URI; #IMPLIED
376 frameborder (1|0) "1"
377 marginwidth %Pixels; #IMPLIED
378 marginheight %Pixels; #IMPLIED
379 scrolling (yes|no|auto) "auto"
380 align %ImgAlign; #IMPLIED
381 height %Length; #IMPLIED
382 width %Length; #IMPLIED
383 >
384
385
386<!--doc:The NOFRAMES element specifies content that should be displayed only by user agents that do not support frames or are configured not to display frames. User agents that support frames must only display the contents of a NOFRAMES declaration when configured not to display frames. User agents that do not support frames must display the contents of NOFRAMES in any case.-->
387<!ELEMENT noframes %Flow;>
388<!ATTLIST noframes
389 %attrs;
390 >
391
392<!--=================== Document Body ====================================-->
393<!--doc:The body of a document contains the document's content. The content may be presented by a user agent in a variety of ways. For example, for visual browsers, you can think of the body as a canvas where the content appears: text, images, colors, graphics, etc.-->
394<!ELEMENT body %Flow;>
395<!ATTLIST body
396 %attrs;
397 onload %Script; #IMPLIED
398 onunload %Script; #IMPLIED
399 background %URI; #IMPLIED
400 bgcolor %Color; #IMPLIED
401 text %Color; #IMPLIED
402 link %Color; #IMPLIED
403 vlink %Color; #IMPLIED
404 alink %Color; #IMPLIED
405 >
406
407<!--doc:The DIV element defines a division/section in a document. It offer a generic mechanism for adding structure to documents. This element define content to be block-level but impose no other presentational idioms on the content.-->
408<!ELEMENT div %Flow;>
409<!ATTLIST div
410 %attrs;
411 %TextAlign;
412 >
413
414<!--=================== Paragraphs =======================================-->
415<!--doc:The P element represents a paragraph. It cannot contain block-level elements (including P itself).-->
416<!ELEMENT p %Inline;>
417<!ATTLIST p
418 %attrs;
419 %TextAlign;
420 >
421
422<!--=================== Headings =========================================-->
423
424<!--doc:There are six levels of headings in XHTML with H1 as the most important and H6 as the least. Visual browsers usually render more important headings in larger fonts than less important ones.-->
425<!ELEMENT h1 %Inline;>
426<!ATTLIST h1
427 %attrs;
428 %TextAlign;
429 >
430<!--doc:There are six levels of headings in XHTML with H1 as the most important and H6 as the least. Visual browsers usually render more important headings in larger fonts than less important ones.-->
431<!ELEMENT h2 %Inline;>
432<!ATTLIST h2
433 %attrs;
434 %TextAlign;
435 >
436<!--doc:There are six levels of headings in XHTML with H1 as the most important and H6 as the least. Visual browsers usually render more important headings in larger fonts than less important ones.-->
437<!ELEMENT h3 %Inline;>
438<!ATTLIST h3
439 %attrs;
440 %TextAlign;
441 >
442<!--doc:There are six levels of headings in XHTML with H1 as the most important and H6 as the least. Visual browsers usually render more important headings in larger fonts than less important ones.-->
443<!ELEMENT h4 %Inline;>
444<!ATTLIST h4
445 %attrs;
446 %TextAlign;
447 >
448<!--doc:There are six levels of headings in XHTML with H1 as the most important and H6 as the least. Visual browsers usually render more important headings in larger fonts than less important ones.-->
449<!ELEMENT h5 %Inline;>
450<!ATTLIST h5
451 %attrs;
452 %TextAlign;
453 >
454<!--doc:There are six levels of headings in XHTML with H1 as the most important and H6 as the least. Visual browsers usually render more important headings in larger fonts than less important ones.-->
455<!ELEMENT h6 %Inline;>
456<!ATTLIST h6
457 %attrs;
458 %TextAlign;
459 >
460
461<!--=================== Lists ============================================-->
462
463<!-- Unordered list bullet styles -->
464
465<!ENTITY % ULStyle "(disc|square|circle)">
466
467<!--doc:The UL element defines an unordered list. Unordered list items are not numbered.-->
468<!ELEMENT ul (li)+>
469<!ATTLIST ul
470 %attrs;
471 type %ULStyle; #IMPLIED
472 compact (compact) #IMPLIED
473 >
474
475<!-- Ordered list numbering style
476
477 1 arabic numbers 1, 2, 3, ...
478 a lower alpha a, b, c, ...
479 A upper alpha A, B, C, ...
480 i lower roman i, ii, iii, ...
481 I upper roman I, II, III, ...
482
483 The style is applied to the sequence number which by default
484 is reset to 1 for the first list item in an ordered list.
485-->
486<!ENTITY % OLStyle "CDATA">
487
488<!--doc:The OL element defines an ordered list. Ordered list items are numbered.-->
489<!ELEMENT ol (li)+>
490<!ATTLIST ol
491 %attrs;
492 type %OLStyle; #IMPLIED
493 compact (compact) #IMPLIED
494 start %Number; #IMPLIED
495 >
496
497<!--doc:The MENU element was designed to be used for single column menu lists. (DEPRECATED)-->
498<!ELEMENT menu (li)+>
499<!ATTLIST menu
500 %attrs;
501 compact (compact) #IMPLIED
502 >
503
504<!--doc:The DIR element was designed to be used for creating multicolumn directory lists. (DEPRECATED)-->
505<!ELEMENT dir (li)+>
506<!ATTLIST dir
507 %attrs;
508 compact (compact) #IMPLIED
509 >
510
511<!ENTITY % LIStyle "CDATA">
512
513<!--doc:The LI element is used to define a list item. The LI element is used in ordered (OL) and unordered lists (UL).-->
514<!ELEMENT li %Flow;>
515<!ATTLIST li
516 %attrs;
517 type %LIStyle; #IMPLIED
518 value %Number; #IMPLIED
519 >
520
521<!--doc:The DL element is used to define a definition list. They consist consist of two parts for each item: a term (DT) and a description (DD).-->
522<!ELEMENT dl (dt|dd)+>
523<!ATTLIST dl
524 %attrs;
525 compact (compact) #IMPLIED
526 >
527<!--doc:The DT element defines a term in a definition list.-->
528<!ELEMENT dt %Inline;>
529<!ATTLIST dt
530 %attrs;
531 >
532
533<!--doc:The DD element defines the description of a term in a definition list.-->
534<!ELEMENT dd %Flow;>
535<!ATTLIST dd
536 %attrs;
537 >
538
539<!--=================== Address ==========================================-->
540
541<!--doc:The ADDRESS element may be used by authors to supply contact information for a document or a major part of a document such as a form. This element often appears at the beginning or end of a document.-->
542<!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
543<!ATTLIST address
544 %attrs;
545 >
546
547<!--=================== Horizontal Rule ==================================-->
548
549<!--doc:The HR element causes a horizontal rule to be rendered by visual user agents.-->
550<!ELEMENT hr EMPTY>
551<!ATTLIST hr
552 %attrs;
553 align (left|center|right) #IMPLIED
554 noshade (noshade) #IMPLIED
555 size %Pixels; #IMPLIED
556 width %Length; #IMPLIED
557 >
558
559<!--=================== Preformatted Text ================================-->
560
561<!--doc:The PRE element defines blocks of preformatted text. The text enclosed in the pre element preserves spaces and line breaks and is rendered in a fixed-pitch font.-->
562<!ELEMENT pre %pre.content;>
563<!ATTLIST pre
564 %attrs;
565 width %Number; #IMPLIED
566 xml:space (preserve) #FIXED 'preserve'
567 >
568
569<!--=================== Block-like Quotes ================================-->
570
571<!--doc:The BLOCKQUOTE element defines the start of a long quotation (block-level content) . It creates white space on both sides of the text.-->
572<!ELEMENT blockquote %Flow;>
573<!ATTLIST blockquote
574 %attrs;
575 cite %URI; #IMPLIED
576 >
577
578<!--=================== Text alignment ===================================-->
579
580<!--doc:The CENTER element is exactly equivalent to specifying the DIV element with the align attribute set to "center". The CENTER element is deprecated.-->
581<!ELEMENT center %Flow;>
582<!ATTLIST center
583 %attrs;
584 >
585
586<!--=================== Inserted/Deleted Text ============================-->
587
588<!--doc:INS is used to markup sections of the document that have been inserted with respect to a different version of a document (e.g., in draft legislation where lawmakers need to view the changes).-->
589<!ELEMENT ins %Flow;>
590<!ATTLIST ins
591 %attrs;
592 cite %URI; #IMPLIED
593 datetime %Datetime; #IMPLIED
594 >
595
596<!--doc:DEL is used to markup sections of the document that have been deleted with respect to a different version of a document (e.g., in draft legislation where lawmakers need to view the changes).-->
597<!ELEMENT del %Flow;>
598<!ATTLIST del
599 %attrs;
600 cite %URI; #IMPLIED
601 datetime %Datetime; #IMPLIED
602 >
603
604<!--================== The Anchor Element ================================-->
605
606
607<!--doc:The A element defines an anchor element. An anchor can be used: 1.To create a link to another document by using the href attribute; 2.To create a bookmark inside a document by using the name or id attribute.-->
608<!ELEMENT a %a.content;>
609<!ATTLIST a
610 %attrs;
611 %focus;
612 charset %Charset; #IMPLIED
613 type %ContentType; #IMPLIED
614 name NMTOKEN #IMPLIED
615 href %URI; #IMPLIED
616 hreflang %LanguageCode; #IMPLIED
617 rel %LinkTypes; #IMPLIED
618 rev %LinkTypes; #IMPLIED
619 shape %Shape; "rect"
620 coords %Coords; #IMPLIED
621 target %FrameTarget; #IMPLIED
622 >
623
624<!--===================== Inline Elements ================================-->
625
626<!--doc:The SPAN element is used to group inline-elements in a document. Use the SPAN element to group inline-elements to format them with styles.-->
627<!ELEMENT span %Inline;>
628<!ATTLIST span
629 %attrs;
630 >
631
632<!--doc:The BDO element overrides the default text direction. It should be used in scenarios where absolute control over sequence order is required (e.g., multi-language part numbers).-->
633<!ELEMENT bdo %Inline;>
634<!ATTLIST bdo
635 %coreattrs;
636 %events;
637 lang %LanguageCode; #IMPLIED
638 xml:lang %LanguageCode; #IMPLIED
639 dir (ltr|rtl) #REQUIRED
640 >
641
642<!--doc:The BR element forcibly breaks (ends) the current line of text. Use the BR element to enter blank lines, not to separate paragraphs.-->
643<!ELEMENT br EMPTY>
644<!ATTLIST br
645 %coreattrs;
646 clear (left|all|right|none) "none"
647 >
648
649<!--doc:Renders as emphasized text. Generally, visual user agents present EM text in italics.-->
650<!ELEMENT em %Inline;>
651<!ATTLIST em %attrs;>
652
653<!--doc:Renders as strong emphasized text. Generally, visual user agents present STRONG text in bold font.-->
654<!ELEMENT strong %Inline;>
655<!ATTLIST strong %attrs;>
656
657<!--doc:Indicates that this is the defining instance of the enclosed term.-->
658<!ELEMENT dfn %Inline;>
659<!ATTLIST dfn %attrs;>
660
661<!--doc:Designates a fragment of computer code.-->
662<!ELEMENT code %Inline;>
663<!ATTLIST code %attrs;>
664
665<!--doc:Designates sample output from programs, scripts, etc.-->
666<!ELEMENT samp %Inline;>
667<!ATTLIST samp %attrs;>
668
669<!--doc:Indicates text to be entered by the user.-->
670<!ELEMENT kbd %Inline;>
671<!ATTLIST kbd %attrs;>
672
673<!--doc:Indicates an instance of a variable or program argument.-->
674<!ELEMENT var %Inline;>
675<!ATTLIST var %attrs;>
676
677<!--doc:Contains a citation or a reference to other sources.-->
678<!ELEMENT cite %Inline;>
679<!ATTLIST cite %attrs;>
680
681<!--doc:The ABBR element is used to indicates an abbreviated form, like "ie.", "Ltd.", "etc.".-->
682<!ELEMENT abbr %Inline;>
683<!ATTLIST abbr %attrs;>
684
685<!--doc:The ACRONYM element defines an acronym, like "USA" or "F.B.I".-->
686<!ELEMENT acronym %Inline;>
687<!ATTLIST acronym %attrs;>
688
689<!--doc:The Q element defines the start of a short quotation. It does not render as anything special, you have to use styles to format the text.-->
690<!ELEMENT q %Inline;>
691<!ATTLIST q
692 %attrs;
693 cite %URI; #IMPLIED
694 >
695
696<!--doc:The SUB element defines subscript text.-->
697<!ELEMENT sub %Inline;>
698<!ATTLIST sub %attrs;>
699
700<!--doc:The SUP element defines superscript text.-->
701<!ELEMENT sup %Inline;>
702<!ATTLIST sup %attrs;>
703
704<!--doc:Renders as teletype or mono spaced text.-->
705<!ELEMENT tt %Inline;>
706<!ATTLIST tt %attrs;>
707
708<!--doc:Renders as italic text style.-->
709<!ELEMENT i %Inline;>
710<!ATTLIST i %attrs;>
711
712<!--doc:Renders as bold text style.-->
713<!ELEMENT b %Inline;>
714<!ATTLIST b %attrs;>
715
716<!--doc:Renders text in a "large" font.-->
717<!ELEMENT big %Inline;>
718<!ATTLIST big %attrs;>
719
720<!--doc:Renders text in a "small" font.-->
721<!ELEMENT small %Inline;>
722<!ATTLIST small %attrs;>
723
724<!--doc:Renders underlined style text. (DEPRECATED)-->
725<!ELEMENT u %Inline;>
726<!ATTLIST u %attrs;>
727
728<!--doc:Render strike-through style text.-->
729<!ELEMENT s %Inline;>
730<!ATTLIST s %attrs;>
731
732<!--doc:Render strike-through style text.-->
733<!ELEMENT strike %Inline;>
734<!ATTLIST strike %attrs;>
735
736<!--doc:The BASEFONT element sets the base font size (using the size attribute). Font size changes achieved with FONT are relative to the base font size set by BASEFONT. If BASEFONT is not used, the default base font size is 3.-->
737<!ELEMENT basefont EMPTY>
738<!ATTLIST basefont
739 id ID #IMPLIED
740 size CDATA #REQUIRED
741 color %Color; #IMPLIED
742 face CDATA #IMPLIED
743 >
744
745<!--doc:The FONT element changes the font size and color for text in its contents.-->
746<!ELEMENT font %Inline;>
747<!ATTLIST font
748 %coreattrs;
749 %i18n;
750 size CDATA #IMPLIED
751 color %Color; #IMPLIED
752 face CDATA #IMPLIED
753 >
754
755<!--==================== Object ======================================-->
756<!--doc:Defines an embedded object. This element allows to specify the data and parameters for objects inserted into documents.-->
757<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
758<!ATTLIST object
759 %attrs;
760 declare (declare) #IMPLIED
761 classid %URI; #IMPLIED
762 codebase %URI; #IMPLIED
763 data %URI; #IMPLIED
764 type %ContentType; #IMPLIED
765 codetype %ContentType; #IMPLIED
766 archive %UriList; #IMPLIED
767 standby %Text; #IMPLIED
768 height %Length; #IMPLIED
769 width %Length; #IMPLIED
770 usemap %URI; #IMPLIED
771 name NMTOKEN #IMPLIED
772 tabindex %Number; #IMPLIED
773 align %ImgAlign; #IMPLIED
774 border %Pixels; #IMPLIED
775 hspace %Pixels; #IMPLIED
776 vspace %Pixels; #IMPLIED
777 >
778
779<!--doc:PARAM elements specify a set of values that may be required by an object at run-time. Any number of PARAM elements may appear in the content of an OBJECT or APPLET element, in any order, but must be placed at the start of the content of the enclosing OBJECT or APPLET element.-->
780<!ELEMENT param EMPTY>
781<!ATTLIST param
782 id ID #IMPLIED
783 name CDATA #REQUIRED
784 value CDATA #IMPLIED
785 valuetype (data|ref|object) "data"
786 type %ContentType; #IMPLIED
787 >
788
789<!--=================== Java applet ==================================-->
790<!--doc:This element, supported by all Java-enabled browsers, allows designers to embed a Java applet in an XHTML document. It has been deprecated in favor of the OBJECT element.-->
791<!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
792<!ATTLIST applet
793 %coreattrs;
794 codebase %URI; #IMPLIED
795 archive CDATA #IMPLIED
796 code CDATA #IMPLIED
797 object CDATA #IMPLIED
798 alt %Text; #IMPLIED
799 name NMTOKEN #IMPLIED
800 width %Length; #REQUIRED
801 height %Length; #REQUIRED
802 align %ImgAlign; #IMPLIED
803 hspace %Pixels; #IMPLIED
804 vspace %Pixels; #IMPLIED
805 >
806
807<!--=================== Images ===========================================-->
808
809
810<!--doc:The IMG element embeds an image in the current document at the location of the element's definition. The IMG element has no content; it is usually replaced inline by the image designated by the src attribute, the exception being for left or right-aligned images that are "floated" out of line. Note that in this DTD there is no name attribute. That is only available in the transitional and frameset DTD.-->
811<!ELEMENT img EMPTY>
812<!ATTLIST img
813 %attrs;
814 src %URI; #REQUIRED
815 alt %Text; #REQUIRED
816 name NMTOKEN #IMPLIED
817 longdesc %URI; #IMPLIED
818 height %Length; #IMPLIED
819 width %Length; #IMPLIED
820 usemap %URI; #IMPLIED
821 ismap (ismap) #IMPLIED
822 align %ImgAlign; #IMPLIED
823 border %Length; #IMPLIED
824 hspace %Pixels; #IMPLIED
825 vspace %Pixels; #IMPLIED
826 >
827
828<!-- usemap points to a map element which may be in this document or an external document, although the latter is not widely supported -->
829
830<!--================== Client-side image maps ============================-->
831
832
833<!--doc:The MAP element specifies a client-side image map (or other navigation mechanism) that may be associated with another elements (IMG, OBJECT, or INPUT). An image map is associated with an element via the element's usemap attribute. The MAP element may be used without an associated image for general navigation mechanisms.-->
834<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
835<!ATTLIST map
836 %i18n;
837 %events;
838 id ID #REQUIRED
839 class CDATA #IMPLIED
840 style %StyleSheet; #IMPLIED
841 title %Text; #IMPLIED
842 name CDATA #IMPLIED
843 >
844
845<!--doc: Defines a region in an image map. This element is always nested inside a MAP tag. This element has no content but specify the geometric region of the image map and the link associated with the region. Note that user agents do not generally render AREA elements. Therefore, authors must provide alternate text for each AREA with the alt attribute.-->
846<!--doc:Defines a region in an image map. This element is always nested inside a MAP element. This element has no content but specify the geometric region of the image map and the link associated with the region. Note that user agents do not generally render AREA elements. Therefore, authors must provide alternate text for each AREA with the alt attribute.-->
847<!ELEMENT area EMPTY>
848<!ATTLIST area
849 %attrs;
850 %focus;
851 shape %Shape; "rect"
852 coords %Coords; #IMPLIED
853 href %URI; #IMPLIED
854 nohref (nohref) #IMPLIED
855 alt %Text; #REQUIRED
856 target %FrameTarget; #IMPLIED
857 >
858
859<!--================ Forms ===============================================-->
860
861<!--doc:The FORM element creates a form. A form can contain textfields, checkboxes, radio-buttons etc. Forms are used to pass user-data to a specified URL, usually a CGI.-->
862<!ELEMENT form %form.content;>
863
864<!ATTLIST form
865 %attrs;
866 action %URI; #REQUIRED
867 method (get|post) "get"
868 name NMTOKEN #IMPLIED
869 enctype %ContentType; "application/x-www-form-urlencoded"
870 onsubmit %Script; #IMPLIED
871 onreset %Script; #IMPLIED
872 accept %ContentTypes; #IMPLIED
873 accept-charset %Charsets; #IMPLIED
874 target %FrameTarget; #IMPLIED
875 >
876
877<!--doc:The LABEL element may be used to attach information to controls. Each LABEL element is associated with exactly one form control. The "for" attribute binds a label to another element. Set the value of the "for" attribute equal to the value of the "id" attribute of the related element.-->
878<!ELEMENT label %Inline;>
879<!ATTLIST label
880 %attrs;
881 for IDREF #IMPLIED
882 accesskey %Character; #IMPLIED
883 onfocus %Script; #IMPLIED
884 onblur %Script; #IMPLIED
885 >
886
887<!ENTITY % InputType
888 "(text | password | checkbox |
889 radio | submit | reset |
890 file | hidden | image | button)"
891 >
892
893<!-- the name attribute is required for all but submit & reset -->
894
895<!--doc:The INPUT element defines the start of an input field where the user can enter data. The INPUT element is empty, it contains attributes only.-->
896<!ELEMENT input EMPTY>
897<!ATTLIST input
898 %attrs;
899 %focus;
900 type %InputType; "text"
901 name CDATA #IMPLIED
902 value CDATA #IMPLIED
903 checked (checked) #IMPLIED
904 disabled (disabled) #IMPLIED
905 readonly (readonly) #IMPLIED
906 size CDATA #IMPLIED
907 maxlength %Number; #IMPLIED
908 src %URI; #IMPLIED
909 alt CDATA #IMPLIED
910 usemap %URI; #IMPLIED
911 onselect %Script; #IMPLIED
912 onchange %Script; #IMPLIED
913 accept %ContentTypes; #IMPLIED
914 align %ImgAlign; #IMPLIED
915 >
916
917<!--doc:The select element creates a drop-down list. Use this element in the FORM element to accept user input.-->
918<!ELEMENT select (optgroup|option)+>
919<!ATTLIST select
920 %attrs;
921 name CDATA #IMPLIED
922 size %Number; #IMPLIED
923 multiple (multiple) #IMPLIED
924 disabled (disabled) #IMPLIED
925 tabindex %Number; #IMPLIED
926 onfocus %Script; #IMPLIED
927 onblur %Script; #IMPLIED
928 onchange %Script; #IMPLIED
929 >
930
931<!--doc:The OPTGROUP element allows authors to group choices logically. This is particularly helpful when the user must choose from a long list of options; groups of related choices are easier to grasp and remember than a single long list of options.-->
932<!ELEMENT optgroup (option)+>
933<!ATTLIST optgroup
934 %attrs;
935 disabled (disabled) #IMPLIED
936 label %Text; #REQUIRED
937 >
938
939<!--doc:The option element defines an option in the drop-down list. Use this element in conjunction with the SELECT element, elsewhere it is meaningless.-->
940<!ELEMENT option (#PCDATA)>
941<!ATTLIST option
942 %attrs;
943 selected (selected) #IMPLIED
944 disabled (disabled) #IMPLIED
945 label %Text; #IMPLIED
946 value CDATA #IMPLIED
947 >
948
949<!--doc:The TEXTAREA element creates a multi-line text input control. User agents should use the contents of this element as the initial value of the control and should render this text initially.-->
950<!ELEMENT textarea (#PCDATA)>
951<!ATTLIST textarea
952 %attrs;
953 %focus;
954 name CDATA #IMPLIED
955 rows %Number; #REQUIRED
956 cols %Number; #REQUIRED
957 disabled (disabled) #IMPLIED
958 readonly (readonly) #IMPLIED
959 onselect %Script; #IMPLIED
960 onchange %Script; #IMPLIED
961 >
962
963<!--doc:The FIELDSET element allows authors to group thematically related controls and labels. Grouping controls makes it easier for users to understand their purpose while simultaneously facilitating tabbing navigation for visual user agents and speech navigation for speech-oriented user agents. The proper use of this element makes documents more accessible.-->
964<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
965<!ATTLIST fieldset
966 %attrs;
967 >
968
969<!ENTITY % LAlign "(top|bottom|left|right)">
970
971<!--doc:The LEGEND element allows authors to assign a caption to a FIELDSET. The legend improves accessibility when the FIELDSET is rendered non-visually.-->
972<!ELEMENT legend %Inline;>
973<!ATTLIST legend
974 %attrs;
975 accesskey %Character; #IMPLIED
976 align %LAlign; #IMPLIED
977 >
978
979<!--
980 Content is %Flow; excluding a, form, form controls, iframe
981-->
982<!--doc:The BUTTON element defines a push button. Inside a button element you can put content for example images, text.-->
983<!ELEMENT button %button.content;>
984<!ATTLIST button
985 %attrs;
986 %focus;
987 name CDATA #IMPLIED
988 value CDATA #IMPLIED
989 type (button|submit|reset) "submit"
990 disabled (disabled) #IMPLIED
991 >
992
993<!--doc:This element creates a single-line text input control. Authors should use the INPUT element to create text input controls. (DEPRECATED)-->
994<!ELEMENT isindex EMPTY>
995<!ATTLIST isindex
996 %coreattrs;
997 %i18n;
998 prompt %Text; #IMPLIED
999 >
1000
1001<!--======================= Tables =======================================-->
1002
1003<!-- Derived from IETF HTML table standard, see [RFC1942] -->
1004
1005<!--
1006 The border attribute sets the thickness of the frame around the
1007 table. The default units are screen pixels.
1008
1009 The frame attribute specifies which parts of the frame around
1010 the table should be rendered. The values are not the same as
1011 CALS to avoid a name clash with the valign attribute.
1012-->
1013<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
1014
1015<!--
1016 The rules attribute defines which rules to draw between cells:
1017
1018 If rules is absent then assume:
1019 "none" if border is absent or border="0" otherwise "all"
1020-->
1021
1022<!ENTITY % TRules "(none | groups | rows | cols | all)">
1023
1024<!-- horizontal placement of table relative to document -->
1025<!ENTITY % TAlign "(left|center|right)">
1026
1027<!-- horizontal alignment attributes for cell contents
1028
1029 char alignment char, e.g. char=':'
1030 charoff offset for alignment char
1031-->
1032<!ENTITY % cellhalign
1033 "align (left|center|right|justify|char) #IMPLIED
1034 char %Character; #IMPLIED
1035 charoff %Length; #IMPLIED"
1036 >
1037
1038<!-- vertical alignment attributes for cell contents -->
1039<!ENTITY % cellvalign
1040 "valign (top|middle|bottom|baseline) #IMPLIED"
1041 >
1042
1043<!--doc:The TABLE element defines a table. Inside a TABLE element there can be table headers, table rows, table cells.-->
1044<!ELEMENT table
1045 (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
1046<!--doc:The CAPTION element defines a table caption.-->
1047<!ELEMENT caption %Inline;>
1048<!--doc:Defines a table header. Table rows may be grouped into a table head, table foot, and one or more table body sections, using the THEAD, TFOOT and TBODY elements, respectively. This division enables user agents to support scrolling of table bodies independently of the table head and foot. When long tables are printed, the table head and foot information may be repeated on each page that contains table data.-->
1049<!ELEMENT thead (tr)+>
1050<!--doc:Defines a table footer. Table rows may be grouped into a table head, table foot, and one or more table body sections, using the THEAD, TFOOT and TBODY elements, respectively. This division enables user agents to support scrolling of table bodies independently of the table head and foot. When long tables are printed, the table head and foot information may be repeated on each page that contains table data.-->
1051<!ELEMENT tfoot (tr)+>
1052<!--doc:Defines a table body. Table rows may be grouped into a table head, table foot, and one or more table body sections, using the THEAD, TFOOT and TBODY elements, respectively. This division enables user agents to support scrolling of table bodies independently of the table head and foot. When long tables are printed, the table head and foot information may be repeated on each page that contains table data.-->
1053<!ELEMENT tbody (tr)+>
1054<!--doc:Defines different formatting groups of table columns. The colgroup element is an empty element that contains attributes only. To create columns, you must specify td elements within a tr element.-->
1055<!ELEMENT colgroup (col)*>
1056<!--doc:The COL element allows authors to group together attribute specifications for table columns. The COL does not group columns together structurally that is the role of the COLGROUP element. COL elements are empty and serve only as a support for attributes. They may appear inside or outside an explicit column group (i.e., COLGROUP element).-->
1057<!ELEMENT col EMPTY>
1058<!--doc:The TR elements acts as a container for a row of table cells.-->
1059<!ELEMENT tr (th|td)+>
1060<!--doc:The TH element defines a cell in a table that contains header information. User agents have two pieces of header information available: the contents of the TH element and the value of the abbr attribute.-->
1061<!ELEMENT th %Flow;>
1062<!--doc:The TD element defines a cell in a table that contains data.-->
1063<!ELEMENT td %Flow;>
1064<!ATTLIST table
1065 %attrs;
1066 summary %Text; #IMPLIED
1067 width %Length; #IMPLIED
1068 border %Pixels; #IMPLIED
1069 frame %TFrame; #IMPLIED
1070 rules %TRules; #IMPLIED
1071 cellspacing %Length; #IMPLIED
1072 cellpadding %Length; #IMPLIED
1073 align %TAlign; #IMPLIED
1074 bgcolor %Color; #IMPLIED
1075 >
1076
1077<!ENTITY % CAlign "(top|bottom|left|right)">
1078
1079<!ATTLIST caption
1080 %attrs;
1081 align %CAlign; #IMPLIED
1082 >
1083
1084<!--
1085colgroup groups a set of col elements. It allows you to group
1086several semantically related columns together.
1087-->
1088<!ATTLIST colgroup
1089 %attrs;
1090 span %Number; "1"
1091 width %MultiLength; #IMPLIED
1092 %cellhalign;
1093 %cellvalign;
1094 >
1095
1096<!--
1097 col elements define the alignment properties for cells in
1098 one or more columns.
1099
1100 The width attribute specifies the width of the columns, e.g.
1101
1102 width=64 width in screen pixels
1103 width=0.5* relative width of 0.5
1104
1105 The span attribute causes the attributes of one
1106 col element to apply to more than one column.
1107-->
1108<!ATTLIST col
1109 %attrs;
1110 span %Number; "1"
1111 width %MultiLength; #IMPLIED
1112 %cellhalign;
1113 %cellvalign;
1114 >
1115
1116<!--
1117 Use thead to duplicate headers when breaking table
1118 across page boundaries, or for static headers when
1119 tbody sections are rendered in scrolling panel.
1120
1121 Use tfoot to duplicate footers when breaking table
1122 across page boundaries, or for static footers when
1123 tbody sections are rendered in scrolling panel.
1124
1125 Use multiple tbody sections when rules are needed
1126 between groups of table rows.
1127-->
1128<!ATTLIST thead
1129 %attrs;
1130 %cellhalign;
1131 %cellvalign;
1132 >
1133
1134<!ATTLIST tfoot
1135 %attrs;
1136 %cellhalign;
1137 %cellvalign;
1138 >
1139
1140<!ATTLIST tbody
1141 %attrs;
1142 %cellhalign;
1143 %cellvalign;
1144 >
1145
1146<!ATTLIST tr
1147 %attrs;
1148 %cellhalign;
1149 %cellvalign;
1150 bgcolor %Color; #IMPLIED
1151 >
1152
1153<!-- Scope is simpler than headers attribute for common tables -->
1154<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
1155
1156<!-- th is for headers, td for data and for cells acting as both -->
1157
1158<!ATTLIST th
1159 %attrs;
1160 abbr %Text; #IMPLIED
1161 axis CDATA #IMPLIED
1162 headers IDREFS #IMPLIED
1163 scope %Scope; #IMPLIED
1164 rowspan %Number; "1"
1165 colspan %Number; "1"
1166 %cellhalign;
1167 %cellvalign;
1168 nowrap (nowrap) #IMPLIED
1169 bgcolor %Color; #IMPLIED
1170 width %Length; #IMPLIED
1171 height %Length; #IMPLIED
1172 >
1173
1174<!ATTLIST td
1175 %attrs;
1176 abbr %Text; #IMPLIED
1177 axis CDATA #IMPLIED
1178 headers IDREFS #IMPLIED
1179 scope %Scope; #IMPLIED
1180 rowspan %Number; "1"
1181 colspan %Number; "1"
1182 %cellhalign;
1183 %cellvalign;
1184 nowrap (nowrap) #IMPLIED
1185 bgcolor %Color; #IMPLIED
1186 width %Length; #IMPLIED
1187 height %Length; #IMPLIED
1188 >
1189