1 | <!--
|
---|
2 | Extensible HTML version 1.0 Strict DTD
|
---|
3 |
|
---|
4 | This is the same as HTML 4.0 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-1999 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 |
|
---|
20 | -->
|
---|
21 |
|
---|
22 | <!--================ Character mnemonic entities =========================-->
|
---|
23 |
|
---|
24 | <!ENTITY % HTMLlat1 PUBLIC
|
---|
25 | "-//W3C//ENTITIES Latin 1 for XHTML//EN"
|
---|
26 | "xhtml-lat1.ent">
|
---|
27 | %HTMLlat1;
|
---|
28 |
|
---|
29 | <!ENTITY % HTMLsymbol PUBLIC
|
---|
30 | "-//W3C//ENTITIES Symbols for XHTML//EN"
|
---|
31 | "xhtml-symbol.ent">
|
---|
32 | %HTMLsymbol;
|
---|
33 |
|
---|
34 | <!ENTITY % HTMLspecial PUBLIC
|
---|
35 | "-//W3C//ENTITIES Special for XHTML//EN"
|
---|
36 | "xhtml-special.ent">
|
---|
37 | %HTMLspecial;
|
---|
38 |
|
---|
39 | <!--================== Imported Names ====================================-->
|
---|
40 |
|
---|
41 | <!ENTITY % ContentType "CDATA">
|
---|
42 | <!-- media type, as per [RFC2045] -->
|
---|
43 |
|
---|
44 | <!ENTITY % ContentTypes "CDATA">
|
---|
45 | <!-- comma-separated list of media types, as per [RFC2045] -->
|
---|
46 |
|
---|
47 | <!ENTITY % Charset "CDATA">
|
---|
48 | <!-- a character encoding, as per [RFC2045] -->
|
---|
49 |
|
---|
50 | <!ENTITY % Charsets "CDATA">
|
---|
51 | <!-- a space separated list of character encodings, as per [RFC2045] -->
|
---|
52 |
|
---|
53 | <!ENTITY % LanguageCode "NMTOKEN">
|
---|
54 | <!-- a language code, as per [RFC1766] -->
|
---|
55 |
|
---|
56 | <!ENTITY % Character "CDATA">
|
---|
57 | <!-- a single character from [ISO10646] -->
|
---|
58 |
|
---|
59 | <!ENTITY % Number "CDATA">
|
---|
60 | <!-- one or more digits -->
|
---|
61 |
|
---|
62 | <!ENTITY % LinkTypes "CDATA">
|
---|
63 | <!-- space-separated list of link types -->
|
---|
64 |
|
---|
65 | <!ENTITY % MediaDesc "CDATA">
|
---|
66 | <!-- single or comma-separated list of media descriptors -->
|
---|
67 |
|
---|
68 | <!ENTITY % URI "CDATA">
|
---|
69 | <!-- a Uniform Resource Identifier, see [RFC2396] -->
|
---|
70 |
|
---|
71 | <!ENTITY % UriList "CDATA">
|
---|
72 | <!-- a space separated list of Uniform Resource Identifiers -->
|
---|
73 |
|
---|
74 | <!ENTITY % Datetime "CDATA">
|
---|
75 | <!-- date and time information. ISO date format -->
|
---|
76 |
|
---|
77 | <!ENTITY % Script "CDATA">
|
---|
78 | <!-- script expression -->
|
---|
79 |
|
---|
80 | <!ENTITY % StyleSheet "CDATA">
|
---|
81 | <!-- style sheet data -->
|
---|
82 |
|
---|
83 | <!ENTITY % Text "CDATA">
|
---|
84 | <!-- used for titles etc. -->
|
---|
85 |
|
---|
86 | <!ENTITY % FrameTarget "NMTOKEN">
|
---|
87 | <!-- render in this frame -->
|
---|
88 |
|
---|
89 | <!ENTITY % Length "CDATA">
|
---|
90 | <!-- nn for pixels or nn% for percentage length -->
|
---|
91 |
|
---|
92 | <!ENTITY % MultiLength "CDATA">
|
---|
93 | <!-- pixel, percentage, or relative -->
|
---|
94 |
|
---|
95 | <!ENTITY % MultiLengths "CDATA">
|
---|
96 | <!-- comma-separated list of MultiLength -->
|
---|
97 |
|
---|
98 | <!ENTITY % Pixels "CDATA">
|
---|
99 | <!-- integer representing length in pixels -->
|
---|
100 |
|
---|
101 | <!-- these are used for image maps -->
|
---|
102 |
|
---|
103 | <!ENTITY % Shape "(rect|circle|poly|default)">
|
---|
104 |
|
---|
105 | <!ENTITY % Coords "CDATA">
|
---|
106 | <!-- comma separated list of lengths -->
|
---|
107 |
|
---|
108 | <!--=================== Generic Attributes ===============================-->
|
---|
109 |
|
---|
110 | <!-- core attributes common to most elements
|
---|
111 | id document-wide unique id
|
---|
112 | class space separated list of classes
|
---|
113 | style associated style info
|
---|
114 | title advisory title/amplification
|
---|
115 | -->
|
---|
116 | <!ENTITY % coreattrs
|
---|
117 | "id ID #IMPLIED
|
---|
118 | class CDATA #IMPLIED
|
---|
119 | style %StyleSheet; #IMPLIED
|
---|
120 | title %Text; #IMPLIED"
|
---|
121 | >
|
---|
122 |
|
---|
123 | <!-- internationalization attributes
|
---|
124 | lang language code (backwards compatible)
|
---|
125 | xml:lang language code (as per XML 1.0 spec)
|
---|
126 | dir direction for weak/neutral text
|
---|
127 | -->
|
---|
128 | <!ENTITY % i18n
|
---|
129 | "lang %LanguageCode; #IMPLIED
|
---|
130 | xml:lang %LanguageCode; #IMPLIED
|
---|
131 | dir (ltr|rtl) #IMPLIED"
|
---|
132 | >
|
---|
133 |
|
---|
134 | <!-- attributes for common UI events
|
---|
135 | onclick a pointer button was clicked
|
---|
136 | ondblclick a pointer button was double clicked
|
---|
137 | onmousedown a pointer button was pressed down
|
---|
138 | onmouseup a pointer button was released
|
---|
139 | onmousemove a pointer was moved onto the element
|
---|
140 | onmouseout a pointer was moved away from the element
|
---|
141 | onkeypress a key was pressed and released
|
---|
142 | onkeydown a key was pressed down
|
---|
143 | onkeyup a key was released
|
---|
144 | -->
|
---|
145 | <!ENTITY % events
|
---|
146 | "onclick %Script; #IMPLIED
|
---|
147 | ondblclick %Script; #IMPLIED
|
---|
148 | onmousedown %Script; #IMPLIED
|
---|
149 | onmouseup %Script; #IMPLIED
|
---|
150 | onmouseover %Script; #IMPLIED
|
---|
151 | onmousemove %Script; #IMPLIED
|
---|
152 | onmouseout %Script; #IMPLIED
|
---|
153 | onkeypress %Script; #IMPLIED
|
---|
154 | onkeydown %Script; #IMPLIED
|
---|
155 | onkeyup %Script; #IMPLIED"
|
---|
156 | >
|
---|
157 |
|
---|
158 | <!-- attributes for elements that can get the focus
|
---|
159 | accesskey accessibility key character
|
---|
160 | tabindex position in tabbing order
|
---|
161 | onfocus the element got the focus
|
---|
162 | onblur the element lost the focus
|
---|
163 | -->
|
---|
164 | <!ENTITY % focus
|
---|
165 | "accesskey %Character; #IMPLIED
|
---|
166 | tabindex %Number; #IMPLIED
|
---|
167 | onfocus %Script; #IMPLIED
|
---|
168 | onblur %Script; #IMPLIED"
|
---|
169 | >
|
---|
170 |
|
---|
171 | <!ENTITY % attrs "%coreattrs; %i18n; %events;">
|
---|
172 |
|
---|
173 | <!--=================== Text Elements ====================================-->
|
---|
174 |
|
---|
175 | <!ENTITY % special
|
---|
176 | "br | span | bdo | object | img | map">
|
---|
177 |
|
---|
178 | <!ENTITY % fontstyle "tt | i | b | big | small">
|
---|
179 |
|
---|
180 | <!ENTITY % phrase "em | strong | dfn | code | q | sub | sup |
|
---|
181 | samp | kbd | var | cite | abbr | acronym">
|
---|
182 |
|
---|
183 | <!ENTITY % inline.forms "input | select | textarea | label | button">
|
---|
184 |
|
---|
185 | <!-- these can occur at block or inline level -->
|
---|
186 | <!ENTITY % misc "ins | del | script | noscript">
|
---|
187 |
|
---|
188 | <!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;">
|
---|
189 |
|
---|
190 | <!-- %Inline; covers inline or "text-level" elements -->
|
---|
191 | <!ENTITY % Inline "(#PCDATA | %inline; | %misc;)*">
|
---|
192 |
|
---|
193 | <!--================== Block level elements ==============================-->
|
---|
194 |
|
---|
195 | <!ENTITY % heading "h1|h2|h3|h4|h5|h6">
|
---|
196 | <!ENTITY % lists "ul | ol | dl">
|
---|
197 | <!ENTITY % blocktext "pre | hr | blockquote | address">
|
---|
198 |
|
---|
199 | <!ENTITY % block
|
---|
200 | "p | %heading; | div | %lists; | %blocktext; | fieldset | table">
|
---|
201 |
|
---|
202 | <!ENTITY % Block "(%block; | form | %misc;)*">
|
---|
203 |
|
---|
204 | <!-- %Flow; mixes Block and Inline and is used for list items etc. -->
|
---|
205 | <!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*">
|
---|
206 |
|
---|
207 | <!--================== Content models for exclusions =====================-->
|
---|
208 |
|
---|
209 | <!-- a elements use %Inline; excluding a -->
|
---|
210 |
|
---|
211 | <!ENTITY % a.content
|
---|
212 | "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc;)*">
|
---|
213 |
|
---|
214 | <!-- pre uses %Inline excluding img, object, big, small, sup or sup -->
|
---|
215 |
|
---|
216 | <!ENTITY % pre.content
|
---|
217 | "(#PCDATA | a | br | span | bdo | map | tt | i | b |
|
---|
218 | %phrase; | %inline.forms;)*">
|
---|
219 |
|
---|
220 | <!-- form uses %Block; excluding form -->
|
---|
221 |
|
---|
222 | <!ENTITY % form.content "(%block; | %misc;)*">
|
---|
223 |
|
---|
224 | <!-- button uses %Flow; but excludes a, form and form controls -->
|
---|
225 |
|
---|
226 | <!ENTITY % button.content
|
---|
227 | "(#PCDATA | p | %heading; | div | %lists; | %blocktext; |
|
---|
228 | table | %special; | %fontstyle; | %phrase; | %misc;)*">
|
---|
229 |
|
---|
230 | <!--================ Document Structure ==================================-->
|
---|
231 |
|
---|
232 | <!-- the namespace URI designates the document profile -->
|
---|
233 |
|
---|
234 | <!ELEMENT html (head, body)>
|
---|
235 | <!ATTLIST html
|
---|
236 | %i18n;
|
---|
237 | xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml'
|
---|
238 | >
|
---|
239 |
|
---|
240 | <!--================ Document Head =======================================-->
|
---|
241 |
|
---|
242 | <!ENTITY % head.misc "(script|style|meta|link|object)*">
|
---|
243 |
|
---|
244 | <!-- content model is %head.misc; combined with a single
|
---|
245 | title and an optional base element in any order -->
|
---|
246 |
|
---|
247 | <!ELEMENT head (%head.misc;,
|
---|
248 | ((title, %head.misc;, (base, %head.misc;)?) |
|
---|
249 | (base, %head.misc;, (title, %head.misc;))))>
|
---|
250 |
|
---|
251 | <!ATTLIST head
|
---|
252 | %i18n;
|
---|
253 | profile %URI; #IMPLIED
|
---|
254 | >
|
---|
255 |
|
---|
256 | <!-- The title element is not considered part of the flow of text.
|
---|
257 | It should be displayed, for example as the page header or
|
---|
258 | window title. Exactly one title is required per document.
|
---|
259 | -->
|
---|
260 | <!ELEMENT title (#PCDATA)>
|
---|
261 | <!ATTLIST title %i18n;>
|
---|
262 |
|
---|
263 | <!-- document base URI -->
|
---|
264 |
|
---|
265 | <!ELEMENT base EMPTY>
|
---|
266 | <!ATTLIST base
|
---|
267 | href %URI; #IMPLIED
|
---|
268 | >
|
---|
269 |
|
---|
270 | <!-- generic metainformation -->
|
---|
271 | <!ELEMENT meta EMPTY>
|
---|
272 | <!ATTLIST meta
|
---|
273 | %i18n;
|
---|
274 | http-equiv CDATA #IMPLIED
|
---|
275 | name CDATA #IMPLIED
|
---|
276 | content CDATA #REQUIRED
|
---|
277 | scheme CDATA #IMPLIED
|
---|
278 | >
|
---|
279 |
|
---|
280 | <!--
|
---|
281 | Relationship values can be used in principle:
|
---|
282 |
|
---|
283 | a) for document specific toolbars/menus when used
|
---|
284 | with the link element in document head e.g.
|
---|
285 | start, contents, previous, next, index, end, help
|
---|
286 | b) to link to a separate style sheet (rel="stylesheet")
|
---|
287 | c) to make a link to a script (rel="script")
|
---|
288 | d) by stylesheets to control how collections of
|
---|
289 | html nodes are rendered into printed documents
|
---|
290 | e) to make a link to a printable version of this document
|
---|
291 | e.g. a PostScript or PDF version (rel="alternate" media="print")
|
---|
292 | -->
|
---|
293 |
|
---|
294 | <!ELEMENT link EMPTY>
|
---|
295 | <!ATTLIST link
|
---|
296 | %attrs;
|
---|
297 | charset %Charset; #IMPLIED
|
---|
298 | href %URI; #IMPLIED
|
---|
299 | hreflang %LanguageCode; #IMPLIED
|
---|
300 | type %ContentType; #IMPLIED
|
---|
301 | rel %LinkTypes; #IMPLIED
|
---|
302 | rev %LinkTypes; #IMPLIED
|
---|
303 | media %MediaDesc; #IMPLIED
|
---|
304 | >
|
---|
305 |
|
---|
306 | <!-- style info, which may include CDATA sections -->
|
---|
307 | <!ELEMENT style (#PCDATA)>
|
---|
308 | <!ATTLIST style
|
---|
309 | %i18n;
|
---|
310 | type %ContentType; #REQUIRED
|
---|
311 | media %MediaDesc; #IMPLIED
|
---|
312 | title %Text; #IMPLIED
|
---|
313 | xml:space (preserve) #FIXED 'preserve'
|
---|
314 | >
|
---|
315 |
|
---|
316 | <!-- script statements, which may include CDATA sections -->
|
---|
317 | <!ELEMENT script (#PCDATA)>
|
---|
318 | <!ATTLIST script
|
---|
319 | charset %Charset; #IMPLIED
|
---|
320 | type %ContentType; #REQUIRED
|
---|
321 | src %URI; #IMPLIED
|
---|
322 | defer (defer) #IMPLIED
|
---|
323 | xml:space (preserve) #FIXED 'preserve'
|
---|
324 | >
|
---|
325 |
|
---|
326 | <!-- alternate content container for non script-based rendering -->
|
---|
327 |
|
---|
328 | <!ELEMENT noscript %Block;>
|
---|
329 | <!ATTLIST noscript
|
---|
330 | %attrs;
|
---|
331 | >
|
---|
332 |
|
---|
333 | <!--=================== Document Body ====================================-->
|
---|
334 |
|
---|
335 | <!ELEMENT body %Block;>
|
---|
336 | <!ATTLIST body
|
---|
337 | %attrs;
|
---|
338 | onload %Script; #IMPLIED
|
---|
339 | onunload %Script; #IMPLIED
|
---|
340 | >
|
---|
341 |
|
---|
342 | <!ELEMENT div %Flow;> <!-- generic language/style container -->
|
---|
343 | <!ATTLIST div
|
---|
344 | %attrs;
|
---|
345 | >
|
---|
346 |
|
---|
347 | <!--=================== Paragraphs =======================================-->
|
---|
348 |
|
---|
349 | <!ELEMENT p %Inline;>
|
---|
350 | <!ATTLIST p
|
---|
351 | %attrs;
|
---|
352 | >
|
---|
353 |
|
---|
354 | <!--=================== Headings =========================================-->
|
---|
355 |
|
---|
356 | <!--
|
---|
357 | There are six levels of headings from h1 (the most important)
|
---|
358 | to h6 (the least important).
|
---|
359 | -->
|
---|
360 |
|
---|
361 | <!ELEMENT h1 %Inline;>
|
---|
362 | <!ATTLIST h1
|
---|
363 | %attrs;
|
---|
364 | >
|
---|
365 |
|
---|
366 | <!ELEMENT h2 %Inline;>
|
---|
367 | <!ATTLIST h2
|
---|
368 | %attrs;
|
---|
369 | >
|
---|
370 |
|
---|
371 | <!ELEMENT h3 %Inline;>
|
---|
372 | <!ATTLIST h3
|
---|
373 | %attrs;
|
---|
374 | >
|
---|
375 |
|
---|
376 | <!ELEMENT h4 %Inline;>
|
---|
377 | <!ATTLIST h4
|
---|
378 | %attrs;
|
---|
379 | >
|
---|
380 |
|
---|
381 | <!ELEMENT h5 %Inline;>
|
---|
382 | <!ATTLIST h5
|
---|
383 | %attrs;
|
---|
384 | >
|
---|
385 |
|
---|
386 | <!ELEMENT h6 %Inline;>
|
---|
387 | <!ATTLIST h6
|
---|
388 | %attrs;
|
---|
389 | >
|
---|
390 |
|
---|
391 | <!--=================== Lists ============================================-->
|
---|
392 |
|
---|
393 | <!-- Unordered list -->
|
---|
394 |
|
---|
395 | <!ELEMENT ul (li)+>
|
---|
396 | <!ATTLIST ul
|
---|
397 | %attrs;
|
---|
398 | >
|
---|
399 |
|
---|
400 | <!-- Ordered (numbered) list -->
|
---|
401 |
|
---|
402 | <!ELEMENT ol (li)+>
|
---|
403 | <!ATTLIST ol
|
---|
404 | %attrs;
|
---|
405 | >
|
---|
406 |
|
---|
407 | <!-- list item -->
|
---|
408 |
|
---|
409 | <!ELEMENT li %Flow;>
|
---|
410 | <!ATTLIST li
|
---|
411 | %attrs;
|
---|
412 | >
|
---|
413 |
|
---|
414 | <!-- definition lists - dt for term, dd for its definition -->
|
---|
415 |
|
---|
416 | <!ELEMENT dl (dt|dd)+>
|
---|
417 | <!ATTLIST dl
|
---|
418 | %attrs;
|
---|
419 | >
|
---|
420 |
|
---|
421 | <!ELEMENT dt %Inline;>
|
---|
422 | <!ATTLIST dt
|
---|
423 | %attrs;
|
---|
424 | >
|
---|
425 |
|
---|
426 | <!ELEMENT dd %Flow;>
|
---|
427 | <!ATTLIST dd
|
---|
428 | %attrs;
|
---|
429 | >
|
---|
430 |
|
---|
431 | <!--=================== Address ==========================================-->
|
---|
432 |
|
---|
433 | <!-- information on author -->
|
---|
434 |
|
---|
435 | <!ELEMENT address %Inline;>
|
---|
436 | <!ATTLIST address
|
---|
437 | %attrs;
|
---|
438 | >
|
---|
439 |
|
---|
440 | <!--=================== Horizontal Rule ==================================-->
|
---|
441 |
|
---|
442 | <!ELEMENT hr EMPTY>
|
---|
443 | <!ATTLIST hr
|
---|
444 | %attrs;
|
---|
445 | >
|
---|
446 |
|
---|
447 | <!--=================== Preformatted Text ================================-->
|
---|
448 |
|
---|
449 | <!-- content is %Inline; excluding "img|object|big|small|sub|sup" -->
|
---|
450 |
|
---|
451 | <!ELEMENT pre %pre.content;>
|
---|
452 | <!ATTLIST pre
|
---|
453 | %attrs;
|
---|
454 | xml:space (preserve) #FIXED 'preserve'
|
---|
455 | >
|
---|
456 |
|
---|
457 | <!--=================== Block-like Quotes ================================-->
|
---|
458 |
|
---|
459 | <!ELEMENT blockquote %Block;>
|
---|
460 | <!ATTLIST blockquote
|
---|
461 | %attrs;
|
---|
462 | cite %URI; #IMPLIED
|
---|
463 | >
|
---|
464 |
|
---|
465 | <!--=================== Inserted/Deleted Text ============================-->
|
---|
466 |
|
---|
467 | <!--
|
---|
468 | ins/del are allowed in block and inline content, but its
|
---|
469 | inappropriate to include block content within an ins element
|
---|
470 | occurring in inline content.
|
---|
471 | -->
|
---|
472 | <!ELEMENT ins %Flow;>
|
---|
473 | <!ATTLIST ins
|
---|
474 | %attrs;
|
---|
475 | cite %URI; #IMPLIED
|
---|
476 | datetime %Datetime; #IMPLIED
|
---|
477 | >
|
---|
478 |
|
---|
479 | <!ELEMENT del %Flow;>
|
---|
480 | <!ATTLIST del
|
---|
481 | %attrs;
|
---|
482 | cite %URI; #IMPLIED
|
---|
483 | datetime %Datetime; #IMPLIED
|
---|
484 | >
|
---|
485 |
|
---|
486 | <!--================== The Anchor Element ================================-->
|
---|
487 |
|
---|
488 | <!-- content is %Inline; except that anchors shouldn't be nested -->
|
---|
489 |
|
---|
490 | <!ELEMENT a %a.content;>
|
---|
491 | <!ATTLIST a
|
---|
492 | %attrs;
|
---|
493 | charset %Charset; #IMPLIED
|
---|
494 | type %ContentType; #IMPLIED
|
---|
495 | name NMTOKEN #IMPLIED
|
---|
496 | href %URI; #IMPLIED
|
---|
497 | hreflang %LanguageCode; #IMPLIED
|
---|
498 | rel %LinkTypes; #IMPLIED
|
---|
499 | rev %LinkTypes; #IMPLIED
|
---|
500 | accesskey %Character; #IMPLIED
|
---|
501 | shape %Shape; "rect"
|
---|
502 | coords %Coords; #IMPLIED
|
---|
503 | tabindex %Number; #IMPLIED
|
---|
504 | onfocus %Script; #IMPLIED
|
---|
505 | onblur %Script; #IMPLIED
|
---|
506 | >
|
---|
507 |
|
---|
508 | <!--===================== Inline Elements ================================-->
|
---|
509 |
|
---|
510 | <!ELEMENT span %Inline;> <!-- generic language/style container -->
|
---|
511 | <!ATTLIST span
|
---|
512 | %attrs;
|
---|
513 | >
|
---|
514 |
|
---|
515 | <!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride -->
|
---|
516 | <!ATTLIST bdo
|
---|
517 | %coreattrs;
|
---|
518 | %events;
|
---|
519 | lang %LanguageCode; #IMPLIED
|
---|
520 | xml:lang %LanguageCode; #IMPLIED
|
---|
521 | dir (ltr|rtl) #REQUIRED
|
---|
522 | >
|
---|
523 |
|
---|
524 | <!ELEMENT br EMPTY> <!-- forced line break -->
|
---|
525 | <!ATTLIST br
|
---|
526 | %coreattrs;
|
---|
527 | >
|
---|
528 |
|
---|
529 | <!ELEMENT em %Inline;> <!-- emphasis -->
|
---|
530 | <!ATTLIST em %attrs;>
|
---|
531 |
|
---|
532 | <!ELEMENT strong %Inline;> <!-- strong emphasis -->
|
---|
533 | <!ATTLIST strong %attrs;>
|
---|
534 |
|
---|
535 | <!ELEMENT dfn %Inline;> <!-- definitional -->
|
---|
536 | <!ATTLIST dfn %attrs;>
|
---|
537 |
|
---|
538 | <!ELEMENT code %Inline;> <!-- program code -->
|
---|
539 | <!ATTLIST code %attrs;>
|
---|
540 |
|
---|
541 | <!ELEMENT samp %Inline;> <!-- sample -->
|
---|
542 | <!ATTLIST samp %attrs;>
|
---|
543 |
|
---|
544 | <!ELEMENT kbd %Inline;> <!-- something user would type -->
|
---|
545 | <!ATTLIST kbd %attrs;>
|
---|
546 |
|
---|
547 | <!ELEMENT var %Inline;> <!-- variable -->
|
---|
548 | <!ATTLIST var %attrs;>
|
---|
549 |
|
---|
550 | <!ELEMENT cite %Inline;> <!-- citation -->
|
---|
551 | <!ATTLIST cite %attrs;>
|
---|
552 |
|
---|
553 | <!ELEMENT abbr %Inline;> <!-- abbreviation -->
|
---|
554 | <!ATTLIST abbr %attrs;>
|
---|
555 |
|
---|
556 | <!ELEMENT acronym %Inline;> <!-- acronym -->
|
---|
557 | <!ATTLIST acronym %attrs;>
|
---|
558 |
|
---|
559 | <!ELEMENT q %Inline;> <!-- inlined quote -->
|
---|
560 | <!ATTLIST q
|
---|
561 | %attrs;
|
---|
562 | cite %URI; #IMPLIED
|
---|
563 | >
|
---|
564 |
|
---|
565 | <!ELEMENT sub %Inline;> <!-- subscript -->
|
---|
566 | <!ATTLIST sub %attrs;>
|
---|
567 |
|
---|
568 | <!ELEMENT sup %Inline;> <!-- superscript -->
|
---|
569 | <!ATTLIST sup %attrs;>
|
---|
570 |
|
---|
571 | <!ELEMENT tt %Inline;> <!-- fixed pitch font -->
|
---|
572 | <!ATTLIST tt %attrs;>
|
---|
573 |
|
---|
574 | <!ELEMENT i %Inline;> <!-- italic font -->
|
---|
575 | <!ATTLIST i %attrs;>
|
---|
576 |
|
---|
577 | <!ELEMENT b %Inline;> <!-- bold font -->
|
---|
578 | <!ATTLIST b %attrs;>
|
---|
579 |
|
---|
580 | <!ELEMENT big %Inline;> <!-- bigger font -->
|
---|
581 | <!ATTLIST big %attrs;>
|
---|
582 |
|
---|
583 | <!ELEMENT small %Inline;> <!-- smaller font -->
|
---|
584 | <!ATTLIST small %attrs;>
|
---|
585 |
|
---|
586 | <!--==================== Object ======================================-->
|
---|
587 | <!--
|
---|
588 | object is used to embed objects as part of HTML pages.
|
---|
589 | param elements should precede other content. Parameters
|
---|
590 | can also be expressed as attribute/value pairs on the
|
---|
591 | object element itself when brevity is desired.
|
---|
592 | -->
|
---|
593 |
|
---|
594 | <!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*>
|
---|
595 | <!ATTLIST object
|
---|
596 | %attrs;
|
---|
597 | declare (declare) #IMPLIED
|
---|
598 | classid %URI; #IMPLIED
|
---|
599 | codebase %URI; #IMPLIED
|
---|
600 | data %URI; #IMPLIED
|
---|
601 | type %ContentType; #IMPLIED
|
---|
602 | codetype %ContentType; #IMPLIED
|
---|
603 | archive %UriList; #IMPLIED
|
---|
604 | standby %Text; #IMPLIED
|
---|
605 | height %Length; #IMPLIED
|
---|
606 | width %Length; #IMPLIED
|
---|
607 | usemap %URI; #IMPLIED
|
---|
608 | name NMTOKEN #IMPLIED
|
---|
609 | tabindex %Number; #IMPLIED
|
---|
610 | >
|
---|
611 |
|
---|
612 | <!--
|
---|
613 | param is used to supply a named property value.
|
---|
614 | In XML it would seem natural to follow RDF and support an
|
---|
615 | abbreviated syntax where the param elements are replaced
|
---|
616 | by attribute value pairs on the object start tag.
|
---|
617 | -->
|
---|
618 | <!ELEMENT param EMPTY>
|
---|
619 | <!ATTLIST param
|
---|
620 | id ID #IMPLIED
|
---|
621 | name CDATA #IMPLIED
|
---|
622 | value CDATA #IMPLIED
|
---|
623 | valuetype (data|ref|object) "data"
|
---|
624 | type %ContentType; #IMPLIED
|
---|
625 | >
|
---|
626 |
|
---|
627 | <!--=================== Images ===========================================-->
|
---|
628 |
|
---|
629 | <!--
|
---|
630 | To avoid accessibility problems for people who aren't
|
---|
631 | able to see the image, you should provide a text
|
---|
632 | description using the alt and longdesc attributes.
|
---|
633 | In addition, avoid the use of server-side image maps.
|
---|
634 | Note that in this DTD there is no name attribute. That
|
---|
635 | is only available in the transitional and frameset DTD.
|
---|
636 | -->
|
---|
637 |
|
---|
638 | <!ELEMENT img EMPTY>
|
---|
639 | <!ATTLIST img
|
---|
640 | %attrs;
|
---|
641 | src %URI; #REQUIRED
|
---|
642 | alt %Text; #REQUIRED
|
---|
643 | longdesc %URI; #IMPLIED
|
---|
644 | height %Length; #IMPLIED
|
---|
645 | width %Length; #IMPLIED
|
---|
646 | usemap %URI; #IMPLIED
|
---|
647 | ismap (ismap) #IMPLIED
|
---|
648 | >
|
---|
649 |
|
---|
650 | <!-- usemap points to a map element which may be in this document
|
---|
651 | or an external document, although the latter is not widely supported -->
|
---|
652 |
|
---|
653 | <!--================== Client-side image maps ============================-->
|
---|
654 |
|
---|
655 | <!-- These can be placed in the same document or grouped in a
|
---|
656 | separate document although this isn't yet widely supported -->
|
---|
657 |
|
---|
658 | <!ELEMENT map ((%block; | form | %misc;)+ | area+)>
|
---|
659 | <!ATTLIST map
|
---|
660 | %i18n;
|
---|
661 | %events;
|
---|
662 | id ID #REQUIRED
|
---|
663 | class CDATA #IMPLIED
|
---|
664 | style %StyleSheet; #IMPLIED
|
---|
665 | title %Text; #IMPLIED
|
---|
666 | name NMTOKEN #IMPLIED
|
---|
667 | >
|
---|
668 |
|
---|
669 | <!ELEMENT area EMPTY>
|
---|
670 | <!ATTLIST area
|
---|
671 | %attrs;
|
---|
672 | shape %Shape; "rect"
|
---|
673 | coords %Coords; #IMPLIED
|
---|
674 | href %URI; #IMPLIED
|
---|
675 | nohref (nohref) #IMPLIED
|
---|
676 | alt %Text; #REQUIRED
|
---|
677 | tabindex %Number; #IMPLIED
|
---|
678 | accesskey %Character; #IMPLIED
|
---|
679 | onfocus %Script; #IMPLIED
|
---|
680 | onblur %Script; #IMPLIED
|
---|
681 | >
|
---|
682 |
|
---|
683 | <!--================ Forms ===============================================-->
|
---|
684 | <!ELEMENT form %form.content;> <!-- forms shouldn't be nested -->
|
---|
685 |
|
---|
686 | <!ATTLIST form
|
---|
687 | %attrs;
|
---|
688 | action %URI; #REQUIRED
|
---|
689 | method (get|post) "get"
|
---|
690 | enctype %ContentType; "application/x-www-form-urlencoded"
|
---|
691 | onsubmit %Script; #IMPLIED
|
---|
692 | onreset %Script; #IMPLIED
|
---|
693 | accept %ContentTypes; #IMPLIED
|
---|
694 | accept-charset %Charsets; #IMPLIED
|
---|
695 | >
|
---|
696 |
|
---|
697 | <!--
|
---|
698 | Each label must not contain more than ONE field
|
---|
699 | Label elements shouldn't be nested.
|
---|
700 | -->
|
---|
701 | <!ELEMENT label %Inline;>
|
---|
702 | <!ATTLIST label
|
---|
703 | %attrs;
|
---|
704 | for IDREF #IMPLIED
|
---|
705 | accesskey %Character; #IMPLIED
|
---|
706 | onfocus %Script; #IMPLIED
|
---|
707 | onblur %Script; #IMPLIED
|
---|
708 | >
|
---|
709 |
|
---|
710 | <!ENTITY % InputType
|
---|
711 | "(text | password | checkbox |
|
---|
712 | radio | submit | reset |
|
---|
713 | file | hidden | image | button)"
|
---|
714 | >
|
---|
715 |
|
---|
716 | <!-- the name attribute is required for all but submit & reset -->
|
---|
717 |
|
---|
718 | <!ELEMENT input EMPTY> <!-- form control -->
|
---|
719 | <!ATTLIST input
|
---|
720 | %attrs;
|
---|
721 | type %InputType; "text"
|
---|
722 | name CDATA #IMPLIED
|
---|
723 | value CDATA #IMPLIED
|
---|
724 | checked (checked) #IMPLIED
|
---|
725 | disabled (disabled) #IMPLIED
|
---|
726 | readonly (readonly) #IMPLIED
|
---|
727 | size CDATA #IMPLIED
|
---|
728 | maxlength %Number; #IMPLIED
|
---|
729 | src %URI; #IMPLIED
|
---|
730 | alt CDATA #IMPLIED
|
---|
731 | usemap %URI; #IMPLIED
|
---|
732 | tabindex %Number; #IMPLIED
|
---|
733 | accesskey %Character; #IMPLIED
|
---|
734 | onfocus %Script; #IMPLIED
|
---|
735 | onblur %Script; #IMPLIED
|
---|
736 | onselect %Script; #IMPLIED
|
---|
737 | onchange %Script; #IMPLIED
|
---|
738 | accept %ContentTypes; #IMPLIED
|
---|
739 | >
|
---|
740 |
|
---|
741 | <!ELEMENT select (optgroup|option)+> <!-- option selector -->
|
---|
742 | <!ATTLIST select
|
---|
743 | %attrs;
|
---|
744 | name CDATA #IMPLIED
|
---|
745 | size %Number; #IMPLIED
|
---|
746 | multiple (multiple) #IMPLIED
|
---|
747 | disabled (disabled) #IMPLIED
|
---|
748 | tabindex %Number; #IMPLIED
|
---|
749 | onfocus %Script; #IMPLIED
|
---|
750 | onblur %Script; #IMPLIED
|
---|
751 | onchange %Script; #IMPLIED
|
---|
752 | >
|
---|
753 |
|
---|
754 | <!ELEMENT optgroup (option)+> <!-- option group -->
|
---|
755 | <!ATTLIST optgroup
|
---|
756 | %attrs;
|
---|
757 | disabled (disabled) #IMPLIED
|
---|
758 | label %Text; #REQUIRED
|
---|
759 | >
|
---|
760 |
|
---|
761 | <!ELEMENT option (#PCDATA)> <!-- selectable choice -->
|
---|
762 | <!ATTLIST option
|
---|
763 | %attrs;
|
---|
764 | selected (selected) #IMPLIED
|
---|
765 | disabled (disabled) #IMPLIED
|
---|
766 | label %Text; #IMPLIED
|
---|
767 | value CDATA #IMPLIED
|
---|
768 | >
|
---|
769 |
|
---|
770 | <!ELEMENT textarea (#PCDATA)> <!-- multi-line text field -->
|
---|
771 | <!ATTLIST textarea
|
---|
772 | %attrs;
|
---|
773 | name CDATA #IMPLIED
|
---|
774 | rows %Number; #REQUIRED
|
---|
775 | cols %Number; #REQUIRED
|
---|
776 | disabled (disabled) #IMPLIED
|
---|
777 | readonly (readonly) #IMPLIED
|
---|
778 | tabindex %Number; #IMPLIED
|
---|
779 | accesskey %Character; #IMPLIED
|
---|
780 | onfocus %Script; #IMPLIED
|
---|
781 | onblur %Script; #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 | name CDATA #IMPLIED
|
---|
809 | value CDATA #IMPLIED
|
---|
810 | type (button|submit|reset) "submit"
|
---|
811 | disabled (disabled) #IMPLIED
|
---|
812 | tabindex %Number; #IMPLIED
|
---|
813 | accesskey %Character; #IMPLIED
|
---|
814 | onfocus %Script; #IMPLIED
|
---|
815 | onblur %Script; #IMPLIED
|
---|
816 | >
|
---|
817 |
|
---|
818 | <!--======================= Tables =======================================-->
|
---|
819 |
|
---|
820 | <!-- Derived from IETF HTML table standard, see [RFC1942] -->
|
---|
821 |
|
---|
822 | <!--
|
---|
823 | The border attribute sets the thickness of the frame around the
|
---|
824 | table. The default units are screen pixels.
|
---|
825 |
|
---|
826 | The frame attribute specifies which parts of the frame around
|
---|
827 | the table should be rendered. The values are not the same as
|
---|
828 | CALS to avoid a name clash with the valign attribute.
|
---|
829 | -->
|
---|
830 | <!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
|
---|
831 |
|
---|
832 | <!--
|
---|
833 | The rules attribute defines which rules to draw between cells:
|
---|
834 |
|
---|
835 | If rules is absent then assume:
|
---|
836 | "none" if border is absent or border="0" otherwise "all"
|
---|
837 | -->
|
---|
838 |
|
---|
839 | <!ENTITY % TRules "(none | groups | rows | cols | all)">
|
---|
840 |
|
---|
841 | <!-- horizontal placement of table relative to document -->
|
---|
842 | <!ENTITY % TAlign "(left|center|right)">
|
---|
843 |
|
---|
844 | <!-- horizontal alignment attributes for cell contents
|
---|
845 |
|
---|
846 | char alignment char, e.g. char=':'
|
---|
847 | charoff offset for alignment char
|
---|
848 | -->
|
---|
849 | <!ENTITY % cellhalign
|
---|
850 | "align (left|center|right|justify|char) #IMPLIED
|
---|
851 | char %Character; #IMPLIED
|
---|
852 | charoff %Length; #IMPLIED"
|
---|
853 | >
|
---|
854 |
|
---|
855 | <!-- vertical alignment attributes for cell contents -->
|
---|
856 | <!ENTITY % cellvalign
|
---|
857 | "valign (top|middle|bottom|baseline) #IMPLIED"
|
---|
858 | >
|
---|
859 |
|
---|
860 | <!ELEMENT table
|
---|
861 | (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))>
|
---|
862 | <!ELEMENT caption %Inline;>
|
---|
863 | <!ELEMENT thead (tr)+>
|
---|
864 | <!ELEMENT tfoot (tr)+>
|
---|
865 | <!ELEMENT tbody (tr)+>
|
---|
866 | <!ELEMENT colgroup (col)*>
|
---|
867 | <!ELEMENT col EMPTY>
|
---|
868 | <!ELEMENT tr (th|td)+>
|
---|
869 | <!ELEMENT th %Flow;>
|
---|
870 | <!ELEMENT td %Flow;>
|
---|
871 |
|
---|
872 | <!ATTLIST table
|
---|
873 | %attrs;
|
---|
874 | summary %Text; #IMPLIED
|
---|
875 | width %Length; #IMPLIED
|
---|
876 | border %Pixels; #IMPLIED
|
---|
877 | frame %TFrame; #IMPLIED
|
---|
878 | rules %TRules; #IMPLIED
|
---|
879 | cellspacing %Length; #IMPLIED
|
---|
880 | cellpadding %Length; #IMPLIED
|
---|
881 | >
|
---|
882 |
|
---|
883 | <!ENTITY % CAlign "(top|bottom|left|right)">
|
---|
884 |
|
---|
885 | <!ATTLIST caption
|
---|
886 | %attrs;
|
---|
887 | >
|
---|
888 |
|
---|
889 | <!--
|
---|
890 | colgroup groups a set of col elements. It allows you to group
|
---|
891 | several semantically related columns together.
|
---|
892 | -->
|
---|
893 | <!ATTLIST colgroup
|
---|
894 | %attrs;
|
---|
895 | span %Number; "1"
|
---|
896 | width %MultiLength; #IMPLIED
|
---|
897 | %cellhalign;
|
---|
898 | %cellvalign;
|
---|
899 | >
|
---|
900 |
|
---|
901 | <!--
|
---|
902 | col elements define the alignment properties for cells in
|
---|
903 | one or more columns.
|
---|
904 |
|
---|
905 | The width attribute specifies the width of the columns, e.g.
|
---|
906 |
|
---|
907 | width=64 width in screen pixels
|
---|
908 | width=0.5* relative width of 0.5
|
---|
909 |
|
---|
910 | The span attribute causes the attributes of one
|
---|
911 | col element to apply to more than one column.
|
---|
912 | -->
|
---|
913 | <!ATTLIST col
|
---|
914 | %attrs;
|
---|
915 | span %Number; "1"
|
---|
916 | width %MultiLength; #IMPLIED
|
---|
917 | %cellhalign;
|
---|
918 | %cellvalign;
|
---|
919 | >
|
---|
920 |
|
---|
921 | <!--
|
---|
922 | Use thead to duplicate headers when breaking table
|
---|
923 | across page boundaries, or for static headers when
|
---|
924 | tbody sections are rendered in scrolling panel.
|
---|
925 |
|
---|
926 | Use tfoot to duplicate footers when breaking table
|
---|
927 | across page boundaries, or for static footers when
|
---|
928 | tbody sections are rendered in scrolling panel.
|
---|
929 |
|
---|
930 | Use multiple tbody sections when rules are needed
|
---|
931 | between groups of table rows.
|
---|
932 | -->
|
---|
933 | <!ATTLIST thead
|
---|
934 | %attrs;
|
---|
935 | %cellhalign;
|
---|
936 | %cellvalign;
|
---|
937 | >
|
---|
938 |
|
---|
939 | <!ATTLIST tfoot
|
---|
940 | %attrs;
|
---|
941 | %cellhalign;
|
---|
942 | %cellvalign;
|
---|
943 | >
|
---|
944 |
|
---|
945 | <!ATTLIST tbody
|
---|
946 | %attrs;
|
---|
947 | %cellhalign;
|
---|
948 | %cellvalign;
|
---|
949 | >
|
---|
950 |
|
---|
951 | <!ATTLIST tr
|
---|
952 | %attrs;
|
---|
953 | %cellhalign;
|
---|
954 | %cellvalign;
|
---|
955 | >
|
---|
956 |
|
---|
957 |
|
---|
958 | <!-- Scope is simpler than headers attribute for common tables -->
|
---|
959 | <!ENTITY % Scope "(row|col|rowgroup|colgroup)">
|
---|
960 |
|
---|
961 | <!-- th is for headers, td for data and for cells acting as both -->
|
---|
962 |
|
---|
963 | <!ATTLIST th
|
---|
964 | %attrs;
|
---|
965 | abbr %Text; #IMPLIED
|
---|
966 | axis CDATA #IMPLIED
|
---|
967 | headers IDREFS #IMPLIED
|
---|
968 | scope %Scope; #IMPLIED
|
---|
969 | rowspan %Number; "1"
|
---|
970 | colspan %Number; "1"
|
---|
971 | %cellhalign;
|
---|
972 | %cellvalign;
|
---|
973 | >
|
---|
974 |
|
---|
975 | <!ATTLIST td
|
---|
976 | %attrs;
|
---|
977 | abbr %Text; #IMPLIED
|
---|
978 | axis CDATA #IMPLIED
|
---|
979 | headers IDREFS #IMPLIED
|
---|
980 | scope %Scope; #IMPLIED
|
---|
981 | rowspan %Number; "1"
|
---|
982 | colspan %Number; "1"
|
---|
983 | %cellhalign;
|
---|
984 | %cellvalign;
|
---|
985 | >
|
---|
986 |
|
---|