Mercurial > repos > IBDev-IBBoard.WarFoundry.API
comparison schemas/xhtml1-strict.dtd @ 224:f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
* Rename "unitPoints" to "basePoints"
* Re-order schema to more sensible name
* Use new name in code when parsing XML (object property already has sensible name)
Also:
* Rename "dtds" folder to more accurate "schemas"
* Change references to folder in code
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Mon, 14 Dec 2009 20:50:39 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
223:fe5a03d73918 | 224:f097888efcfe |
---|---|
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 |