blob: c06e419eadcdae4b1c7dda2257f234114551c702 [file] [log] [blame]
Marc Kupietz0014c5c2024-09-30 09:12:33 +02001<!--
2 Extensible HTML version 1.0 Strict DTD
3
4 This is the same as HTML 4 Strict 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 Strict//EN"
17 SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
18
19 $Revision: 1.24 $
20 $Date: 2002/07/31 19:34:51 $
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 % Length "CDATA">
89 <!-- nn for pixels or nn% for percentage length -->
90
91<!ENTITY % MultiLength "CDATA">
92 <!-- pixel, percentage, or relative -->
93
94<!ENTITY % Pixels "CDATA">
95 <!-- integer representing length in pixels -->
96
97<!-- these are used for image maps -->
98
99<!ENTITY % Shape "(rect|circle|poly|default)">
100
101<!ENTITY % Coords "CDATA">
102 <!-- comma separated list of lengths -->
103
104<!--=================== Generic Attributes ===============================-->
105
106<!-- core attributes common to most elements
107 id document-wide unique id
108 class space separated list of classes
109 style associated style info
110 title advisory title/amplification
111-->
112<!ENTITY % coreattrs
113 "id ID #IMPLIED
114 class CDATA #IMPLIED
115 style %StyleSheet; #IMPLIED
116 title %Text; #IMPLIED"
117 >
118
119<!-- internationalization attributes
120 lang language code (backwards compatible)
121 xml:lang language code (as per XML 1.0 spec)
122 dir direction for weak/neutral text
123-->
124<!ENTITY % i18n
125 "lang %LanguageCode; #IMPLIED
126 xml:lang %LanguageCode; #IMPLIED
127 dir (ltr|rtl) #IMPLIED"
128 >
129
130<!-- attributes for common UI events
131 onclick a pointer button was clicked
132 ondblclick a pointer button was double clicked
133 onmousedown a pointer button was pressed down
134 onmouseup a pointer button was released
135 onmousemove a pointer was moved onto the element
136 onmouseout a pointer was moved away from the element
137 onkeypress a key was pressed and released
138 onkeydown a key was pressed down
139 onkeyup a key was released
140-->
141<!ENTITY % events
142 "onclick %Script; #IMPLIED
143 ondblclick %Script; #IMPLIED
144 onmousedown %Script; #IMPLIED
145 onmouseup %Script; #IMPLIED
146 onmouseover %Script; #IMPLIED
147 onmousemove %Script; #IMPLIED
148 onmouseout %Script; #IMPLIED
149 onkeypress %Script; #IMPLIED
150 onkeydown %Script; #IMPLIED
151 onkeyup %Script; #IMPLIED"
152 >
153
154<!-- attributes for elements that can get the focus
155 accesskey accessibility key character
156 tabindex position in tabbing order
157 onfocus the element got the focus
158 onblur the element lost the focus
159-->
160<!ENTITY % focus
161 "accesskey %Character; #IMPLIED
162 tabindex %Number; #IMPLIED
163 onfocus %Script; #IMPLIED
164 onblur %Script; #IMPLIED"
165 >
166
167<!ENTITY % attrs "%coreattrs; %i18n; %events;">
168
169<!--=================== Text Elements ====================================-->
170
171<!ENTITY % special.pre
172 "br | span | bdo | map">
173
174
175<!ENTITY % special
176 "%special.pre; | object | img ">
177
178<!ENTITY % fontstyle "tt | i | b | big | small ">
179
180<!ENTITY % phrase "em | strong | dfn | code | q |
181 samp | kbd | var | cite | abbr | acronym | sub | sup ">
182
183<!ENTITY % inline.forms "input | select | textarea | label | button">
184
185<!-- these can occur at block or inline level -->
186<!ENTITY % misc.inline "ins | del | script">
187
188<!-- these can only occur at block level -->
189<!ENTITY % misc "noscript | %misc.inline;">
190
191<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
192
193<!-- %Inline; covers inline or "text-level" elements -->
194<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*">
195
196<!--================== Block level elements ==============================-->
197
198<!ENTITY % heading "h1|h2|h3|h4|h5|h6">
199<!ENTITY % lists "ul | ol | dl">
200<!ENTITY % blocktext "pre | hr | blockquote | address">
201
202<!ENTITY % block
203 "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
204
205<!ENTITY % Block "(%block; | form | %misc;)*">
206
207<!-- %Flow; mixes block and inline and is used for list items etc. -->
208<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
209
210<!--================== Content models for exclusions =====================-->
211
212<!-- a elements use %Inline; excluding a -->
213
214<!ENTITY % a.content
215 "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*">
216
217<!-- pre uses %Inline excluding big, small, sup or sup -->
218
219<!ENTITY % pre.content
220 "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline;
221 | %inline.forms;)*">
222
223<!-- form uses %Block; excluding form -->
224
225<!ENTITY % form.content "(%block; | %misc;)*">
226
227<!-- button uses %Flow; but excludes a, form and form controls -->
228
229<!ENTITY % button.content
230 "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
231 table | %special; | %fontstyle; | %phrase; | %misc;)*">
232
233<!--================ Document Structure ==================================-->
234
235<!--doc:This element identifies the document to be XHTML. The remainder of the XHTML document is contained by this element.-->
236<!ELEMENT html (head, body)>
237<!ATTLIST html
238 %i18n;
239 id ID #IMPLIED
240 xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
241 >
242
243<!--================ Document Head =======================================-->
244
245<!ENTITY % head.misc "(script|style|meta|link|object)*">
246
247
248<!--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.-->
249<!ELEMENT head (%head.misc;,
250 ((title, %head.misc;, (base, %head.misc;)?) |
251 (base, %head.misc;, (title, %head.misc;))))>
252
253<!ATTLIST head
254 %i18n;
255 id ID #IMPLIED
256 profile %URI; #IMPLIED
257 >
258
259<!--doc:The TITLE element is not considered part of the flow of text. It is displayed as the page header or window title.-->
260<!ELEMENT title (#PCDATA)>
261<!ATTLIST title
262 %i18n;
263 id ID #IMPLIED
264 >
265
266<!--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.-->
267<!ELEMENT base EMPTY>
268<!ATTLIST base
269 href %URI; #REQUIRED
270 id ID #IMPLIED
271 >
272
273<!--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.-->
274<!ELEMENT meta EMPTY>
275<!ATTLIST meta
276 %i18n;
277 id ID #IMPLIED
278 http-equiv CDATA #IMPLIED
279 name CDATA #IMPLIED
280 content CDATA #REQUIRED
281 scheme CDATA #IMPLIED
282 >
283
284<!--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).-->
285<!ELEMENT link EMPTY>
286<!ATTLIST link
287 %attrs;
288 charset %Charset; #IMPLIED
289 href %URI; #IMPLIED
290 hreflang %LanguageCode; #IMPLIED
291 type %ContentType; #IMPLIED
292 rel %LinkTypes; #IMPLIED
293 rev %LinkTypes; #IMPLIED
294 media %MediaDesc; #IMPLIED
295 >
296
297<!--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.-->
298<!ELEMENT style (#PCDATA)>
299<!ATTLIST style
300 %i18n;
301 id ID #IMPLIED
302 type %ContentType; #REQUIRED
303 media %MediaDesc; #IMPLIED
304 title %Text; #IMPLIED
305 xml:space (preserve) #FIXED 'preserve'
306 >
307
308<!--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.-->
309<!ELEMENT script (#PCDATA)>
310<!ATTLIST script
311 id ID #IMPLIED
312 charset %Charset; #IMPLIED
313 type %ContentType; #REQUIRED
314 src %URI; #IMPLIED
315 defer (defer) #IMPLIED
316 xml:space (preserve) #FIXED 'preserve'
317 >
318
319
320<!--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.-->
321<!ELEMENT noscript %Block;>
322<!ATTLIST noscript
323 %attrs;
324 >
325
326<!--=================== Document Body ====================================-->
327
328<!--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.-->
329<!ELEMENT body %Block;>
330<!ATTLIST body
331 %attrs;
332 onload %Script; #IMPLIED
333 onunload %Script; #IMPLIED
334 >
335
336<!--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.-->
337<!ELEMENT div %Flow;>
338<!ATTLIST div
339 %attrs;
340 >
341
342<!--=================== Paragraphs =======================================-->
343<!--doc:The P element represents a paragraph. It cannot contain block-level elements (including P itself).-->
344<!ELEMENT p %Inline;>
345<!ATTLIST p
346 %attrs;
347 >
348
349<!--=================== Headings =========================================-->
350
351
352<!--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.-->
353<!ELEMENT h1 %Inline;>
354<!ATTLIST h1
355 %attrs;
356 >
357<!--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.-->
358<!ELEMENT h2 %Inline;>
359<!ATTLIST h2
360 %attrs;
361 >
362<!--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.-->
363<!ELEMENT h3 %Inline;>
364<!ATTLIST h3
365 %attrs;
366 >
367<!--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.-->
368<!ELEMENT h4 %Inline;>
369<!ATTLIST h4
370 %attrs;
371 >
372<!--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.-->
373<!ELEMENT h5 %Inline;>
374<!ATTLIST h5
375 %attrs;
376 >
377<!--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.-->
378<!ELEMENT h6 %Inline;>
379<!ATTLIST h6
380 %attrs;
381 >
382
383<!--=================== Lists ============================================-->
384
385
386<!--doc:The UL element defines an unordered list. Unordered list items are not numbered.-->
387<!ELEMENT ul (li)+>
388<!ATTLIST ul
389 %attrs;
390 >
391
392<!--doc:The OL element defines an ordered list. Ordered list items are numbered.-->
393<!ELEMENT ol (li)+>
394<!ATTLIST ol
395 %attrs;
396 >
397
398<!--doc:The LI element is used to define a list item. The LI element is used in ordered (OL) and unordered lists (UL).-->
399<!ELEMENT li %Flow;>
400<!ATTLIST li
401 %attrs;
402 >
403
404<!--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).-->
405<!ELEMENT dl (dt|dd)+>
406<!ATTLIST dl
407 %attrs;
408 >
409
410<!--doc:The DT element defines a term in a definition list.-->
411<!ELEMENT dt %Inline;>
412<!ATTLIST dt
413 %attrs;
414 >
415
416<!--doc:The DD element defines the description of a term in a definition list.-->
417<!ELEMENT dd %Flow;>
418<!ATTLIST dd
419 %attrs;
420 >
421
422<!--=================== Address ==========================================-->
423
424<!--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.-->
425<!ELEMENT address %Inline;>
426<!ATTLIST address
427 %attrs;
428 >
429
430<!--=================== Horizontal Rule ==================================-->
431<!--doc:The HR element causes a horizontal rule to be rendered by visual user agents.-->
432<!ELEMENT hr EMPTY>
433<!ATTLIST hr
434 %attrs;
435 >
436
437<!--=================== Preformatted Text ================================-->
438
439<!--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.-->
440<!ELEMENT pre %pre.content;>
441<!ATTLIST pre
442 %attrs;
443 xml:space (preserve) #FIXED 'preserve'
444 >
445
446<!--=================== Block-like Quotes ================================-->
447<!--doc:The BLOCKQUOTE element defines the start of a long quotation (block-level content) . It creates white space on both sides of the text.-->
448<!ELEMENT blockquote %Block;>
449<!ATTLIST blockquote
450 %attrs;
451 cite %URI; #IMPLIED
452 >
453
454<!--=================== Inserted/Deleted Text ============================-->
455
456<!--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).-->
457<!ELEMENT ins %Flow;>
458<!ATTLIST ins
459 %attrs;
460 cite %URI; #IMPLIED
461 datetime %Datetime; #IMPLIED
462 >
463
464<!--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).-->
465<!ELEMENT del %Flow;>
466<!ATTLIST del
467 %attrs;
468 cite %URI; #IMPLIED
469 datetime %Datetime; #IMPLIED
470 >
471
472<!--================== The Anchor Element ================================-->
473
474
475<!--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.-->
476<!ELEMENT a %a.content;>
477<!ATTLIST a
478 %attrs;
479 %focus;
480 charset %Charset; #IMPLIED
481 type %ContentType; #IMPLIED
482 name NMTOKEN #IMPLIED
483 href %URI; #IMPLIED
484 hreflang %LanguageCode; #IMPLIED
485 rel %LinkTypes; #IMPLIED
486 rev %LinkTypes; #IMPLIED
487 shape %Shape; "rect"
488 coords %Coords; #IMPLIED
489 >
490
491<!--===================== Inline Elements ================================-->
492
493<!--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.-->
494<!ELEMENT span %Inline;>
495<!ATTLIST span
496 %attrs;
497 >
498
499<!--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).-->
500<!ELEMENT bdo %Inline;>
501<!ATTLIST bdo
502 %coreattrs;
503 %events;
504 lang %LanguageCode; #IMPLIED
505 xml:lang %LanguageCode; #IMPLIED
506 dir (ltr|rtl) #REQUIRED
507 >
508
509<!--doc:The BR element forcibly breaks (ends) the current line of text. Use the BR element to enter blank lines, not to separate paragraphs.-->
510<!ELEMENT br EMPTY>
511<!ATTLIST br
512 %coreattrs;
513 >
514
515<!--doc:Renders as emphasized text. Generally, visual user agents present EM text in italics.-->
516<!ELEMENT em %Inline;>
517<!ATTLIST em %attrs;>
518
519<!--doc:Renders as strong emphasized text. Generally, visual user agents present STRONG text in bold font.-->
520<!ELEMENT strong %Inline;>
521<!ATTLIST strong %attrs;>
522
523<!--doc:Indicates that this is the defining instance of the enclosed term.-->
524<!ELEMENT dfn %Inline;>
525<!ATTLIST dfn %attrs;>
526
527<!--doc:Designates a fragment of computer code.-->
528<!ELEMENT code %Inline;>
529<!ATTLIST code %attrs;>
530
531<!--doc:Designates sample output from programs, scripts, etc.-->
532<!ELEMENT samp %Inline;>
533<!ATTLIST samp %attrs;>
534
535<!--doc:Indicates text to be entered by the user.-->
536<!ELEMENT kbd %Inline;>
537<!ATTLIST kbd %attrs;>
538
539<!--doc:Indicates an instance of a variable or program argument.-->
540<!ELEMENT var %Inline;>
541<!ATTLIST var %attrs;>
542
543<!--doc:Contains a citation or a reference to other sources.-->
544<!ELEMENT cite %Inline;>
545<!ATTLIST cite %attrs;>
546
547<!--doc:The ABBR element is used to indicates an abbreviated form, like "ie.", "Ltd.", "etc.".-->
548<!ELEMENT abbr %Inline;>
549<!ATTLIST abbr %attrs;>
550
551<!--doc:The ACRONYM element defines an acronym, like "USA" or "F.B.I".-->
552<!ELEMENT acronym %Inline;>
553<!ATTLIST acronym %attrs;>
554
555<!--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.-->
556<!ELEMENT q %Inline;>
557<!ATTLIST q
558 %attrs;
559 cite %URI; #IMPLIED
560 >
561
562<!--doc:The SUB element defines subscript text.-->
563<!ELEMENT sub %Inline;>
564<!ATTLIST sub %attrs;>
565
566<!--doc:The SUP element defines superscript text.-->
567<!ELEMENT sup %Inline;>
568<!ATTLIST sup %attrs;>
569
570<!--doc:Renders as teletype or mono spaced text.-->
571<!ELEMENT tt %Inline;>
572<!ATTLIST tt %attrs;>
573
574<!--doc:Renders as italic text style.-->
575<!ELEMENT i %Inline;>
576<!ATTLIST i %attrs;>
577
578<!--doc:Renders as bold text style.-->
579<!ELEMENT b %Inline;>
580<!ATTLIST b %attrs;>
581
582<!--doc:Renders text in a "large" font.-->
583<!ELEMENT big %Inline;>
584<!ATTLIST big %attrs;>
585
586<!--doc:Renders text in a "small" font.-->
587<!ELEMENT small %Inline;>
588<!ATTLIST small %attrs;>
589
590<!--==================== Object ======================================-->
591<!--Defines an embedded object. This element allows you to specify the data and parameters for objects inserted into XHTML documents, and the code that can be used to display/manipulate that data.
592-->
593
594<!--doc:Defines an embedded object. This element allows to specify the data and parameters for objects inserted into documents.-->
595<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
596<!ATTLIST object
597 %attrs;
598 declare (declare) #IMPLIED
599 classid %URI; #IMPLIED
600 codebase %URI; #IMPLIED
601 data %URI; #IMPLIED
602 type %ContentType; #IMPLIED
603 codetype %ContentType; #IMPLIED
604 archive %UriList; #IMPLIED
605 standby %Text; #IMPLIED
606 height %Length; #IMPLIED
607 width %Length; #IMPLIED
608 usemap %URI; #IMPLIED
609 name NMTOKEN #IMPLIED
610 tabindex %Number; #IMPLIED
611 >
612
613<!--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.-->
614<!ELEMENT param EMPTY>
615<!ATTLIST param
616 id ID #IMPLIED
617 name CDATA #IMPLIED
618 value CDATA #IMPLIED
619 valuetype (data|ref|object) "data"
620 type %ContentType; #IMPLIED
621 >
622
623<!--=================== Images ===========================================-->
624
625
626<!--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.-->
627<!ELEMENT img EMPTY>
628<!ATTLIST img
629 %attrs;
630 src %URI; #REQUIRED
631 alt %Text; #REQUIRED
632 longdesc %URI; #IMPLIED
633 height %Length; #IMPLIED
634 width %Length; #IMPLIED
635 usemap %URI; #IMPLIED
636 ismap (ismap) #IMPLIED
637 >
638
639<!-- usemap points to a map element which may be in this document
640 or an external document, although the latter is not widely supported -->
641
642<!--================== Client-side image maps ============================-->
643
644
645<!--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.-->
646<!ELEMENT map ((%block; | form | %misc;)+ | area+)>
647<!ATTLIST map
648 %i18n;
649 %events;
650 id ID #REQUIRED
651 class CDATA #IMPLIED
652 style %StyleSheet; #IMPLIED
653 title %Text; #IMPLIED
654 name NMTOKEN #IMPLIED
655 >
656
657<!--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.-->
658<!ELEMENT area EMPTY>
659<!ATTLIST area
660 %attrs;
661 %focus;
662 shape %Shape; "rect"
663 coords %Coords; #IMPLIED
664 href %URI; #IMPLIED
665 nohref (nohref) #IMPLIED
666 alt %Text; #REQUIRED
667 >
668
669<!--================ Forms ===============================================-->
670
671<!--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.-->
672<!ELEMENT form %form.content;>
673
674<!ATTLIST form
675 %attrs;
676 action %URI; #REQUIRED
677 method (get|post) "get"
678 enctype %ContentType; "application/x-www-form-urlencoded"
679 onsubmit %Script; #IMPLIED
680 onreset %Script; #IMPLIED
681 accept %ContentTypes; #IMPLIED
682 accept-charset %Charsets; #IMPLIED
683 >
684
685<!--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.-->
686<!ELEMENT label %Inline;>
687<!ATTLIST label
688 %attrs;
689 for IDREF #IMPLIED
690 accesskey %Character; #IMPLIED
691 onfocus %Script; #IMPLIED
692 onblur %Script; #IMPLIED
693 >
694
695<!ENTITY % InputType
696 "(text | password | checkbox |
697 radio | submit | reset |
698 file | hidden | image | button)"
699 >
700
701<!--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.-->
702<!ELEMENT input EMPTY>
703<!ATTLIST input
704 %attrs;
705 %focus;
706 type %InputType; "text"
707 name CDATA #IMPLIED
708 value CDATA #IMPLIED
709 checked (checked) #IMPLIED
710 disabled (disabled) #IMPLIED
711 readonly (readonly) #IMPLIED
712 size CDATA #IMPLIED
713 maxlength %Number; #IMPLIED
714 src %URI; #IMPLIED
715 alt CDATA #IMPLIED
716 usemap %URI; #IMPLIED
717 onselect %Script; #IMPLIED
718 onchange %Script; #IMPLIED
719 accept %ContentTypes; #IMPLIED
720 >
721
722<!--doc:The select element creates a drop-down list. Use this element in the FORM element to accept user input.-->
723<!ELEMENT select (optgroup|option)+>
724<!ATTLIST select
725 %attrs;
726 name CDATA #IMPLIED
727 size %Number; #IMPLIED
728 multiple (multiple) #IMPLIED
729 disabled (disabled) #IMPLIED
730 tabindex %Number; #IMPLIED
731 onfocus %Script; #IMPLIED
732 onblur %Script; #IMPLIED
733 onchange %Script; #IMPLIED
734 >
735
736<!--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.-->
737<!ELEMENT optgroup (option)+>
738<!ATTLIST optgroup
739 %attrs;
740 disabled (disabled) #IMPLIED
741 label %Text; #REQUIRED
742 >
743
744<!--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.-->
745<!ELEMENT option (#PCDATA)>
746<!ATTLIST option
747 %attrs;
748 selected (selected) #IMPLIED
749 disabled (disabled) #IMPLIED
750 label %Text; #IMPLIED
751 value CDATA #IMPLIED
752 >
753
754<!--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.-->
755<!ELEMENT textarea (#PCDATA)>
756<!ATTLIST textarea
757 %attrs;
758 %focus;
759 name CDATA #IMPLIED
760 rows %Number; #REQUIRED
761 cols %Number; #REQUIRED
762 disabled (disabled) #IMPLIED
763 readonly (readonly) #IMPLIED
764 onselect %Script; #IMPLIED
765 onchange %Script; #IMPLIED
766 >
767
768<!--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.-->
769<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
770<!ATTLIST fieldset
771 %attrs;
772 >
773
774<!--doc:The LEGEND element allows authors to assign a caption to a FIELDSET. The legend improves accessibility when the FIELDSET is rendered non-visually.-->
775<!ELEMENT legend %Inline;>
776<!ATTLIST legend
777 %attrs;
778 accesskey %Character; #IMPLIED
779 >
780
781<!--
782 Content is %Flow; excluding a, form and form controls
783-->
784<!--doc:The BUTTON element defines a push button. Inside a button element you can put content for example images, text.-->
785<!ELEMENT button %button.content;>
786<!ATTLIST button
787 %attrs;
788 %focus;
789 name CDATA #IMPLIED
790 value CDATA #IMPLIED
791 type (button|submit|reset) "submit"
792 disabled (disabled) #IMPLIED
793 >
794
795<!--======================= Tables =======================================-->
796
797<!-- Derived from IETF HTML table standard, see [RFC1942] -->
798
799<!--
800 The border attribute sets the thickness of the frame around the table. The default units are screen pixels.
801
802 The frame attribute specifies which parts of the frame around the table should be rendered.
803 The values are not the same as CALS to avoid a name clash with the valign attribute.
804-->
805<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
806
807<!--
808 The rules attribute defines which rules to draw between cells:
809
810 If rules is absent then assume:
811 "none" if border is absent or border="0" otherwise "all"
812-->
813
814<!ENTITY % TRules "(none | groups | rows | cols | all)">
815
816<!-- horizontal alignment attributes for cell contents
817
818 char alignment char, e.g. char=':'
819 charoff offset for alignment char
820-->
821<!ENTITY % cellhalign
822 "align (left|center|right|justify|char) #IMPLIED
823 char %Character; #IMPLIED
824 charoff %Length; #IMPLIED"
825 >
826
827<!-- vertical alignment attributes for cell contents -->
828<!ENTITY % cellvalign
829 "valign (top|middle|bottom|baseline) #IMPLIED"
830 >
831
832<!--doc:The TABLE element defines a table. Inside a TABLE element there can be table headers, table rows, table cells.-->
833<!ELEMENT table
834 (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
835<!--doc:The CAPTION element defines a table caption.-->
836<!ELEMENT caption %Inline;>
837<!--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.-->
838<!ELEMENT thead (tr)+>
839<!--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.-->
840<!ELEMENT tfoot (tr)+>
841<!--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.-->
842<!ELEMENT tbody (tr)+>
843<!--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.-->
844<!ELEMENT colgroup (col)*>
845<!--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).-->
846<!ELEMENT col EMPTY>
847<!--doc:The TR elements acts as a container for a row of table cells.-->
848<!ELEMENT tr (th|td)+>
849<!--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.-->
850<!ELEMENT th %Flow;>
851<!--doc:The TD element defines a cell in a table that contains data.-->
852<!ELEMENT td %Flow;>
853
854<!ATTLIST table
855 %attrs;
856 summary %Text; #IMPLIED
857 width %Length; #IMPLIED
858 border %Pixels; #IMPLIED
859 frame %TFrame; #IMPLIED
860 rules %TRules; #IMPLIED
861 cellspacing %Length; #IMPLIED
862 cellpadding %Length; #IMPLIED
863 >
864
865<!ATTLIST caption
866 %attrs;
867 >
868
869<!--
870colgroup groups a set of col elements. It allows you to group
871several semantically related columns together.
872-->
873<!ATTLIST colgroup
874 %attrs;
875 span %Number; "1"
876 width %MultiLength; #IMPLIED
877 %cellhalign;
878 %cellvalign;
879 >
880
881<!--
882 col elements define the alignment properties for cells in
883 one or more columns.
884
885 The width attribute specifies the width of the columns, e.g.
886
887 width=64 width in screen pixels
888 width=0.5* relative width of 0.5
889
890 The span attribute causes the attributes of one
891 col element to apply to more than one column.
892-->
893<!ATTLIST col
894 %attrs;
895 span %Number; "1"
896 width %MultiLength; #IMPLIED
897 %cellhalign;
898 %cellvalign;
899 >
900
901<!--
902 Use thead to duplicate headers when breaking table
903 across page boundaries, or for static headers when
904 tbody sections are rendered in scrolling panel.
905
906 Use tfoot to duplicate footers when breaking table
907 across page boundaries, or for static footers when
908 tbody sections are rendered in scrolling panel.
909
910 Use multiple tbody sections when rules are needed
911 between groups of table rows.
912-->
913<!ATTLIST thead
914 %attrs;
915 %cellhalign;
916 %cellvalign;
917 >
918
919<!ATTLIST tfoot
920 %attrs;
921 %cellhalign;
922 %cellvalign;
923 >
924
925<!ATTLIST tbody
926 %attrs;
927 %cellhalign;
928 %cellvalign;
929 >
930
931<!ATTLIST tr
932 %attrs;
933 %cellhalign;
934 %cellvalign;
935 >
936
937
938<!-- Scope is simpler than headers attribute for common tables -->
939<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
940
941<!-- th is for headers, td for data and for cells acting as both -->
942
943<!ATTLIST th
944 %attrs;
945 abbr %Text; #IMPLIED
946 axis CDATA #IMPLIED
947 headers IDREFS #IMPLIED
948 scope %Scope; #IMPLIED
949 rowspan %Number; "1"
950 colspan %Number; "1"
951 %cellhalign;
952 %cellvalign;
953 >
954
955<!ATTLIST td
956 %attrs;
957 abbr %Text; #IMPLIED
958 axis CDATA #IMPLIED
959 headers IDREFS #IMPLIED
960 scope %Scope; #IMPLIED
961 rowspan %Number; "1"
962 colspan %Number; "1"
963 %cellhalign;
964 %cellvalign;
965 >
966