comparison etc/sgml/html-3.2.dtd @ 0:376386a54a3c r19-14

Import from CVS: tag r19-14
author cvs
date Mon, 13 Aug 2007 08:45:50 +0200
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:376386a54a3c
1 <!--
2 W3C Document Type Definition for the HyperText Markup Language
3 This version is code named Wilbur, and also as "HTML 3.2".
4
5 Draft: Tuesday 21-May-96
6
7 Author: Dave Raggett <dsr@w3.org>
8
9 This is subject to change, pending final approval by the W3C
10 member companies.
11
12 HTML 3.2 aims to capture recommended practice as of early '96
13 and as such to be used as a replacement for HTML 2.0 (RFC 1866).
14 Widely deployed rendering attributes are included where they
15 have been shown to be interoperable. SCRIPT and STYLE are
16 included to smooth the introduction of client-side scripts
17 and style sheets. Browsers must avoid showing the contents
18 of these element Otherwise support for them is not required.
19 ID, CLASS and STYLE attributes are not included in this version
20 of HTML.
21
22 The next version of HTML after Wilbur is code named Cougar and
23 will add support for <OBJECT>, client-side scripting, style
24 sheets, and extensions to fill-out forms.
25 -->
26
27 <!ENTITY % HTML.Version
28 "-//W3C//DTD HTML 3.2//EN"
29
30 -- Typical usage:
31
32 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
33 <html>
34 ...
35 </html>
36 --
37 >
38
39 <!--================== Deprecated Features Switch =========================-->
40
41 <!ENTITY % HTML.Deprecated "INCLUDE">
42
43 <!--================== Imported Names =====================================-->
44
45 <!ENTITY % Content-Type "CDATA"
46 -- meaning a MIME content type, as per RFC1521
47 -->
48
49 <!ENTITY % HTTP-Method "GET | POST"
50 -- as per HTTP specification
51 -->
52
53 <!ENTITY % URL "CDATA"
54 -- The term URL means a CDATA attribute
55 whose value is a Uniform Resource Locator,
56 See RFC1808 (June 95) and RFC1738 (Dec 94).
57 -->
58
59 <!-- Parameter Entities -->
60
61 <!ENTITY % head.misc "SCRIPT|STYLE|META|LINK" -- repeatable head elements -->
62
63 <!ENTITY % heading "H1|H2|H3|H4|H5|H6">
64
65 <!ENTITY % list "UL | OL | DIR | MENU">
66
67 <![ %HTML.Deprecated [
68 <!ENTITY % preformatted "PRE | XMP | LISTING">
69 ]]>
70
71 <!ENTITY % preformatted "PRE">
72
73 <!--================ Character mnemonic entities ==========================-->
74
75 <!ENTITY % ISOlat1 PUBLIC
76 "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML">
77 %ISOlat1;
78
79 <!--================ Entities for special symbols =========================-->
80 <!-- &trade &shy and &cbsp are not widely deployed and so not included here -->
81
82 <!ENTITY copy CDATA "&#169" -- copyright sign -->
83 <!ENTITY reg CDATA "&#174" -- registered sign -->
84 <!ENTITY amp CDATA "&#38;" -- ampersand -->
85 <!ENTITY gt CDATA "&#62;" -- greater than -->
86 <!ENTITY lt CDATA "&#60;" -- less than -->
87 <!ENTITY quot CDATA "&#34;" -- double quote -->
88 <!ENTITY nbsp CDATA "&#160;" -- non breaking space -->
89
90 <!--=================== Text Markup =======================================-->
91
92 <!ENTITY % font "TT | I | B | STRIKE | BIG | SMALL | SUB | SUP">
93
94 <!ENTITY % phrase "EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE">
95
96 <!ENTITY % special "A | IMG | APPLET | FONT | BR | SCRIPT | MAP">
97
98 <!ENTITY % form "INPUT | SELECT | TEXTAREA">
99
100 <!ENTITY % text "#PCDATA | %font | %phrase | %special | %form">
101
102 <!ELEMENT (%font|%phrase) - - (%text)*>
103
104 <!-- there are also 16 widely known color names although
105 the resulting colors are implementation dependent:
106
107 aqua, black, blue, fuchsia, gray, green, lime, maroon,
108 navy, olive, purple, red, silver, teal, white, and yellow
109
110 These colors were originally picked as being the standard
111 16 colors supported with the Windows VGA palette.
112 -->
113
114 <!ELEMENT FONT - - (%text)* -- local change to font -->
115 <!ATTLIST FONT
116 size CDATA #IMPLIED -- [+]nn e.g. size="+1", size=4 --
117 color CDATA #IMPLIED -- #RRGGBB in hex, e.g. red: color="#FF0000" --
118 >
119
120 <!ELEMENT BR - O EMPTY -- forced line break -->
121 <!ATTLIST BR
122 clear (left|all|right|none) none -- control of text flow --
123 >
124
125 <!--================== HTML content models ================================-->
126 <!--
127 HTML has three basic content models:
128
129 %text character level elements and text strings
130 %flow block-like elements e.g. paragraphs and lists
131 %bodytext as (b) plus headers and ADDRESS
132 -->
133
134 <!ENTITY % block
135 "P | %list | %preformatted | DL | DIV | CENTER |
136 BLOCKQUOTE | FORM | ISINDEX | HR | TABLE">
137
138 <!-- %flow is used for DD and LI -->
139
140 <!ENTITY % flow "(%text | %block)*">
141
142 <!--=================== Document Body =====================================-->
143
144 <!ENTITY % body.content "(%heading | %text | %block | ADDRESS)*">
145
146 <!ENTITY % color "CDATA" -- a color specification: #HHHHHH @@ details? -->
147
148 <!ENTITY % body-color-attrs "
149 bgcolor %color #IMPLIED
150 text %color #IMPLIED
151 link %color #IMPLIED
152 vlink %color #IMPLIED
153 alink %color #IMPLIED
154 ">
155
156 <!ELEMENT BODY O O %body.content>
157 <!ATTLIST BODY
158 background %URL #IMPLIED -- texture tile for document background --
159 %body-color-attrs; -- bgcolor, text, link, vlink, alink --
160 >
161
162 <!ENTITY % address.content "((%text;) | P)*">
163
164 <!ELEMENT ADDRESS - - %address.content>
165
166 <!ELEMENT DIV - - %body.content>
167 <!ATTLIST DIV
168 align (left|center|right) left -- alignment of following text --
169 >
170
171 <!-- CENTER is a shorthand for DIV with ALIGN=CENTER -->
172 <!ELEMENT center - - %body.content>
173
174 <!--================== The Anchor Element =================================-->
175
176 <!ELEMENT A - - (%text)* -(A)>
177 <!ATTLIST A
178 name CDATA #IMPLIED -- named link end --
179 href %URL #IMPLIED -- URL for linked resource --
180 rel CDATA #IMPLIED -- forward link types --
181 rev CDATA #IMPLIED -- reverse link types --
182 title CDATA #IMPLIED -- advisory title string --
183 >
184
185 <!--================== Client-side image maps ============================-->
186
187 <!-- These can be placed in the same document or grouped in a
188 separate document although this isn't yet widely supported -->
189
190 <!ENTITY % SHAPE "(rect|circle|poly|default)">
191 <!ENTITY % COORDS "CDATA" -- comma separated list of numbers -->
192
193 <!ELEMENT MAP - - (AREA)*>
194 <!ATTLIST MAP
195 name CDATA #IMPLIED
196 >
197
198 <!ELEMENT AREA - O EMPTY>
199 <!ATTLIST AREA
200 shape %SHAPE rect
201 coords %COORDS #IMPLIED -- always needed except for shape=default --
202 href %URL #IMPLIED -- this region acts as hypertext link --
203 nohref (nohref) #IMPLIED -- this region has no action --
204 alt CDATA #REQUIRED
205 >
206
207 <!--================== The LINK Element ==================================-->
208
209 <!ENTITY % Types "CDATA"
210 -- See Internet Draft: draft-ietf-html-relrev-00.txt
211 LINK has been part of HTML since the early days
212 although few browsers as yet take advantage of it.
213
214 Relationship values can be used in principle:
215
216 a) for document specific toolbars/menus when used
217 with the LINK element in document head:
218 b) to link to a separate style sheet (rel=stylesheet)
219 c) to make a link to a script (rel=script)
220 d) by stylesheets to control how collections of
221 html nodes are rendered into printed documents
222 e) to make a link to a printable version of this document
223 e.g. a postscript or pdf version (rel=print)
224 -->
225
226 <!ELEMENT LINK - O EMPTY>
227 <!ATTLIST LINK
228 id ID #IMPLIED -- SGML ID attribute --
229 href %URL #IMPLIED -- URL for linked resource --
230 rel %Types #IMPLIED -- forward link types --
231 rev %Types #IMPLIED -- reverse link types --
232 title CDATA #IMPLIED -- advisory title string --
233 >
234
235 <!--=================== Images ============================================-->
236
237 <!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length -->
238 <!ENTITY % Pixels "CDATA" -- integer representing length in pixels -->
239
240 <!-- Suggested widths are used for negotiating image size
241 with the module responsible for painting the image.
242 align=left or right cause image to float to margin
243 and for subsequent text to wrap around image -->
244
245 <!ENTITY % IAlign "(top|middle|bottom|left|right)">
246
247 <!ELEMENT IMG - O EMPTY -- Embedded image -->
248 <!ATTLIST IMG
249 src %URL #REQUIRED -- URL of image to embed --
250 alt CDATA #IMPLIED -- for display in place of image --
251 align %IAlign #IMPLIED -- vertical or horizontal alignment --
252 height %Pixels #IMPLIED -- suggested height in pixels --
253 width %Pixels #IMPLIED -- suggested width in pixels --
254 border %Pixels #IMPLIED -- suggested link border width --
255 hspace %Pixels #IMPLIED -- suggested horizontal gutter --
256 vspace %Pixels #IMPLIED -- suggested vertical gutter --
257 usemap %URL #IMPLIED -- use client-side image map --
258 ismap (ismap) #IMPLIED -- use server image map --
259 >
260
261 <!-- USEMAP points to a MAP element which may be in this document
262 or an external document, although the latter is not widely supported -->
263
264 <!--=================== Java APPLET tag ===================================-->
265 <!--
266 This tag is supported by all java enabled browsers. Applet resources
267 (including their classes) are normally loaded relative to the document
268 URL (or <BASE> element if it is defined). The CODEBASE attribute is used
269 to change this default behavior. If the CODEBASE attribute is defined then
270 it specifies a different location to find applet resources. The value
271 can be an absolute URL or a relative URL. The absolute URL is used as is
272 without modification and is not effected by the documents <BASE> element.
273 When the codebase attribute is relative, then it is relative to the
274 document URL (or <BASE> tag if defined). <TEXTFLOW> avoids the problems
275 with SGML mixed content. It can always be omitted *except* when the APPLET
276 element hasn't any content. White space, comments and PARAM elements
277 don't count as content for this purpose. TEXTFLOW was introduced into
278 the DTD to satisfy SGML parsers, but is ignored by current Web browsers.
279 -->
280 <!ELEMENT APPLET - - (PARAM*, TEXTFLOW)>
281 <!ATTLIST APPLET
282 codebase %URL #IMPLIED -- code base --
283 code CDATA #REQUIRED -- class file --
284 name CDATA #IMPLIED -- applet name --
285 alt CDATA #IMPLIED -- for display in place of applet --
286 align %IAlign #IMPLIED -- vertical or horizontal alignment --
287 height %Pixels #REQUIRED -- suggested height in pixels --
288 width %Pixels #REQUIRED -- suggested width in pixels --
289 hspace %Pixels #IMPLIED -- suggested horizontal gutter --
290 vspace %Pixels #IMPLIED -- suggested vertical gutter --
291 >
292
293 <!ELEMENT PARAM - O EMPTY>
294 <!ATTLIST PARAM
295 name NAME #REQUIRED -- The name of the parameter --
296 value CDATA #IMPLIED -- The value of the parameter --
297 >
298 <!ELEMENT TEXTFLOW O O (%text)* -- needed to bypass mixed content model -->
299
300 <!--
301 Here is an example:
302
303 <applet codebase="applets/NervousText"
304 code=NervousText.class
305 width=300
306 height=50>
307 <param name=text value="Java is Cool!">
308 <img src=sorry.gif alt="This looks better with Java support">
309 </applet>
310 -->
311
312 <!--=================== Horizontal Rule ===================================-->
313
314 <!ELEMENT HR - O EMPTY>
315 <!ATTLIST HR
316 align (left|right|center) #IMPLIED
317 noshade (noshade) #IMPLIED
318 size %Pixels #IMPLIED
319 width %Length #IMPLIED
320 >
321 <!--=================== Paragraphs=========================================-->
322
323 <!ELEMENT P - O (%text)*>
324 <!ATTLIST P
325 align (left|center|right) #IMPLIED
326 >
327
328 <!--=================== Headings ==========================================-->
329
330 <!--
331 There are six levels of headers from H1 (the most important)
332 to H6 (the least important).
333 -->
334
335 <!ELEMENT ( %heading ) - - (%text;)*>
336 <!ATTLIST ( %heading )
337 align (left|center|right) #IMPLIED
338 >
339
340 <!--=================== Preformatted Text =================================-->
341
342 <!-- excludes images and changes in font size -->
343
344 <!ENTITY % pre.exclusion "IMG|BIG|SMALL|SUB|SUP|FONT">
345
346 <!ELEMENT PRE - - (%text)* -(%pre.exclusion)>
347 <!ATTLIST PRE
348 width NUMBER #implied -- is this widely supported? --
349 >
350
351 <![ %HTML.Deprecated [
352
353 <!ENTITY % literal "CDATA"
354 -- historical, non-conforming parsing mode where
355 the only markup signal is the end tag
356 in full
357 -->
358
359 <!ELEMENT (XMP|LISTING) - - %literal>
360 <!ELEMENT PLAINTEXT - O %literal>
361
362 ]]>
363
364 <!--=================== Block-like Quotes =================================-->
365
366 <!ELEMENT BLOCKQUOTE - - %body.content>
367
368 <!--=================== Lists =============================================-->
369
370 <!--
371 HTML 3.2 allows you to control the sequence number for ordered lists.
372 You can set the sequence number with the START and VALUE attributes.
373 The TYPE attribute may be used to specify the rendering of ordered
374 and unordered lists.
375 -->
376
377 <!-- definition lists - DT for term, DD for its definition -->
378
379 <!ELEMENT DL - - (DT|DD)*>
380 <!ATTLIST DL
381 compact (compact) #IMPLIED -- more compact style --
382 >
383
384 <!ELEMENT DT - O (%text)*>
385 <!ELEMENT DD - O %flow;>
386
387 <!-- Ordered lists OL, and unordered lists UL -->
388 <!ELEMENT (OL|UL) - - (LI)*>
389
390 <!--
391 Numbering style
392 1 arablic numbers 1, 2, 3, ...
393 a lower alpha a, b, c, ...
394 A upper alpha A, B, C, ...
395 i lower roman i, ii, iii, ...
396 I upper roman I, II, III, ...
397
398 The style is applied to the sequence number which by default
399 is reset to 1 for the first list item in an ordered list.
400
401 This can't be expressed directly in SGML due to case folding.
402 -->
403
404 <!ENTITY % OLStyle "CDATA" -- constrained to: [1|a|A|i|I] -->
405
406 <!ATTLIST OL -- ordered lists --
407 type %OLStyle #IMPLIED -- numbering style --
408 start NUMBER #IMPLIED -- starting sequence number --
409 compact (compact) #IMPLIED -- reduced interitem spacing --
410 >
411
412 <!-- bullet styles -->
413
414 <!ENTITY % ULStyle "disc|square|circle">
415
416 <!ATTLIST UL -- unordered lists --
417 type (%ULStyle) #IMPLIED -- bullet style --
418 compact (compact) #IMPLIED -- reduced interitem spacing --
419 >
420
421 <!ELEMENT (DIR|MENU) - - (LI)* -(%block)>
422 <!ATTLIST DIR
423 compact (compact) #IMPLIED
424 >
425 <!ATTLIST MENU
426 compact (compact) #IMPLIED
427 >
428
429 <!-- <DIR> Directory list -->
430 <!-- <DIR COMPACT> Compact list style -->
431 <!-- <MENU> Menu list -->
432 <!-- <MENU COMPACT> Compact list style -->
433
434 <!-- The type attribute can be used to change the bullet style
435 in unordered lists and the numbering style in ordered lists -->
436
437 <!ENTITY % LIStyle "CDATA" -- constrained to: "(%ULStyle|%OLStyle)" -->
438
439 <!ELEMENT LI - O %flow -- list item -->
440 <!ATTLIST LI
441 type %LIStyle #IMPLIED -- list item style --
442 value NUMBER #IMPLIED -- reset sequence number --
443 >
444
445 <!--================ Forms ===============================================-->
446
447 <!ELEMENT FORM - - %body.content -(FORM)>
448 <!ATTLIST FORM
449 action %URL #REQUIRED -- server-side form handler --
450 method (%HTTP-Method) GET -- see HTTP specification --
451 enctype %Content-Type; "application/x-www-form-urlencoded"
452 >
453
454 <!ENTITY % InputType
455 "(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT
456 | RESET | FILE | HIDDEN | IMAGE)">
457
458 <!ELEMENT INPUT - O EMPTY>
459 <!ATTLIST INPUT
460 type %InputType TEXT -- what kind of widget is needed --
461 name CDATA #IMPLIED -- required for all but submit and reset --
462 value CDATA #IMPLIED -- required for radio and checkboxes --
463 checked (checked) #IMPLIED -- for radio buttons and check boxes --
464 size CDATA #IMPLIED -- specific to each type of field --
465 maxlength NUMBER #IMPLIED
466 src %URL #IMPLIED -- for fields with background images --
467 align (top|middle|bottom|left|right) top -- image alignment --
468 >
469
470 <!ELEMENT SELECT - - (OPTION+)>
471 <!ATTLIST SELECT
472 name CDATA #REQUIRED
473 size NUMBER #IMPLIED
474 multiple (multiple) #IMPLIED
475 >
476
477 <!ELEMENT OPTION - O (#PCDATA)*>
478 <!ATTLIST OPTION
479 selected (selected) #IMPLIED
480 value CDATA #IMPLIED -- defaults to element content --
481 >
482
483 <!-- Multi-line text input field. -->
484
485 <!ELEMENT TEXTAREA - - (#PCDATA)*>
486 <!ATTLIST TEXTAREA
487 name CDATA #REQUIRED
488 rows NUMBER #REQUIRED
489 cols NUMBER #REQUIRED
490 >
491
492 <!--======================= Tables ========================================-->
493
494 <!-- Widely deployed subset of the full table standard, see RFC XXXX -->
495
496 <!-- horizontal placement of table relative to window -->
497 <!ENTITY % Where "(left|center|right)">
498
499 <!-- horizontal alignment attributes for cell contents -->
500 <!ENTITY % cell.halign
501 "align (left|center|right) #IMPLIED"
502 >
503
504 <!-- vertical alignment attributes for cell contents -->
505 <!ENTITY % cell.valign
506 "valign (top|middle|bottom|baseline) #IMPLIED"
507 >
508
509 <!ELEMENT table - - (caption?, tr+)>
510 <!ELEMENT tr - O (th|td)*>
511 <!ELEMENT (th|td) - O %body.content>
512
513 <!ATTLIST table -- table element --
514 align %Where; #IMPLIED -- table position relative to window --
515 width %Length #IMPLIED -- table width relative to window --
516 border %Pixels #IMPLIED -- controls frame width around table --
517 cellspacing %Pixels #IMPLIED -- spacing between cells --
518 cellpadding %Pixels #IMPLIED -- spacing within cells --
519 >
520
521 <!ELEMENT CAPTION - - (%text;)* -- table or figure caption -->
522 <!ATTLIST CAPTION
523 align (top|bottom) #IMPLIED
524 >
525
526 <!ATTLIST tr -- table row --
527 %cell.halign; -- horizontal alignment in cells --
528 %cell.valign; -- vertical alignment in cells --
529 >
530
531 <!ATTLIST (th|td) -- header or data cell --
532 nowrap (nowrap) #IMPLIED -- suppress word wrap --
533 rowspan NUMBER 1 -- number of rows spanned by cell --
534 colspan NUMBER 1 -- number of cols spanned by cell --
535 %cell.halign; -- horizontal alignment in cells --
536 %cell.valign; -- vertical alignment in cells --
537 >
538
539 <!--================ Document Head ========================================-->
540
541 <!-- %head.misc defined earlier on as "SCRIPT|STYLE|META|LINK" -->
542
543 <!ENTITY % head.content "TITLE & ISINDEX? & BASE?">
544
545 <!ELEMENT HEAD O O (%head.content) +(%head.misc)>
546
547 <!ELEMENT TITLE - - (#PCDATA)* -(%head.misc)
548 -- The TITLE element is not considered part of the flow of text.
549 It should be displayed, for example as the page header or
550 window title.
551 -->
552
553 <!ELEMENT ISINDEX - O EMPTY>
554 <!ATTLIST ISINDEX
555 prompt CDATA #IMPLIED -- prompt message -->
556
557 <!--
558 The BASE element gives an absolute URL for dereferencing relative
559 URLs, e.g.
560
561 <BASE href="http://foo.com/index.html">
562 ...
563 <IMG SRC="images/bar.gif">
564
565 The image is deferenced to
566
567 http://foo.com/images/bar.gif
568
569 In the absence of a BASE element the document URL should be used.
570 Note that this is not necessarily the same as the URL used to
571 request the document, as the base URL may be overridden by an HTTP
572 header accompanying the document.
573 -->
574
575 <!ELEMENT BASE - O EMPTY>
576 <!ATTLIST BASE
577 href %URL #REQUIRED
578 >
579
580 <!ELEMENT META - O EMPTY -- Generic Metainformation -->
581 <!ATTLIST META
582 http-equiv NAME #IMPLIED -- HTTP response header name --
583 name NAME #IMPLIED -- metainformation name --
584 content CDATA #REQUIRED -- associated information --
585 >
586
587 <!-- SCRIPT/STYLE are place holders for transition to next version of HTML -->
588
589 <!ELEMENT STYLE - - (#PCDATA)* -(%head.misc) -- style info -->
590 <!ELEMENT SCRIPT - - (#PCDATA)* -(%head.misc) -- script statements -->
591
592 <!--================ Document Structure ===================================-->
593
594 <!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'">
595
596 <!ELEMENT HTML O O (HEAD, BODY)>
597 <!ATTLIST HTML
598 %version.attr;
599 >