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