0
|
1 <!--
|
|
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.1 $
|
|
20 $Date: 2002/08/01 13:56:03 $
|
|
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 <!-- the namespace URI designates the document profile -->
|
|
236
|
|
237 <!ELEMENT html (head, body)>
|
|
238 <!ATTLIST html
|
|
239 %i18n;
|
|
240 id ID #IMPLIED
|
|
241 xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
|
|
242 >
|
|
243
|
|
244 <!--================ Document Head =======================================-->
|
|
245
|
|
246 <!ENTITY % head.misc "(script|style|meta|link|object)*">
|
|
247
|
|
248 <!-- content model is %head.misc; combined with a single
|
|
249 title and an optional base element in any order -->
|
|
250
|
|
251 <!ELEMENT head (%head.misc;,
|
|
252 ((title, %head.misc;, (base, %head.misc;)?) |
|
|
253 (base, %head.misc;, (title, %head.misc;))))>
|
|
254
|
|
255 <!ATTLIST head
|
|
256 %i18n;
|
|
257 id ID #IMPLIED
|
|
258 profile %URI; #IMPLIED
|
|
259 >
|
|
260
|
|
261 <!-- The title element is not considered part of the flow of text.
|
|
262 It should be displayed, for example as the page header or
|
|
263 window title. Exactly one title is required per document.
|
|
264 -->
|
|
265 <!ELEMENT title (#PCDATA)>
|
|
266 <!ATTLIST title
|
|
267 %i18n;
|
|
268 id ID #IMPLIED
|
|
269 >
|
|
270
|
|
271 <!-- document base URI -->
|
|
272
|
|
273 <!ELEMENT base EMPTY>
|
|
274 <!ATTLIST base
|
|
275 href %URI; #REQUIRED
|
|
276 id ID #IMPLIED
|
|
277 >
|
|
278
|
|
279 <!-- generic metainformation -->
|
|
280 <!ELEMENT meta EMPTY>
|
|
281 <!ATTLIST meta
|
|
282 %i18n;
|
|
283 id ID #IMPLIED
|
|
284 http-equiv CDATA #IMPLIED
|
|
285 name CDATA #IMPLIED
|
|
286 content CDATA #REQUIRED
|
|
287 scheme CDATA #IMPLIED
|
|
288 >
|
|
289
|
|
290 <!--
|
|
291 Relationship values can be used in principle:
|
|
292
|
|
293 a) for document specific toolbars/menus when used
|
|
294 with the link element in document head e.g.
|
|
295 start, contents, previous, next, index, end, help
|
|
296 b) to link to a separate style sheet (rel="stylesheet")
|
|
297 c) to make a link to a script (rel="script")
|
|
298 d) by stylesheets to control how collections of
|
|
299 html nodes are rendered into printed documents
|
|
300 e) to make a link to a printable version of this document
|
|
301 e.g. a PostScript or PDF version (rel="alternate" media="print")
|
|
302 -->
|
|
303
|
|
304 <!ELEMENT link EMPTY>
|
|
305 <!ATTLIST link
|
|
306 %attrs;
|
|
307 charset %Charset; #IMPLIED
|
|
308 href %URI; #IMPLIED
|
|
309 hreflang %LanguageCode; #IMPLIED
|
|
310 type %ContentType; #IMPLIED
|
|
311 rel %LinkTypes; #IMPLIED
|
|
312 rev %LinkTypes; #IMPLIED
|
|
313 media %MediaDesc; #IMPLIED
|
|
314 >
|
|
315
|
|
316 <!-- style info, which may include CDATA sections -->
|
|
317 <!ELEMENT style (#PCDATA)>
|
|
318 <!ATTLIST style
|
|
319 %i18n;
|
|
320 id ID #IMPLIED
|
|
321 type %ContentType; #REQUIRED
|
|
322 media %MediaDesc; #IMPLIED
|
|
323 title %Text; #IMPLIED
|
|
324 xml:space (preserve) #FIXED 'preserve'
|
|
325 >
|
|
326
|
|
327 <!-- script statements, which may include CDATA sections -->
|
|
328 <!ELEMENT script (#PCDATA)>
|
|
329 <!ATTLIST script
|
|
330 id ID #IMPLIED
|
|
331 charset %Charset; #IMPLIED
|
|
332 type %ContentType; #REQUIRED
|
|
333 src %URI; #IMPLIED
|
|
334 defer (defer) #IMPLIED
|
|
335 xml:space (preserve) #FIXED 'preserve'
|
|
336 >
|
|
337
|
|
338 <!-- alternate content container for non script-based rendering -->
|
|
339
|
|
340 <!ELEMENT noscript %Block;>
|
|
341 <!ATTLIST noscript
|
|
342 %attrs;
|
|
343 >
|
|
344
|
|
345 <!--=================== Document Body ====================================-->
|
|
346
|
|
347 <!ELEMENT body %Block;>
|
|
348 <!ATTLIST body
|
|
349 %attrs;
|
|
350 onload %Script; #IMPLIED
|
|
351 onunload %Script; #IMPLIED
|
|
352 >
|
|
353
|
|
354 <!ELEMENT div %Flow;> <!-- generic language/style container -->
|
|
355 <!ATTLIST div
|
|
356 %attrs;
|
|
357 >
|
|
358
|
|
359 <!--=================== Paragraphs =======================================-->
|
|
360
|
|
361 <!ELEMENT p %Inline;>
|
|
362 <!ATTLIST p
|
|
363 %attrs;
|
|
364 >
|
|
365
|
|
366 <!--=================== Headings =========================================-->
|
|
367
|
|
368 <!--
|
|
369 There are six levels of headings from h1 (the most important)
|
|
370 to h6 (the least important).
|
|
371 -->
|
|
372
|
|
373 <!ELEMENT h1 %Inline;>
|
|
374 <!ATTLIST h1
|
|
375 %attrs;
|
|
376 >
|
|
377
|
|
378 <!ELEMENT h2 %Inline;>
|
|
379 <!ATTLIST h2
|
|
380 %attrs;
|
|
381 >
|
|
382
|
|
383 <!ELEMENT h3 %Inline;>
|
|
384 <!ATTLIST h3
|
|
385 %attrs;
|
|
386 >
|
|
387
|
|
388 <!ELEMENT h4 %Inline;>
|
|
389 <!ATTLIST h4
|
|
390 %attrs;
|
|
391 >
|
|
392
|
|
393 <!ELEMENT h5 %Inline;>
|
|
394 <!ATTLIST h5
|
|
395 %attrs;
|
|
396 >
|
|
397
|
|
398 <!ELEMENT h6 %Inline;>
|
|
399 <!ATTLIST h6
|
|
400 %attrs;
|
|
401 >
|
|
402
|
|
403 <!--=================== Lists ============================================-->
|
|
404
|
|
405 <!-- Unordered list -->
|
|
406
|
|
407 <!ELEMENT ul (li)+>
|
|
408 <!ATTLIST ul
|
|
409 %attrs;
|
|
410 >
|
|
411
|
|
412 <!-- Ordered (numbered) list -->
|
|
413
|
|
414 <!ELEMENT ol (li)+>
|
|
415 <!ATTLIST ol
|
|
416 %attrs;
|
|
417 >
|
|
418
|
|
419 <!-- list item -->
|
|
420
|
|
421 <!ELEMENT li %Flow;>
|
|
422 <!ATTLIST li
|
|
423 %attrs;
|
|
424 >
|
|
425
|
|
426 <!-- definition lists - dt for term, dd for its definition -->
|
|
427
|
|
428 <!ELEMENT dl (dt|dd)+>
|
|
429 <!ATTLIST dl
|
|
430 %attrs;
|
|
431 >
|
|
432
|
|
433 <!ELEMENT dt %Inline;>
|
|
434 <!ATTLIST dt
|
|
435 %attrs;
|
|
436 >
|
|
437
|
|
438 <!ELEMENT dd %Flow;>
|
|
439 <!ATTLIST dd
|
|
440 %attrs;
|
|
441 >
|
|
442
|
|
443 <!--=================== Address ==========================================-->
|
|
444
|
|
445 <!-- information on author -->
|
|
446
|
|
447 <!ELEMENT address %Inline;>
|
|
448 <!ATTLIST address
|
|
449 %attrs;
|
|
450 >
|
|
451
|
|
452 <!--=================== Horizontal Rule ==================================-->
|
|
453
|
|
454 <!ELEMENT hr EMPTY>
|
|
455 <!ATTLIST hr
|
|
456 %attrs;
|
|
457 >
|
|
458
|
|
459 <!--=================== Preformatted Text ================================-->
|
|
460
|
|
461 <!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
|
|
462
|
|
463 <!ELEMENT pre %pre.content;>
|
|
464 <!ATTLIST pre
|
|
465 %attrs;
|
|
466 xml:space (preserve) #FIXED 'preserve'
|
|
467 >
|
|
468
|
|
469 <!--=================== Block-like Quotes ================================-->
|
|
470
|
|
471 <!ELEMENT blockquote %Block;>
|
|
472 <!ATTLIST blockquote
|
|
473 %attrs;
|
|
474 cite %URI; #IMPLIED
|
|
475 >
|
|
476
|
|
477 <!--=================== Inserted/Deleted Text ============================-->
|
|
478
|
|
479 <!--
|
|
480 ins/del are allowed in block and inline content, but its
|
|
481 inappropriate to include block content within an ins element
|
|
482 occurring in inline content.
|
|
483 -->
|
|
484 <!ELEMENT ins %Flow;>
|
|
485 <!ATTLIST ins
|
|
486 %attrs;
|
|
487 cite %URI; #IMPLIED
|
|
488 datetime %Datetime; #IMPLIED
|
|
489 >
|
|
490
|
|
491 <!ELEMENT del %Flow;>
|
|
492 <!ATTLIST del
|
|
493 %attrs;
|
|
494 cite %URI; #IMPLIED
|
|
495 datetime %Datetime; #IMPLIED
|
|
496 >
|
|
497
|
|
498 <!--================== The Anchor Element ================================-->
|
|
499
|
|
500 <!-- content is %Inline; except that anchors shouldn't be nested -->
|
|
501
|
|
502 <!ELEMENT a %a.content;>
|
|
503 <!ATTLIST a
|
|
504 %attrs;
|
|
505 %focus;
|
|
506 charset %Charset; #IMPLIED
|
|
507 type %ContentType; #IMPLIED
|
|
508 name NMTOKEN #IMPLIED
|
|
509 href %URI; #IMPLIED
|
|
510 hreflang %LanguageCode; #IMPLIED
|
|
511 rel %LinkTypes; #IMPLIED
|
|
512 rev %LinkTypes; #IMPLIED
|
|
513 shape %Shape; "rect"
|
|
514 coords %Coords; #IMPLIED
|
|
515 >
|
|
516
|
|
517 <!--===================== Inline Elements ================================-->
|
|
518
|
|
519 <!ELEMENT span %Inline;> <!-- generic language/style container -->
|
|
520 <!ATTLIST span
|
|
521 %attrs;
|
|
522 >
|
|
523
|
|
524 <!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
|
|
525 <!ATTLIST bdo
|
|
526 %coreattrs;
|
|
527 %events;
|
|
528 lang %LanguageCode; #IMPLIED
|
|
529 xml:lang %LanguageCode; #IMPLIED
|
|
530 dir (ltr|rtl) #REQUIRED
|
|
531 >
|
|
532
|
|
533 <!ELEMENT br EMPTY> <!-- forced line break -->
|
|
534 <!ATTLIST br
|
|
535 %coreattrs;
|
|
536 >
|
|
537
|
|
538 <!ELEMENT em %Inline;> <!-- emphasis -->
|
|
539 <!ATTLIST em %attrs;>
|
|
540
|
|
541 <!ELEMENT strong %Inline;> <!-- strong emphasis -->
|
|
542 <!ATTLIST strong %attrs;>
|
|
543
|
|
544 <!ELEMENT dfn %Inline;> <!-- definitional -->
|
|
545 <!ATTLIST dfn %attrs;>
|
|
546
|
|
547 <!ELEMENT code %Inline;> <!-- program code -->
|
|
548 <!ATTLIST code %attrs;>
|
|
549
|
|
550 <!ELEMENT samp %Inline;> <!-- sample -->
|
|
551 <!ATTLIST samp %attrs;>
|
|
552
|
|
553 <!ELEMENT kbd %Inline;> <!-- something user would type -->
|
|
554 <!ATTLIST kbd %attrs;>
|
|
555
|
|
556 <!ELEMENT var %Inline;> <!-- variable -->
|
|
557 <!ATTLIST var %attrs;>
|
|
558
|
|
559 <!ELEMENT cite %Inline;> <!-- citation -->
|
|
560 <!ATTLIST cite %attrs;>
|
|
561
|
|
562 <!ELEMENT abbr %Inline;> <!-- abbreviation -->
|
|
563 <!ATTLIST abbr %attrs;>
|
|
564
|
|
565 <!ELEMENT acronym %Inline;> <!-- acronym -->
|
|
566 <!ATTLIST acronym %attrs;>
|
|
567
|
|
568 <!ELEMENT q %Inline;> <!-- inlined quote -->
|
|
569 <!ATTLIST q
|
|
570 %attrs;
|
|
571 cite %URI; #IMPLIED
|
|
572 >
|
|
573
|
|
574 <!ELEMENT sub %Inline;> <!-- subscript -->
|
|
575 <!ATTLIST sub %attrs;>
|
|
576
|
|
577 <!ELEMENT sup %Inline;> <!-- superscript -->
|
|
578 <!ATTLIST sup %attrs;>
|
|
579
|
|
580 <!ELEMENT tt %Inline;> <!-- fixed pitch font -->
|
|
581 <!ATTLIST tt %attrs;>
|
|
582
|
|
583 <!ELEMENT i %Inline;> <!-- italic font -->
|
|
584 <!ATTLIST i %attrs;>
|
|
585
|
|
586 <!ELEMENT b %Inline;> <!-- bold font -->
|
|
587 <!ATTLIST b %attrs;>
|
|
588
|
|
589 <!ELEMENT big %Inline;> <!-- bigger font -->
|
|
590 <!ATTLIST big %attrs;>
|
|
591
|
|
592 <!ELEMENT small %Inline;> <!-- smaller font -->
|
|
593 <!ATTLIST small %attrs;>
|
|
594
|
|
595 <!--==================== Object ======================================-->
|
|
596 <!--
|
|
597 object is used to embed objects as part of HTML pages.
|
|
598 param elements should precede other content. Parameters
|
|
599 can also be expressed as attribute/value pairs on the
|
|
600 object element itself when brevity is desired.
|
|
601 -->
|
|
602
|
|
603 <!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
|
|
604 <!ATTLIST object
|
|
605 %attrs;
|
|
606 declare (declare) #IMPLIED
|
|
607 classid %URI; #IMPLIED
|
|
608 codebase %URI; #IMPLIED
|
|
609 data %URI; #IMPLIED
|
|
610 type %ContentType; #IMPLIED
|
|
611 codetype %ContentType; #IMPLIED
|
|
612 archive %UriList; #IMPLIED
|
|
613 standby %Text; #IMPLIED
|
|
614 height %Length; #IMPLIED
|
|
615 width %Length; #IMPLIED
|
|
616 usemap %URI; #IMPLIED
|
|
617 name NMTOKEN #IMPLIED
|
|
618 tabindex %Number; #IMPLIED
|
|
619 >
|
|
620
|
|
621 <!--
|
|
622 param is used to supply a named property value.
|
|
623 In XML it would seem natural to follow RDF and support an
|
|
624 abbreviated syntax where the param elements are replaced
|
|
625 by attribute value pairs on the object start tag.
|
|
626 -->
|
|
627 <!ELEMENT param EMPTY>
|
|
628 <!ATTLIST param
|
|
629 id ID #IMPLIED
|
|
630 name CDATA #IMPLIED
|
|
631 value CDATA #IMPLIED
|
|
632 valuetype (data|ref|object) "data"
|
|
633 type %ContentType; #IMPLIED
|
|
634 >
|
|
635
|
|
636 <!--=================== Images ===========================================-->
|
|
637
|
|
638 <!--
|
|
639 To avoid accessibility problems for people who aren't
|
|
640 able to see the image, you should provide a text
|
|
641 description using the alt and longdesc attributes.
|
|
642 In addition, avoid the use of server-side image maps.
|
|
643 Note that in this DTD there is no name attribute. That
|
|
644 is only available in the transitional and frameset DTD.
|
|
645 -->
|
|
646
|
|
647 <!ELEMENT img EMPTY>
|
|
648 <!ATTLIST img
|
|
649 %attrs;
|
|
650 src %URI; #REQUIRED
|
|
651 alt %Text; #REQUIRED
|
|
652 longdesc %URI; #IMPLIED
|
|
653 height %Length; #IMPLIED
|
|
654 width %Length; #IMPLIED
|
|
655 usemap %URI; #IMPLIED
|
|
656 ismap (ismap) #IMPLIED
|
|
657 >
|
|
658
|
|
659 <!-- usemap points to a map element which may be in this document
|
|
660 or an external document, although the latter is not widely supported -->
|
|
661
|
|
662 <!--================== Client-side image maps ============================-->
|
|
663
|
|
664 <!-- These can be placed in the same document or grouped in a
|
|
665 separate document although this isn't yet widely supported -->
|
|
666
|
|
667 <!ELEMENT map ((%block; | form | %misc;)+ | area+)>
|
|
668 <!ATTLIST map
|
|
669 %i18n;
|
|
670 %events;
|
|
671 id ID #REQUIRED
|
|
672 class CDATA #IMPLIED
|
|
673 style %StyleSheet; #IMPLIED
|
|
674 title %Text; #IMPLIED
|
|
675 name NMTOKEN #IMPLIED
|
|
676 >
|
|
677
|
|
678 <!ELEMENT area EMPTY>
|
|
679 <!ATTLIST area
|
|
680 %attrs;
|
|
681 %focus;
|
|
682 shape %Shape; "rect"
|
|
683 coords %Coords; #IMPLIED
|
|
684 href %URI; #IMPLIED
|
|
685 nohref (nohref) #IMPLIED
|
|
686 alt %Text; #REQUIRED
|
|
687 >
|
|
688
|
|
689 <!--================ Forms ===============================================-->
|
|
690 <!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
|
|
691
|
|
692 <!ATTLIST form
|
|
693 %attrs;
|
|
694 action %URI; #REQUIRED
|
|
695 method (get|post) "get"
|
|
696 enctype %ContentType; "application/x-www-form-urlencoded"
|
|
697 onsubmit %Script; #IMPLIED
|
|
698 onreset %Script; #IMPLIED
|
|
699 accept %ContentTypes; #IMPLIED
|
|
700 accept-charset %Charsets; #IMPLIED
|
|
701 >
|
|
702
|
|
703 <!--
|
|
704 Each label must not contain more than ONE field
|
|
705 Label elements shouldn't be nested.
|
|
706 -->
|
|
707 <!ELEMENT label %Inline;>
|
|
708 <!ATTLIST label
|
|
709 %attrs;
|
|
710 for IDREF #IMPLIED
|
|
711 accesskey %Character; #IMPLIED
|
|
712 onfocus %Script; #IMPLIED
|
|
713 onblur %Script; #IMPLIED
|
|
714 >
|
|
715
|
|
716 <!ENTITY % InputType
|
|
717 "(text | password | checkbox |
|
|
718 radio | submit | reset |
|
|
719 file | hidden | image | button)"
|
|
720 >
|
|
721
|
|
722 <!-- the name attribute is required for all but submit & reset -->
|
|
723
|
|
724 <!ELEMENT input EMPTY> <!-- form control -->
|
|
725 <!ATTLIST input
|
|
726 %attrs;
|
|
727 %focus;
|
|
728 type %InputType; "text"
|
|
729 name CDATA #IMPLIED
|
|
730 value CDATA #IMPLIED
|
|
731 checked (checked) #IMPLIED
|
|
732 disabled (disabled) #IMPLIED
|
|
733 readonly (readonly) #IMPLIED
|
|
734 size CDATA #IMPLIED
|
|
735 maxlength %Number; #IMPLIED
|
|
736 src %URI; #IMPLIED
|
|
737 alt CDATA #IMPLIED
|
|
738 usemap %URI; #IMPLIED
|
|
739 onselect %Script; #IMPLIED
|
|
740 onchange %Script; #IMPLIED
|
|
741 accept %ContentTypes; #IMPLIED
|
|
742 >
|
|
743
|
|
744 <!ELEMENT select (optgroup|option)+> <!-- option selector -->
|
|
745 <!ATTLIST select
|
|
746 %attrs;
|
|
747 name CDATA #IMPLIED
|
|
748 size %Number; #IMPLIED
|
|
749 multiple (multiple) #IMPLIED
|
|
750 disabled (disabled) #IMPLIED
|
|
751 tabindex %Number; #IMPLIED
|
|
752 onfocus %Script; #IMPLIED
|
|
753 onblur %Script; #IMPLIED
|
|
754 onchange %Script; #IMPLIED
|
|
755 >
|
|
756
|
|
757 <!ELEMENT optgroup (option)+> <!-- option group -->
|
|
758 <!ATTLIST optgroup
|
|
759 %attrs;
|
|
760 disabled (disabled) #IMPLIED
|
|
761 label %Text; #REQUIRED
|
|
762 >
|
|
763
|
|
764 <!ELEMENT option (#PCDATA)> <!-- selectable choice -->
|
|
765 <!ATTLIST option
|
|
766 %attrs;
|
|
767 selected (selected) #IMPLIED
|
|
768 disabled (disabled) #IMPLIED
|
|
769 label %Text; #IMPLIED
|
|
770 value CDATA #IMPLIED
|
|
771 >
|
|
772
|
|
773 <!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
|
|
774 <!ATTLIST textarea
|
|
775 %attrs;
|
|
776 %focus;
|
|
777 name CDATA #IMPLIED
|
|
778 rows %Number; #REQUIRED
|
|
779 cols %Number; #REQUIRED
|
|
780 disabled (disabled) #IMPLIED
|
|
781 readonly (readonly) #IMPLIED
|
|
782 onselect %Script; #IMPLIED
|
|
783 onchange %Script; #IMPLIED
|
|
784 >
|
|
785
|
|
786 <!--
|
|
787 The fieldset element is used to group form fields.
|
|
788 Only one legend element should occur in the content
|
|
789 and if present should only be preceded by whitespace.
|
|
790 -->
|
|
791 <!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*>
|
|
792 <!ATTLIST fieldset
|
|
793 %attrs;
|
|
794 >
|
|
795
|
|
796 <!ELEMENT legend %Inline;> <!-- fieldset label -->
|
|
797 <!ATTLIST legend
|
|
798 %attrs;
|
|
799 accesskey %Character; #IMPLIED
|
|
800 >
|
|
801
|
|
802 <!--
|
|
803 Content is %Flow; excluding a, form and form controls
|
|
804 -->
|
|
805 <!ELEMENT button %button.content;> <!-- push button -->
|
|
806 <!ATTLIST button
|
|
807 %attrs;
|
|
808 %focus;
|
|
809 name CDATA #IMPLIED
|
|
810 value CDATA #IMPLIED
|
|
811 type (button|submit|reset) "submit"
|
|
812 disabled (disabled) #IMPLIED
|
|
813 >
|
|
814
|
|
815 <!--======================= Tables =======================================-->
|
|
816
|
|
817 <!-- Derived from IETF HTML table standard, see [RFC1942] -->
|
|
818
|
|
819 <!--
|
|
820 The border attribute sets the thickness of the frame around the
|
|
821 table. The default units are screen pixels.
|
|
822
|
|
823 The frame attribute specifies which parts of the frame around
|
|
824 the table should be rendered. The values are not the same as
|
|
825 CALS to avoid a name clash with the valign attribute.
|
|
826 -->
|
|
827 <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
|
|
828
|
|
829 <!--
|
|
830 The rules attribute defines which rules to draw between cells:
|
|
831
|
|
832 If rules is absent then assume:
|
|
833 "none" if border is absent or border="0" otherwise "all"
|
|
834 -->
|
|
835
|
|
836 <!ENTITY % TRules "(none | groups | rows | cols | all)">
|
|
837
|
|
838 <!-- horizontal alignment attributes for cell contents
|
|
839
|
|
840 char alignment char, e.g. char=':'
|
|
841 charoff offset for alignment char
|
|
842 -->
|
|
843 <!ENTITY % cellhalign
|
|
844 "align (left|center|right|justify|char) #IMPLIED
|
|
845 char %Character; #IMPLIED
|
|
846 charoff %Length; #IMPLIED"
|
|
847 >
|
|
848
|
|
849 <!-- vertical alignment attributes for cell contents -->
|
|
850 <!ENTITY % cellvalign
|
|
851 "valign (top|middle|bottom|baseline) #IMPLIED"
|
|
852 >
|
|
853
|
|
854 <!ELEMENT table
|
|
855 (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
|
|
856 <!ELEMENT caption %Inline;>
|
|
857 <!ELEMENT thead (tr)+>
|
|
858 <!ELEMENT tfoot (tr)+>
|
|
859 <!ELEMENT tbody (tr)+>
|
|
860 <!ELEMENT colgroup (col)*>
|
|
861 <!ELEMENT col EMPTY>
|
|
862 <!ELEMENT tr (th|td)+>
|
|
863 <!ELEMENT th %Flow;>
|
|
864 <!ELEMENT td %Flow;>
|
|
865
|
|
866 <!ATTLIST table
|
|
867 %attrs;
|
|
868 summary %Text; #IMPLIED
|
|
869 width %Length; #IMPLIED
|
|
870 border %Pixels; #IMPLIED
|
|
871 frame %TFrame; #IMPLIED
|
|
872 rules %TRules; #IMPLIED
|
|
873 cellspacing %Length; #IMPLIED
|
|
874 cellpadding %Length; #IMPLIED
|
|
875 >
|
|
876
|
|
877 <!ATTLIST caption
|
|
878 %attrs;
|
|
879 >
|
|
880
|
|
881 <!--
|
|
882 colgroup groups a set of col elements. It allows you to group
|
|
883 several semantically related columns together.
|
|
884 -->
|
|
885 <!ATTLIST colgroup
|
|
886 %attrs;
|
|
887 span %Number; "1"
|
|
888 width %MultiLength; #IMPLIED
|
|
889 %cellhalign;
|
|
890 %cellvalign;
|
|
891 >
|
|
892
|
|
893 <!--
|
|
894 col elements define the alignment properties for cells in
|
|
895 one or more columns.
|
|
896
|
|
897 The width attribute specifies the width of the columns, e.g.
|
|
898
|
|
899 width=64 width in screen pixels
|
|
900 width=0.5* relative width of 0.5
|
|
901
|
|
902 The span attribute causes the attributes of one
|
|
903 col element to apply to more than one column.
|
|
904 -->
|
|
905 <!ATTLIST col
|
|
906 %attrs;
|
|
907 span %Number; "1"
|
|
908 width %MultiLength; #IMPLIED
|
|
909 %cellhalign;
|
|
910 %cellvalign;
|
|
911 >
|
|
912
|
|
913 <!--
|
|
914 Use thead to duplicate headers when breaking table
|
|
915 across page boundaries, or for static headers when
|
|
916 tbody sections are rendered in scrolling panel.
|
|
917
|
|
918 Use tfoot to duplicate footers when breaking table
|
|
919 across page boundaries, or for static footers when
|
|
920 tbody sections are rendered in scrolling panel.
|
|
921
|
|
922 Use multiple tbody sections when rules are needed
|
|
923 between groups of table rows.
|
|
924 -->
|
|
925 <!ATTLIST thead
|
|
926 %attrs;
|
|
927 %cellhalign;
|
|
928 %cellvalign;
|
|
929 >
|
|
930
|
|
931 <!ATTLIST tfoot
|
|
932 %attrs;
|
|
933 %cellhalign;
|
|
934 %cellvalign;
|
|
935 >
|
|
936
|
|
937 <!ATTLIST tbody
|
|
938 %attrs;
|
|
939 %cellhalign;
|
|
940 %cellvalign;
|
|
941 >
|
|
942
|
|
943 <!ATTLIST tr
|
|
944 %attrs;
|
|
945 %cellhalign;
|
|
946 %cellvalign;
|
|
947 >
|
|
948
|
|
949
|
|
950 <!-- Scope is simpler than headers attribute for common tables -->
|
|
951 <!ENTITY % Scope "(row|col|rowgroup|colgroup)">
|
|
952
|
|
953 <!-- th is for headers, td for data and for cells acting as both -->
|
|
954
|
|
955 <!ATTLIST th
|
|
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
|
|
967 <!ATTLIST td
|
|
968 %attrs;
|
|
969 abbr %Text; #IMPLIED
|
|
970 axis CDATA #IMPLIED
|
|
971 headers IDREFS #IMPLIED
|
|
972 scope %Scope; #IMPLIED
|
|
973 rowspan %Number; "1"
|
|
974 colspan %Number; "1"
|
|
975 %cellhalign;
|
|
976 %cellvalign;
|
|
977 >
|
|
978
|