blob: 6a6df5593e39cc18ad3c41a5284f021123c2f115 [file] [log] [blame]
Marc Kupietzaa7524b2024-09-22 12:00:48 +02001<!--
2 Extensible HTML version 1.0 Frameset DTD
3
4 This is the same as HTML 4 Frameset 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 Frameset//EN"
17 SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"
18
19 $Revision: 1.26 $
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 <!-- media type, as per [RFC2045] -->
43<!ENTITY % ContentType "CDATA">
44
45 <!-- comma-separated list of media types, as per [RFC2045] -->
46<!ENTITY % ContentTypes "CDATA">
47
48 <!-- a character encoding, as per [RFC2045] -->
49<!ENTITY % Charset "CDATA">
50
51 <!-- a space separated list of character encodings, as per [RFC2045] -->
52<!ENTITY % Charsets "CDATA">
53
54 <!-- a language code, as per [RFC3066] -->
55<!ENTITY % LanguageCode "NMTOKEN">
56
57 <!-- a single character, as per section 2.2 of [XML] -->
58<!ENTITY % Character "CDATA">
59
60 <!-- one or more digits -->
61<!ENTITY % Number "CDATA">
62
63 <!-- space-separated list of link types -->
64<!ENTITY % LinkTypes "CDATA">
65
66 <!-- single or comma-separated list of media descriptors -->
67<!ENTITY % MediaDesc "CDATA">
68
69 <!-- a Uniform Resource Identifier, see [RFC2396] -->
70<!ENTITY % URI "CDATA">
71
72 <!-- a space separated list of Uniform Resource Identifiers -->
73<!ENTITY % UriList "CDATA">
74
75 <!-- date and time information. ISO date format -->
76<!ENTITY % Datetime "CDATA">
77
78 <!-- script expression -->
79<!ENTITY % Script "CDATA">
80
81 <!-- style sheet data -->
82<!ENTITY % StyleSheet "CDATA">
83
84 <!-- used for titles etc. -->
85<!ENTITY % Text "CDATA">
86
87 <!-- render in this frame -->
88<!ENTITY % FrameTarget "NMTOKEN">
89
90 <!-- nn for pixels or nn% for percentage length -->
91<!ENTITY % Length "CDATA">
92
93 <!-- pixel, percentage, or relative -->
94<!ENTITY % MultiLength "CDATA">
95
96 <!-- comma-separated list of MultiLength -->
97<!ENTITY % MultiLengths "CDATA">
98
99 <!-- integer representing length in pixels -->
100<!ENTITY % Pixels "CDATA">
101
102<!-- these are used for image maps -->
103
104<!ENTITY % Shape "(rect|circle|poly|default)">
105
106 <!-- comma separated list of lengths -->
107<!ENTITY % Coords "CDATA">
108
109<!-- used for object, applet, img, input and iframe -->
110<!ENTITY % ImgAlign "(top|middle|bottom|left|right)">
111
112<!-- a color using sRGB: #RRGGBB as Hex values -->
113<!ENTITY % Color "CDATA">
114
115<!-- There are also 16 widely known color names with their sRGB values:
116
117 Black = #000000 Green = #008000
118 Silver = #C0C0C0 Lime = #00FF00
119 Gray = #808080 Olive = #808000
120 White = #FFFFFF Yellow = #FFFF00
121 Maroon = #800000 Navy = #000080
122 Red = #FF0000 Blue = #0000FF
123 Purple = #800080 Teal = #008080
124 Fuchsia= #FF00FF Aqua = #00FFFF
125-->
126
127<!--=================== Generic Attributes ===============================-->
128
129<!-- core attributes common to most elements
130 id document-wide unique id
131 class space separated list of classes
132 style associated style info
133 title advisory title/amplification
134-->
135<!ENTITY % coreattrs
136 "id ID #IMPLIED
137 class CDATA #IMPLIED
138 style %StyleSheet; #IMPLIED
139 title %Text; #IMPLIED"
140 >
141
142<!-- internationalization attributes
143 lang language code (backwards compatible)
144 xml:lang language code (as per XML 1.0 spec)
145 dir direction for weak/neutral text
146-->
147<!ENTITY % i18n
148 "lang %LanguageCode; #IMPLIED
149 xml:lang %LanguageCode; #IMPLIED
150 dir (ltr|rtl) #IMPLIED"
151 >
152
153<!-- attributes for common UI events
154 onclick a pointer button was clicked
155 ondblclick a pointer button was double clicked
156 onmousedown a pointer button was pressed down
157 onmouseup a pointer button was released
158 onmousemove a pointer was moved onto the element
159 onmouseout a pointer was moved away from the element
160 onkeypress a key was pressed and released
161 onkeydown a key was pressed down
162 onkeyup a key was released
163-->
164<!ENTITY % events
165 "onclick %Script; #IMPLIED
166 ondblclick %Script; #IMPLIED
167 onmousedown %Script; #IMPLIED
168 onmouseup %Script; #IMPLIED
169 onmouseover %Script; #IMPLIED
170 onmousemove %Script; #IMPLIED
171 onmouseout %Script; #IMPLIED
172 onkeypress %Script; #IMPLIED
173 onkeydown %Script; #IMPLIED
174 onkeyup %Script; #IMPLIED"
175 >
176
177<!-- attributes for elements that can get the focus
178 accesskey accessibility key character
179 tabindex position in tabbing order
180 onfocus the element got the focus
181 onblur the element lost the focus
182-->
183<!ENTITY % focus
184 "accesskey %Character; #IMPLIED
185 tabindex %Number; #IMPLIED
186 onfocus %Script; #IMPLIED
187 onblur %Script; #IMPLIED"
188 >
189
190<!ENTITY % attrs "%coreattrs; %i18n; %events;">
191
192<!-- text alignment for p, div, h1-h6. The default is
193 align="left" for ltr headings, "right" for rtl -->
194
195<!ENTITY % TextAlign "align (left|center|right|justify) #IMPLIED">
196
197<!--=================== Text Elements ====================================-->
198
199<!ENTITY % special.extra
200 "object | applet | img | map | iframe">
201
202<!ENTITY % special.basic
203 "br | span | bdo">
204
205<!ENTITY % special
206 "%special.basic; | %special.extra;">
207
208<!ENTITY % fontstyle.extra "big | small | font | basefont">
209
210<!ENTITY % fontstyle.basic "tt | i | b | u
211 | s | strike ">
212
213<!ENTITY % fontstyle "%fontstyle.basic; | %fontstyle.extra;">
214
215<!ENTITY % phrase.extra "sub | sup">
216<!ENTITY % phrase.basic "em | strong | dfn | code | q |
217 samp | kbd | var | cite | abbr | acronym">
218
219<!ENTITY % phrase "%phrase.basic; | %phrase.extra;">
220
221<!ENTITY % inline.forms "input | select | textarea | label | button">
222
223<!-- these can occur at block or inline level -->
224<!ENTITY % misc.inline "ins | del | script">
225
226<!-- these can only occur at block level -->
227<!ENTITY % misc "noscript | %misc.inline;">
228
229
230<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
231
232<!-- %Inline; covers inline or "text-level" elements -->
233<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
234
235<!--================== Block level elements ==============================-->
236
237<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
238<!ENTITY % lists "ul | ol | dl | menu | dir">
239<!ENTITY % blocktext "pre | hr | blockquote | address | center">
240
241<!ENTITY % block
242 "p | %heading; | div | %lists; | %blocktext; | isindex | fieldset | table">
243
244<!-- %Flow; mixes block and inline and is used for list items etc. -->
245<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
246
247<!--================== Content models for exclusions =====================-->
248
249<!-- a elements use %Inline; excluding a -->
250
251<!ENTITY % a.content
252 "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
253
254<!-- pre uses %Inline excluding img, object, applet, big, small,
255 sub, sup, font, or basefont -->
256
257<!ENTITY % pre.content
258 "(#PCDATA | a | %special.basic; | %fontstyle.basic; | %phrase.basic; |
259 %inline.forms; | %misc.inline;)*">
260
261
262<!-- form uses %Flow; excluding form -->
263
264<!ENTITY % form.content "(#PCDATA | %block; | %inline; | %misc;)*">
265
266<!-- button uses %Flow; but excludes a, form, form controls, iframe -->
267
268<!ENTITY % button.content
269 "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
270 table | br | span | bdo | object | applet | img | map |
271 %fontstyle; | %phrase; | %misc;)*">
272
273<!--================ Document Structure ==================================-->
274
275<!--doc:This element identifies the document to be XHTML. The remainder of the XHTML document is contained by this element.-->
276<!ELEMENT html (head, frameset)>
277<!ATTLIST html
278 %i18n;
279 id ID #IMPLIED
280 xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
281 >
282
283<!--================ Document Head =======================================-->
284
285<!ENTITY % head.misc "(script|style|meta|link|object|isindex)*">
286
287<!--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.-->
288<!ELEMENT head (%head.misc;,
289 ((title, %head.misc;, (base, %head.misc;)?) |
290 (base, %head.misc;, (title, %head.misc;))))>
291
292<!ATTLIST head
293 %i18n;
294 id ID #IMPLIED
295 profile %URI; #IMPLIED
296 >
297
298<!--doc:The TITLE element is not considered part of the flow of text. It is displayed as the page header or window title.-->
299<!ELEMENT title (#PCDATA)>
300<!ATTLIST title
301 %i18n;
302 id ID #IMPLIED
303 >
304
305<!--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.-->
306<!ELEMENT base EMPTY>
307<!ATTLIST base
308 id ID #IMPLIED
309 href %URI; #IMPLIED
310 target %FrameTarget; #IMPLIED
311 >
312
313<!--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.-->
314<!ELEMENT meta EMPTY>
315<!ATTLIST meta
316 %i18n;
317 id ID #IMPLIED
318 http-equiv CDATA #IMPLIED
319 name CDATA #IMPLIED
320 content CDATA #REQUIRED
321 scheme CDATA #IMPLIED
322 >
323
324<!--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).-->
325<!ELEMENT link EMPTY>
326<!ATTLIST link
327 %attrs;
328 charset %Charset; #IMPLIED
329 href %URI; #IMPLIED
330 hreflang %LanguageCode; #IMPLIED
331 type %ContentType; #IMPLIED
332 rel %LinkTypes; #IMPLIED
333 rev %LinkTypes; #IMPLIED
334 media %MediaDesc; #IMPLIED
335 target %FrameTarget; #IMPLIED
336 >
337
338<!--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.-->
339<!ELEMENT style (#PCDATA)>
340<!ATTLIST style
341 %i18n;
342 id ID #IMPLIED
343 type %ContentType; #REQUIRED
344 media %MediaDesc; #IMPLIED
345 title %Text; #IMPLIED
346 xml:space (preserve) #FIXED 'preserve'
347 >
348
349<!--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.-->
350<!ELEMENT script (#PCDATA)>
351<!ATTLIST script
352 id ID #IMPLIED
353 charset %Charset; #IMPLIED
354 type %ContentType; #REQUIRED
355 language CDATA #IMPLIED
356 src %URI; #IMPLIED
357 defer (defer) #IMPLIED
358 xml:space (preserve) #FIXED 'preserve'
359 >
360
361<!--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.-->
362<!ELEMENT noscript %Flow;>
363<!ATTLIST noscript
364 %attrs;
365 >
366
367<!--======================= Frames =======================================-->
368
369<!--doc:An HTML document that describes frame layout (called a frameset document) has a different makeup than an HTML document without frames. A standard document has one HEAD section and one BODY. A frameset document has a HEAD, and a FRAMESET in place of the BODY.-->
370<!ELEMENT frameset (frameset|frame|noframes)*>
371<!ATTLIST frameset
372 %coreattrs;
373 rows %MultiLengths; #IMPLIED
374 cols %MultiLengths; #IMPLIED
375 onload %Script; #IMPLIED
376 onunload %Script; #IMPLIED
377 >
378
379<!-- reserved frame names start with "_" otherwise starts with letter -->
380
381<!--doc:The FRAME element defines the contents and appearance of a single frame.-->
382<!ELEMENT frame EMPTY>
383<!ATTLIST frame
384 %coreattrs;
385 longdesc %URI; #IMPLIED
386 name NMTOKEN #IMPLIED
387 src %URI; #IMPLIED
388 frameborder (1|0) "1"
389 marginwidth %Pixels; #IMPLIED
390 marginheight %Pixels; #IMPLIED
391 noresize (noresize) #IMPLIED
392 scrolling (yes|no|auto) "auto"
393 >
394
395<!--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.-->
396<!ELEMENT iframe %Flow;>
397<!ATTLIST iframe
398 %coreattrs;
399 longdesc %URI; #IMPLIED
400 name NMTOKEN #IMPLIED
401 src %URI; #IMPLIED
402 frameborder (1|0) "1"
403 marginwidth %Pixels; #IMPLIED
404 marginheight %Pixels; #IMPLIED
405 scrolling (yes|no|auto) "auto"
406 align %ImgAlign; #IMPLIED
407 height %Length; #IMPLIED
408 width %Length; #IMPLIED
409 >
410
411<!--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.-->
412<!ELEMENT noframes (body)>
413<!ATTLIST noframes
414 %attrs;
415 >
416
417<!--=================== Document Body ====================================-->
418<!--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.-->
419<!ELEMENT body %Flow;>
420<!ATTLIST body
421 %attrs;
422 onload %Script; #IMPLIED
423 onunload %Script; #IMPLIED
424 background %URI; #IMPLIED
425 bgcolor %Color; #IMPLIED
426 text %Color; #IMPLIED
427 link %Color; #IMPLIED
428 vlink %Color; #IMPLIED
429 alink %Color; #IMPLIED
430 >
431
432<!--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.-->
433<!ELEMENT div %Flow;>
434<!ATTLIST div
435 %attrs;
436 %TextAlign;
437 >
438
439<!--=================== Paragraphs =======================================-->
440<!--doc:The P element represents a paragraph. It cannot contain block-level elements (including P itself).-->
441<!ELEMENT p %Inline;>
442<!ATTLIST p
443 %attrs;
444 %TextAlign;
445 >
446
447<!--=================== Headings =========================================-->
448
449<!--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.-->
450<!ELEMENT h1 %Inline;>
451<!ATTLIST h1
452 %attrs;
453 %TextAlign;
454 >
455<!--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.-->
456<!ELEMENT h2 %Inline;>
457<!ATTLIST h2
458 %attrs;
459 %TextAlign;
460 >
461<!--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.-->
462<!ELEMENT h3 %Inline;>
463<!ATTLIST h3
464 %attrs;
465 %TextAlign;
466 >
467<!--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.-->
468<!ELEMENT h4 %Inline;>
469<!ATTLIST h4
470 %attrs;
471 %TextAlign;
472 >
473<!--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.-->
474<!ELEMENT h5 %Inline;>
475<!ATTLIST h5
476 %attrs;
477 %TextAlign;
478 >
479<!--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.-->
480<!ELEMENT h6 %Inline;>
481<!ATTLIST h6
482 %attrs;
483 %TextAlign;
484 >
485
486<!--=================== Lists ============================================-->
487
488<!-- Unordered list bullet styles -->
489
490<!ENTITY % ULStyle "(disc|square|circle)">
491
492<!--doc:The UL element defines an unordered list. Unordered list items are not numbered.-->
493<!ELEMENT ul (li)+>
494<!ATTLIST ul
495 %attrs;
496 type %ULStyle; #IMPLIED
497 compact (compact) #IMPLIED
498 >
499
500<!-- Ordered list numbering style
501
502 1 arabic numbers 1, 2, 3, ...
503 a lower alpha a, b, c, ...
504 A upper alpha A, B, C, ...
505 i lower roman i, ii, iii, ...
506 I upper roman I, II, III, ...
507
508 The style is applied to the sequence number which by default is reset to 1 for the first list item in an ordered list.
509-->
510<!ENTITY % OLStyle "CDATA">
511
512<!--doc:The OL element defines an ordered list. Ordered list items are numbered.-->
513<!ELEMENT ol (li)+>
514<!ATTLIST ol
515 %attrs;
516 type %OLStyle; #IMPLIED
517 compact (compact) #IMPLIED
518 start %Number; #IMPLIED
519 >
520
521<!--doc:The MENU element was designed to be used for single column menu lists. (DEPRECATED)-->
522<!ELEMENT menu (li)+>
523<!ATTLIST menu
524 %attrs;
525 compact (compact) #IMPLIED
526 >
527
528<!--doc:The DIR element was designed to be used for creating multicolumn directory lists. (DEPRECATED)-->
529<!ELEMENT dir (li)+>
530<!ATTLIST dir
531 %attrs;
532 compact (compact) #IMPLIED
533 >
534
535<!-- LIStyle is constrained to: "(%ULStyle;|%OLStyle;)" -->
536<!ENTITY % LIStyle "CDATA">
537
538<!--doc:The LI element is used to define a list item. The LI element is used in ordered (OL) and unordered lists (UL).-->
539<!ELEMENT li %Flow;>
540<!ATTLIST li
541 %attrs;
542 type %LIStyle; #IMPLIED
543 value %Number; #IMPLIED
544 >
545
546<!--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).-->
547<!ELEMENT dl (dt|dd)+>
548<!ATTLIST dl
549 %attrs;
550 compact (compact) #IMPLIED
551 >
552
553<!--doc:The DT element defines a term in a definition list.-->
554<!ELEMENT dt %Inline;>
555<!ATTLIST dt
556 %attrs;
557 >
558
559<!--doc:The DD element defines the description of a term in a definition list.-->
560<!ELEMENT dd %Flow;>
561<!ATTLIST dd
562 %attrs;
563 >
564
565<!--=================== Address ==========================================-->
566
567<!--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.-->
568<!ELEMENT address (#PCDATA | %inline; | %misc.inline; | p)*>
569<!ATTLIST address
570 %attrs;
571 >
572
573<!--=================== Horizontal Rule ==================================-->
574
575<!--doc:The HR element causes a horizontal rule to be rendered by visual user agents.-->
576<!ELEMENT hr EMPTY>
577<!ATTLIST hr
578 %attrs;
579 align (left|center|right) #IMPLIED
580 noshade (noshade) #IMPLIED
581 size %Pixels; #IMPLIED
582 width %Length; #IMPLIED
583 >
584
585<!--=================== Preformatted Text ================================-->
586
587<!--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.-->
588<!ELEMENT pre %pre.content;>
589<!ATTLIST pre
590 %attrs;
591 width %Number; #IMPLIED
592 xml:space (preserve) #FIXED 'preserve'
593 >
594
595<!--=================== Block-like Quotes ================================-->
596
597<!--doc:The BLOCKQUOTE element defines the start of a long quotation (block-level content) . It creates white space on both sides of the text.-->
598<!ELEMENT blockquote %Flow;>
599<!ATTLIST blockquote
600 %attrs;
601 cite %URI; #IMPLIED
602 >
603
604<!--=================== Text alignment ===================================-->
605
606<!--doc:The CENTER element is exactly equivalent to specifying the DIV element with the align attribute set to "center". The CENTER element is deprecated.-->
607<!ELEMENT center %Flow;>
608<!ATTLIST center
609 %attrs;
610 >
611
612<!--=================== Inserted/Deleted Text ============================-->
613
614
615<!--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).-->
616<!ELEMENT ins %Flow;>
617<!ATTLIST ins
618 %attrs;
619 cite %URI; #IMPLIED
620 datetime %Datetime; #IMPLIED
621 >
622
623<!--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).-->
624<!ELEMENT del %Flow;>
625<!ATTLIST del
626 %attrs;
627 cite %URI; #IMPLIED
628 datetime %Datetime; #IMPLIED
629 >
630
631<!--================== The Anchor Element ================================-->
632
633<!--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.-->
634<!ELEMENT a %a.content;>
635<!ATTLIST a
636 %attrs;
637 %focus;
638 charset %Charset; #IMPLIED
639 type %ContentType; #IMPLIED
640 name NMTOKEN #IMPLIED
641 href %URI; #IMPLIED
642 hreflang %LanguageCode; #IMPLIED
643 rel %LinkTypes; #IMPLIED
644 rev %LinkTypes; #IMPLIED
645 shape %Shape; "rect"
646 coords %Coords; #IMPLIED
647 target %FrameTarget; #IMPLIED
648 >
649
650<!--===================== Inline Elements ================================-->
651
652<!--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.-->
653<!ELEMENT span %Inline;>
654<!ATTLIST span
655 %attrs;
656 >
657
658<!--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).-->
659<!ELEMENT bdo %Inline;>
660<!ATTLIST bdo
661 %coreattrs;
662 %events;
663 lang %LanguageCode; #IMPLIED
664 xml:lang %LanguageCode; #IMPLIED
665 dir (ltr|rtl) #REQUIRED
666 >
667
668<!--doc:The BR element forcibly breaks (ends) the current line of text. Use the BR element to enter blank lines, not to separate paragraphs.-->
669<!ELEMENT br EMPTY>
670<!ATTLIST br
671 %coreattrs;
672 clear (left|all|right|none) "none"
673 >
674
675<!--doc:Renders as emphasized text. Generally, visual user agents present EM text in italics.-->
676<!ELEMENT em %Inline;>
677<!ATTLIST em %attrs;>
678
679<!--doc:Renders as strong emphasized text. Generally, visual user agents present STRONG text in bold font.-->
680<!ELEMENT strong %Inline;>
681<!ATTLIST strong %attrs;>
682
683<!--doc:Indicates that this is the defining instance of the enclosed term.-->
684<!ELEMENT dfn %Inline;>
685<!ATTLIST dfn %attrs;>
686
687<!--doc:Designates a fragment of computer code.-->
688<!ELEMENT code %Inline;>
689<!ATTLIST code %attrs;>
690
691<!--doc:Designates sample output from programs, scripts, etc.-->
692<!ELEMENT samp %Inline;>
693<!ATTLIST samp %attrs;>
694
695<!--doc:Indicates text to be entered by the user.-->
696<!ELEMENT kbd %Inline;>
697<!ATTLIST kbd %attrs;>
698
699<!--doc:Indicates an instance of a variable or program argument.-->
700<!ELEMENT var %Inline;>
701<!ATTLIST var %attrs;>
702
703<!--doc:Contains a citation or a reference to other sources.-->
704<!ELEMENT cite %Inline;>
705<!ATTLIST cite %attrs;>
706
707<!--doc:The ABBR element is used to indicates an abbreviated form, like "ie.", "Ltd.", "etc.".-->
708<!ELEMENT abbr %Inline;>
709<!ATTLIST abbr %attrs;>
710
711<!--doc:The ACRONYM element defines an acronym, like "USA" or "F.B.I".-->
712<!ELEMENT acronym %Inline;>
713<!ATTLIST acronym %attrs;>
714
715<!--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.-->
716<!ELEMENT q %Inline;>
717<!ATTLIST q
718 %attrs;
719 cite %URI; #IMPLIED
720 >
721
722<!--doc:The SUB element defines subscript text.-->
723<!ELEMENT sub %Inline;>
724<!ATTLIST sub %attrs;>
725
726<!--doc:The SUP element defines superscript text.-->
727<!ELEMENT sup %Inline;>
728<!ATTLIST sup %attrs;>
729
730<!--doc:Renders as teletype or mono spaced text.-->
731<!ELEMENT tt %Inline;>
732<!ATTLIST tt %attrs;>
733
734<!--doc:Renders as italic text style.-->
735<!ELEMENT i %Inline;>
736<!ATTLIST i %attrs;>
737
738<!--doc:Renders as bold text style.-->
739<!ELEMENT b %Inline;>
740<!ATTLIST b %attrs;>
741
742<!--doc:Renders text in a "large" font.-->
743<!ELEMENT big %Inline;>
744<!ATTLIST big %attrs;>
745
746<!--doc:Renders text in a "small" font.-->
747<!ELEMENT small %Inline;>
748<!ATTLIST small %attrs;>
749
750<!--doc:Renders underlined style text. (DEPRECATED)-->
751<!ELEMENT u %Inline;>
752<!ATTLIST u %attrs;>
753
754<!--doc:Render strike-through style text.-->
755<!ELEMENT s %Inline;>
756<!ATTLIST s %attrs;>
757
758<!--doc:Render strike-through style text.-->
759<!ELEMENT strike %Inline;>
760<!ATTLIST strike %attrs;>
761
762<!--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.-->
763<!ELEMENT basefont EMPTY>
764<!ATTLIST basefont
765 id ID #IMPLIED
766 size CDATA #REQUIRED
767 color %Color; #IMPLIED
768 face CDATA #IMPLIED
769 >
770
771<!--doc:The FONT element changes the font size and color for text in its contents.-->
772<!ELEMENT font %Inline;>
773<!ATTLIST font
774 %coreattrs;
775 %i18n;
776 size CDATA #IMPLIED
777 color %Color; #IMPLIED
778 face CDATA #IMPLIED
779 >
780
781<!--==================== Object ======================================-->
782<!--doc:Defines an embedded object. This element allows to specify the data and parameters for objects inserted into documents.-->
783<!ELEMENT object (#PCDATA | param | %block; | form |%inline; | %misc;)*>
784<!ATTLIST object
785 %attrs;
786 declare (declare) #IMPLIED
787 classid %URI; #IMPLIED
788 codebase %URI; #IMPLIED
789 data %URI; #IMPLIED
790 type %ContentType; #IMPLIED
791 codetype %ContentType; #IMPLIED
792 archive %UriList; #IMPLIED
793 standby %Text; #IMPLIED
794 height %Length; #IMPLIED
795 width %Length; #IMPLIED
796 usemap %URI; #IMPLIED
797 name NMTOKEN #IMPLIED
798 tabindex %Number; #IMPLIED
799 align %ImgAlign; #IMPLIED
800 border %Pixels; #IMPLIED
801 hspace %Pixels; #IMPLIED
802 vspace %Pixels; #IMPLIED
803 >
804
805<!--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.-->
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<!--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.-->
816<!ELEMENT applet (#PCDATA | param | %block; | form | %inline; | %misc;)*>
817<!ATTLIST applet
818 %coreattrs;
819 codebase %URI; #IMPLIED
820 archive CDATA #IMPLIED
821 code CDATA #IMPLIED
822 object CDATA #IMPLIED
823 alt %Text; #IMPLIED
824 name NMTOKEN #IMPLIED
825 width %Length; #REQUIRED
826 height %Length; #REQUIRED
827 align %ImgAlign; #IMPLIED
828 hspace %Pixels; #IMPLIED
829 vspace %Pixels; #IMPLIED
830 >
831
832<!--=================== Images ===========================================-->
833
834<!--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.-->
835<!ELEMENT img EMPTY>
836<!ATTLIST img
837 %attrs;
838 src %URI; #REQUIRED
839 alt %Text; #REQUIRED
840 name NMTOKEN #IMPLIED
841 longdesc %URI; #IMPLIED
842 height %Length; #IMPLIED
843 width %Length; #IMPLIED
844 usemap %URI; #IMPLIED
845 ismap (ismap) #IMPLIED
846 align %ImgAlign; #IMPLIED
847 border %Pixels; #IMPLIED
848 hspace %Pixels; #IMPLIED
849 vspace %Pixels; #IMPLIED
850 >
851
852<!-- usemap points to a map element which may be in this document
853 or an external document, although the latter is not widely supported -->
854
855<!--================== Client-side image maps ============================-->
856
857<!-- These can be placed in the same document or grouped in a
858 separate document although this isn't yet widely supported -->
859<!--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.-->
860<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
861<!ATTLIST map
862 %i18n;
863 %events;
864 id ID #REQUIRED
865 class CDATA #IMPLIED
866 style %StyleSheet; #IMPLIED
867 title %Text; #IMPLIED
868 name NMTOKEN #IMPLIED
869 >
870
871<!--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.-->
872<!ELEMENT area EMPTY>
873<!ATTLIST area
874 %attrs;
875 %focus;
876 shape %Shape; "rect"
877 coords %Coords; #IMPLIED
878 href %URI; #IMPLIED
879 nohref (nohref) #IMPLIED
880 alt %Text; #REQUIRED
881 target %FrameTarget; #IMPLIED
882 >
883
884<!--================ Forms ===============================================-->
885
886<!--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.-->
887<!ELEMENT form %form.content;>
888
889<!ATTLIST form
890 %attrs;
891 action %URI; #REQUIRED
892 method (get|post) "get"
893 name NMTOKEN #IMPLIED
894 enctype %ContentType; "application/x-www-form-urlencoded"
895 onsubmit %Script; #IMPLIED
896 onreset %Script; #IMPLIED
897 accept %ContentTypes; #IMPLIED
898 accept-charset %Charsets; #IMPLIED
899 target %FrameTarget; #IMPLIED
900 >
901
902<!--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.-->
903<!ELEMENT label %Inline;>
904<!ATTLIST label
905 %attrs;
906 for IDREF #IMPLIED
907 accesskey %Character; #IMPLIED
908 onfocus %Script; #IMPLIED
909 onblur %Script; #IMPLIED
910 >
911
912<!ENTITY % InputType
913 "(text | password | checkbox |
914 radio | submit | reset |
915 file | hidden | image | button)"
916 >
917
918
919<!--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.-->
920<!ELEMENT input EMPTY>
921<!ATTLIST input
922 %attrs;
923 %focus;
924 type %InputType; "text"
925 name CDATA #IMPLIED
926 value CDATA #IMPLIED
927 checked (checked) #IMPLIED
928 disabled (disabled) #IMPLIED
929 readonly (readonly) #IMPLIED
930 size CDATA #IMPLIED
931 maxlength %Number; #IMPLIED
932 src %URI; #IMPLIED
933 alt CDATA #IMPLIED
934 usemap %URI; #IMPLIED
935 onselect %Script; #IMPLIED
936 onchange %Script; #IMPLIED
937 accept %ContentTypes; #IMPLIED
938 align %ImgAlign; #IMPLIED
939 >
940
941<!--doc:The select element creates a drop-down list. Use this element in the FORM element to accept user input.-->
942<!ELEMENT select (optgroup|option)+>
943<!ATTLIST select
944 %attrs;
945 name CDATA #IMPLIED
946 size %Number; #IMPLIED
947 multiple (multiple) #IMPLIED
948 disabled (disabled) #IMPLIED
949 tabindex %Number; #IMPLIED
950 onfocus %Script; #IMPLIED
951 onblur %Script; #IMPLIED
952 onchange %Script; #IMPLIED
953 >
954
955<!--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.-->
956<!ELEMENT optgroup (option)+>
957<!ATTLIST optgroup
958 %attrs;
959 disabled (disabled) #IMPLIED
960 label %Text; #REQUIRED
961 >
962
963<!--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.-->
964<!ELEMENT option (#PCDATA)>
965<!ATTLIST option
966 %attrs;
967 selected (selected) #IMPLIED
968 disabled (disabled) #IMPLIED
969 label %Text; #IMPLIED
970 value CDATA #IMPLIED
971 >
972
973<!--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.-->
974<!ELEMENT textarea (#PCDATA)>
975<!ATTLIST textarea
976 %attrs;
977 %focus;
978 name CDATA #IMPLIED
979 rows %Number; #REQUIRED
980 cols %Number; #REQUIRED
981 disabled (disabled) #IMPLIED
982 readonly (readonly) #IMPLIED
983 onselect %Script; #IMPLIED
984 onchange %Script; #IMPLIED
985 >
986
987<!--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.-->
988<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
989<!ATTLIST fieldset
990 %attrs;
991 >
992
993<!ENTITY % LAlign "(top|bottom|left|right)">
994
995<!--doc:The LEGEND element allows authors to assign a caption to a FIELDSET. The legend improves accessibility when the FIELDSET is rendered non-visually.-->
996<!ELEMENT legend %Inline;>
997<!ATTLIST legend
998 %attrs;
999 accesskey %Character; #IMPLIED
1000 align %LAlign; #IMPLIED
1001 >
1002
1003<!--
1004Content is %Flow; excluding a, form, form controls, iframe
1005-->
1006<!--doc:The BUTTON element defines a push button. Inside a button element you can put content for example images, text.-->
1007<!ELEMENT button %button.content;>
1008<!ATTLIST button
1009 %attrs;
1010 %focus;
1011 name CDATA #IMPLIED
1012 value CDATA #IMPLIED
1013 type (button|submit|reset) "submit"
1014 disabled (disabled) #IMPLIED
1015 >
1016
1017<!--doc:This element creates a single-line text input control. Authors should use the INPUT element to create text input controls. (DEPRECATED)-->
1018<!ELEMENT isindex EMPTY>
1019<!ATTLIST isindex
1020 %coreattrs;
1021 %i18n;
1022 prompt %Text; #IMPLIED
1023 >
1024
1025<!--======================= Tables =======================================-->
1026
1027<!-- Derived from IETF HTML table standard, see [RFC1942] -->
1028
1029<!--
1030 The border attribute sets the thickness of the frame around the table.
1031 The default units are screen pixels.
1032
1033 The frame attribute specifies which parts of the frame around the table should be rendered.
1034 The values are not the same as CALS to avoid a name clash with the valign attribute.
1035-->
1036<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
1037
1038<!--
1039 The rules attribute defines which rules to draw between cells:
1040
1041 If rules is absent then assume:
1042 "none" if border is absent or border="0" otherwise "all"
1043-->
1044
1045<!ENTITY % TRules "(none | groups | rows | cols | all)">
1046
1047<!-- horizontal placement of table relative to document -->
1048<!ENTITY % TAlign "(left|center|right)">
1049
1050<!-- horizontal alignment attributes for cell contents
1051
1052 char alignment char, e.g. char=":"
1053 charoff offset for alignment char
1054-->
1055<!ENTITY % cellhalign
1056 "align (left|center|right|justify|char) #IMPLIED
1057 char %Character; #IMPLIED
1058 charoff %Length; #IMPLIED"
1059 >
1060
1061<!-- vertical alignment attributes for cell contents -->
1062<!ENTITY % cellvalign
1063 "valign (top|middle|bottom|baseline) #IMPLIED"
1064 >
1065
1066<!--doc:The TABLE element defines a table. Inside a TABLE element there can be table headers, table rows, table cells.-->
1067<!ELEMENT table
1068 (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
1069<!--doc:The CAPTION element defines a table caption.-->
1070<!ELEMENT caption %Inline;>
1071<!--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.-->
1072<!ELEMENT thead (tr)+>
1073<!--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.-->
1074<!ELEMENT tfoot (tr)+>
1075<!--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.-->
1076<!ELEMENT tbody (tr)+>
1077<!--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.-->
1078<!ELEMENT colgroup (col)*>
1079<!--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).-->
1080<!ELEMENT col EMPTY>
1081<!--doc:The TR elements acts as a container for a row of table cells.-->
1082<!ELEMENT tr (th|td)+>
1083<!--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.-->
1084<!ELEMENT th %Flow;>
1085<!--doc:The TD element defines a cell in a table that contains data.-->
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 %Pixels; #IMPLIED
1195 height %Pixels; #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 %Pixels; #IMPLIED
1211 height %Pixels; #IMPLIED
1212 >
1213