2
|
1 <!-- html-mcom.dtd
|
|
2
|
|
3 Document Type Definition for the HyperText Markup Language (HTML DTD)
|
|
4 with Netscape Communications Corp Extensions
|
|
5
|
70
|
6 $Id: html-mcom.dtd,v 1.1.1.1 1996/12/18 22:42:23 steve Exp $
|
2
|
7
|
|
8 Author: Daniel W. Connolly <connolly@w3.org>
|
|
9 See Also: html.decl, ISOlat1.sgml
|
|
10 http://home.netscape.com/assist/net_sites/html_extensions.html
|
|
11 http://www.halsoft.com/sgml/Mozilla/DTD-HOME.html
|
|
12 http://www.hpl.hp.co.uk/people/dsr/html3/Contents.html
|
|
13
|
|
14 Table addtions by: Mark Gaither (markg@hal.com) 26 Jun 95
|
|
15 -->
|
|
16
|
|
17 <!ENTITY % HTML.Version
|
|
18 "-//Netscape Comm. Corp.//DTD HTML//EN"
|
|
19
|
|
20 -- Typical usage:
|
|
21
|
|
22 <!DOCTYPE HTML PUBLIC "-//Netscape Comm. Corp.//DTD HTML//EN">
|
|
23 <html>
|
|
24 ...
|
|
25 </html>
|
|
26 --
|
|
27 >
|
|
28
|
|
29
|
|
30 <!--================== Feature Test Entities ==============================-->
|
|
31
|
|
32 <!ENTITY % HTML.Recommended "IGNORE"
|
|
33 -- Certain features of the language are necessary for compatibility
|
|
34 with widespread usage, but they may compromise the structural
|
|
35 integrity of a document. This feature test entity enables
|
|
36 a more prescriptive document type definition that eliminates
|
|
37 the above features.
|
|
38 -->
|
|
39
|
|
40 <![ %HTML.Recommended [
|
|
41 <!ENTITY % HTML.Deprecated "IGNORE">
|
|
42 ]]>
|
|
43
|
|
44 <!ENTITY % HTML.Deprecated "INCLUDE"
|
|
45 -- Certain features of the language are necessary for compatibility
|
|
46 with earlier versions of the specification, but they tend
|
|
47 to be used an implemented inconsistently, and their use is
|
|
48 deprecated. This feature test entity enables a document type
|
|
49 definition that eliminates these features.
|
|
50 -->
|
|
51
|
|
52 <!ENTITY % HTML.Highlighting "INCLUDE">
|
|
53 <!ENTITY % HTML.Forms "INCLUDE">
|
|
54
|
|
55 <!--================== Imported Names =====================================-->
|
|
56
|
|
57 <!ENTITY % Content-Type "CDATA"
|
|
58 -- meaning a MIME content type, as per RFC1521
|
|
59 -->
|
|
60
|
|
61 <!ENTITY % HTTP-Method "GET | POST"
|
|
62 -- as per HTTP specification
|
|
63 -->
|
|
64
|
|
65 <!ENTITY % URI "CDATA"
|
|
66 -- The term URI means a CDATA attribute
|
|
67 whose value is a Uniform Resource Identifier,
|
|
68 as defined by
|
|
69 "Universal Resource Identifiers" by Tim Berners-Lee
|
|
70 aka http://info.cern.ch/hypertext/WWW/Addressing/URL/URI_Overview.html
|
|
71 aka RFC 1630
|
|
72
|
|
73 Note that CDATA attributes are limited by the LITLEN
|
|
74 capacity (1024 in the current version of html.decl),
|
|
75 so that URIs in HTML have a bounded length.
|
|
76
|
|
77 -->
|
|
78
|
|
79
|
|
80 <!-- DTD "macros" -->
|
|
81
|
|
82 <!ENTITY % heading "H1|H2|H3|H4|H5|H6">
|
|
83
|
|
84 <!ENTITY % list " UL | OL | DIR | MENU " >
|
|
85
|
|
86
|
|
87 <!--================ Character mnemonic entities ==========================-->
|
|
88
|
|
89 <!ENTITY % ISOlat1 PUBLIC
|
|
90 "-//IETF//ENTITIES Added Latin 1 for HTML//EN">
|
|
91 %ISOlat1;
|
|
92
|
|
93 <!ENTITY amp CDATA "&" -- ampersand -->
|
|
94 <!ENTITY gt CDATA ">" -- greater than -->
|
|
95 <!ENTITY lt CDATA "<" -- less than -->
|
|
96 <!ENTITY quot CDATA """ -- double quote -->
|
|
97
|
|
98 <!ENTITY reg CDATA "®" -- registered trademark -->
|
|
99 <!ENTITY copy CDATA "©" -- copyright -->
|
|
100
|
|
101 <!--=================== Text Markup =======================================-->
|
|
102
|
|
103 <![ %HTML.Highlighting [
|
|
104
|
|
105 <!ENTITY % font " TT | B | I | FONT">
|
|
106
|
|
107 <!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE | BLINK">
|
|
108
|
|
109 <!ENTITY % text "#PCDATA | A | IMG | BR | WBR | NOBR | BASEFONT
|
|
110 | %phrase | %font">
|
|
111
|
|
112 <!ENTITY % pre.content "#PCDATA | A | HR | BR | %font | %phrase">
|
|
113
|
|
114 <!ELEMENT (%font;|%phrase) - - (%text)+>
|
|
115
|
|
116 <!ELEMENT basefont - - ANY>
|
|
117
|
|
118 <!ATTLIST (font|basefont)
|
|
119 SIZE CDATA #REQUIRED -- should be NUTOKEN, using size=plus3, -->
|
|
120 ]]>
|
|
121
|
|
122 <!ENTITY % text "#PCDATA | A | IMG | BR | WBR | NOBR | CENTER">
|
|
123
|
|
124 <!ELEMENT BR - O EMPTY>
|
|
125 <!ATTLIST BR
|
|
126 CLEAR (left|right|all) #IMPLIED>
|
|
127
|
|
128 <!ELEMENT NOBR - - (%text)+>
|
|
129 <!ELEMENT WBR - O EMPTY>
|
|
130
|
|
131 <!--================== Link Markup ========================================-->
|
|
132
|
|
133 <![ %HTML.Recommended [
|
|
134 <!ENTITY % linkName "ID">
|
|
135 ]]>
|
|
136
|
|
137 <!ENTITY % linkName "CDATA">
|
|
138
|
|
139 <!ENTITY % linkType "NAME"
|
|
140 -- a list of these will be specified at a later date -->
|
|
141
|
|
142 <!ENTITY % linkExtraAttributes
|
|
143 "REL %linkType #IMPLIED -- forward relationship type --
|
|
144 REV %linkType #IMPLIED -- reversed relationship type
|
|
145 to referent data --
|
|
146 URN CDATA #IMPLIED -- universal resource number --
|
|
147
|
|
148 TITLE CDATA #IMPLIED -- advisory only --
|
|
149 METHODS NAMES #IMPLIED -- supported public methods of the object:
|
|
150 TEXTSEARCH, GET, HEAD, ... --
|
|
151 ">
|
|
152
|
|
153 <![ %HTML.Recommended [
|
|
154 <!ENTITY % A.content "(%text)+"
|
|
155 -- <H1><a name="xxx">Heading</a></H1>
|
|
156 is preferred to
|
|
157 <a name="xxx"><H1>Heading</H1></a>
|
|
158 -->
|
|
159 ]]>
|
|
160
|
|
161 <!ENTITY % A.content "(%heading|%text)+">
|
|
162
|
|
163 <!ELEMENT A - - %A.content -(A)>
|
|
164
|
|
165 <!ATTLIST A
|
|
166 HREF %URI #IMPLIED
|
|
167 NAME %linkName #IMPLIED
|
|
168 %linkExtraAttributes;
|
|
169 >
|
|
170
|
|
171 <!--=================== Images ============================================-->
|
|
172
|
|
173 <!ENTITY % img.alt.default "#IMPLIED"
|
|
174 -- ALT attribute required in Level 0 docs -->
|
|
175
|
|
176 <!ELEMENT IMG - O EMPTY -- Embedded image -->
|
|
177 <!ATTLIST IMG
|
|
178 SRC %URI; #REQUIRED -- URI of document to embed --
|
|
179 LOWSRC %URI; #IMPLIED -- low resolution images spec --
|
|
180 ALT CDATA %img.alt.default;
|
|
181 ALIGN (left|right|center|top|texttop|middle|
|
|
182 absmiddle|baseline|bottom|absbottom) baseline
|
|
183 WIDTH CDATA #IMPLIED
|
|
184 HEIGHT NUMBER #IMPLIED
|
|
185 BORDER NUMBER #IMPLIED
|
|
186 VSPACE NUMBER #IMPLIED
|
|
187 HSPACE NUMBER #IMPLIED
|
|
188 ISMAP (ISMAP) #IMPLIED
|
|
189 >
|
|
190
|
|
191
|
|
192 <!--=================== Paragraphs=========================================-->
|
|
193
|
|
194 <!ENTITY % attrs -- common attributes for elements --
|
|
195 'id ID #IMPLIED -- as target for hrefs (link ends) --
|
|
196 lang CDATA "en.us" -- ISO language, country code --
|
|
197 class NAMES #IMPLIED -- for subclassing elements --'>
|
|
198
|
|
199 <!ENTITY % needs -- Attributes for controlling text flow. Used in headers
|
|
200 and other elements to guarantee sufficient room --
|
|
201 'clear CDATA "no" -- (left|right|all|no) move down past figures --
|
|
202 needs CDATA #IMPLIED -- minimum width needed in em"s or pixels --
|
|
203 -- e.g. "40 em" or "100 pixels" --'>
|
|
204
|
|
205 <!ELEMENT P - O (%text)+>
|
|
206 <!ATTLIST P
|
|
207 %attrs;
|
|
208 align (left|center|right|justify) #IMPLIED
|
|
209 %needs; -- for control of text flow --
|
|
210 nowrap (nowrap) #IMPLIED -- disable wordwrap --
|
|
211 >
|
|
212
|
|
213 <!--=================== Headings, Titles, Sections ========================-->
|
|
214
|
|
215 <!ELEMENT HR - O EMPTY -- horizontal rule -->
|
|
216 <!ATTLIST HR
|
|
217 SIZE NUMBER #IMPLIED
|
|
218 WIDTH CDATA #IMPLIED
|
|
219 ALIGN (left|right|center) #IMPLIED
|
|
220 NOSHADE (NOSHADE) #IMPLIED>
|
|
221
|
|
222 <!ELEMENT ( %heading ) - - (%text;)+>
|
|
223 <!ATTLIST ( %heading )
|
|
224 %attrs;
|
|
225 align (left|center|right|justify) #IMPLIED
|
|
226 %needs; -- for control of text flow --
|
|
227 >
|
|
228
|
|
229
|
|
230 <!ELEMENT TITLE - - (#PCDATA)
|
|
231 -- The TITLE element is not considered part of the flow of text.
|
|
232 It should be displayed, for example as the page header or
|
|
233 window title.
|
|
234 -->
|
|
235
|
|
236
|
|
237 <!--=================== Text Flows ========================================-->
|
|
238
|
|
239 <![ %HTML.Forms [
|
|
240 <!ENTITY % block.forms "FORM | TABLE | ISINDEX">
|
|
241 ]]>
|
|
242
|
|
243 <!ENTITY % block.forms "">
|
|
244
|
|
245 <![ %HTML.Deprecated [
|
|
246 <!ENTITY % preformatted "PRE | XMP | LISTING">
|
|
247 ]]>
|
|
248
|
|
249 <!ENTITY % preformatted "PRE">
|
|
250
|
|
251 <!ENTITY % block "P | %list | DL
|
|
252 | %preformatted
|
|
253 | BLOCKQUOTE | CENTER | %block.forms">
|
|
254
|
|
255 <!ENTITY % flow "(%text|%block)*">
|
|
256
|
|
257 <!ENTITY % pre.content "#PCDATA | A | HR | BR">
|
|
258 <!ELEMENT PRE - - (%pre.content)+>
|
|
259
|
|
260 <!ATTLIST PRE
|
|
261 WIDTH NUMBER #implied
|
|
262 >
|
|
263
|
|
264 <![ %HTML.Deprecated [
|
|
265
|
|
266 <!ENTITY % literal "CDATA"
|
|
267 -- special non-conforming parsing mode where
|
|
268 the only markup signal is the end tag
|
|
269 in full
|
|
270 -->
|
|
271
|
|
272 <!ELEMENT XMP - - %literal>
|
|
273 <!ELEMENT LISTING - - %literal>
|
|
274 <!ELEMENT PLAINTEXT - O %literal>
|
|
275
|
|
276 ]]>
|
|
277
|
|
278
|
|
279 <!--=================== Lists =============================================-->
|
|
280
|
|
281 <!ELEMENT DL - - (DT*, DD?)+>
|
|
282 <!ATTLIST DL
|
|
283 COMPACT (COMPACT) #IMPLIED>
|
|
284
|
|
285 <!ELEMENT DT - O (%text)+>
|
|
286 <!ELEMENT DD - O %flow>
|
|
287
|
|
288 <!ELEMENT (OL|UL) - - (LI)+>
|
|
289 <!ELEMENT (DIR|MENU) - - (LI)+ -(%block)>
|
|
290 <!ATTLIST (UL)
|
|
291 COMPACT (COMPACT) #IMPLIED
|
|
292 TYPE CDATA #IMPLIED
|
|
293 >
|
|
294 <!ATTLIST (OL)
|
|
295 START NUMBER #IMPLIED
|
|
296 COMPACT (COMPACT) #IMPLIED
|
|
297 TYPE CDATA "1"
|
|
298 >
|
|
299
|
|
300 <!ELEMENT LI - O %flow>
|
|
301 <!ATTLIST LI
|
|
302 TYPE CDATA #IMPLIED
|
|
303 VALUE CDATA #implied>
|
|
304
|
|
305 <!--=================== Document Body =====================================-->
|
|
306
|
|
307 <![ %HTML.Recommended [
|
|
308 <!ENTITY % body.content "(%heading|%block|HR|ADDRESS)*"
|
|
309 -- <h1>Heading</h1>
|
|
310 <p>Text ...
|
|
311 is preferred to
|
|
312 <h1>Heading</h1>
|
|
313 Text ...
|
|
314 -->
|
|
315 ]]>
|
|
316
|
|
317 <!ENTITY % body.content "(%heading | %text | %block | HR | ADDRESS)*">
|
|
318
|
|
319 <!ELEMENT BODY O O %body.content>
|
|
320 <!ATTLIST BODY
|
|
321 BACKGROUND %URI; #IMPLIED
|
|
322 BGCOLOR CDATA #IMPLIED
|
|
323 TEXT CDATA #IMPLIED
|
|
324 LINK CDATA #IMPLIED
|
|
325 VLINK CDATA #IMPLIED
|
|
326 ALINK CDATA #IMPLIED
|
|
327 >
|
|
328
|
|
329 <!ELEMENT BLOCKQUOTE - - %body.content>
|
|
330
|
|
331 <!ELEMENT CENTER - - %body.content>
|
|
332
|
|
333 <![ %HTML.Recommended [
|
|
334 <!ENTITY % address.content "(%text)*">
|
|
335 ]]>
|
|
336 <!ENTITY % address.content "(%text|P)*">
|
|
337 <!ELEMENT ADDRESS - - %address.content>
|
|
338
|
|
339
|
|
340 <!--================ Forms ===============================================-->
|
|
341
|
|
342 <![ %HTML.Forms [
|
|
343
|
|
344 <!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)>
|
|
345 <!ATTLIST FORM
|
|
346 ACTION %URI #REQUIRED
|
|
347 METHOD (%HTTP-Method) GET
|
|
348 ENCTYPE %Content-Type; "application/x-www-form-urlencoded"
|
|
349 >
|
|
350
|
|
351 <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX |
|
|
352 RADIO | SUBMIT | RESET |
|
|
353 IMAGE | HIDDEN )">
|
|
354 <!ELEMENT INPUT - O EMPTY>
|
|
355 <!ATTLIST INPUT
|
|
356 TYPE %InputType TEXT
|
|
357 NAME CDATA #IMPLIED -- required for all but submit and reset --
|
|
358 VALUE CDATA #IMPLIED
|
|
359 SRC %URI #IMPLIED -- for image inputs --
|
|
360 CHECKED (CHECKED) #IMPLIED
|
|
361 SIZE CDATA #IMPLIED -- like NUMBERS,
|
|
362 but delimited with comma, not space --
|
|
363 MAXLENGTH NUMBER #IMPLIED
|
|
364 ALIGN (top|middle|bottom) #IMPLIED
|
|
365 >
|
|
366
|
|
367 <!ELEMENT SELECT - - (OPTION+)>
|
|
368 <!ATTLIST SELECT
|
|
369 NAME CDATA #REQUIRED
|
|
370 SIZE NUMBER #IMPLIED
|
|
371 MULTIPLE (MULTIPLE) #IMPLIED
|
|
372 >
|
|
373
|
|
374 <!ELEMENT OPTION - O (#PCDATA)>
|
|
375 <!ATTLIST OPTION
|
|
376 SELECTED (SELECTED) #IMPLIED
|
|
377 VALUE CDATA #IMPLIED
|
|
378 >
|
|
379
|
|
380 <!ELEMENT TEXTAREA - - (#PCDATA)>
|
|
381 <!ATTLIST TEXTAREA
|
|
382 NAME CDATA #REQUIRED
|
|
383 ROWS NUMBER #REQUIRED
|
|
384 COLS NUMBER #REQUIRED
|
|
385 >
|
|
386
|
|
387 ]]>
|
|
388
|
|
389
|
|
390 <!--================ Document Head ========================================-->
|
|
391
|
|
392 <!ENTITY % head.link "& LINK*">
|
|
393
|
|
394 <![ %HTML.Recommended [
|
|
395 <!ENTITY % head.nextid "">
|
|
396 ]]>
|
|
397 <!ENTITY % head.nextid "& NEXTID?">
|
|
398
|
|
399 <!ENTITY % head.content "TITLE & ISINDEX? & BASE? & META*
|
|
400 %head.nextid
|
|
401 %head.link">
|
|
402
|
|
403 <!ELEMENT HEAD O O (%head.content)>
|
|
404
|
|
405 <!ELEMENT LINK - O EMPTY>
|
|
406 <!ATTLIST LINK
|
|
407 HREF %URI #REQUIRED
|
|
408 %linkExtraAttributes; >
|
|
409
|
|
410 <!ELEMENT ISINDEX - O EMPTY>
|
|
411 <!ATTLIST ISINDEX
|
|
412 PROMPT CDATA "This is a searchable index. Enter search keywords:">
|
|
413
|
|
414 <!ELEMENT BASE - O EMPTY>
|
|
415 <!ATTLIST BASE
|
|
416 HREF %URI; #REQUIRED
|
|
417 >
|
|
418
|
|
419 <!ELEMENT NEXTID - O EMPTY>
|
|
420 <!ATTLIST NEXTID N %linkName #REQUIRED>
|
|
421
|
|
422 <!ELEMENT META - O EMPTY -- Generic Metainformation -->
|
|
423 <!ATTLIST META
|
|
424 HTTP-EQUIV NAME #IMPLIED -- HTTP response header name --
|
|
425 NAME NAME #IMPLIED -- metainformation name --
|
|
426 CONTENT CDATA #REQUIRED -- associated information --
|
|
427 >
|
|
428
|
|
429 <!--================ Tables ===================================-->
|
|
430
|
|
431
|
|
432 <!ENTITY % block.align
|
|
433 "align (bleedleft|left|center|right|bleedright|justify) center">
|
|
434
|
|
435 <!ELEMENT CAPTION - - (%text;)+ -- table or figure caption -->
|
|
436 <!ATTLIST CAPTION
|
|
437 %attrs;
|
|
438 align (top|bottom|left|right) #IMPLIED
|
|
439 >
|
|
440
|
|
441 <!ELEMENT TABLE - - (CAPTION?, TR*) -- mixed headers and data -->
|
|
442 <!ATTLIST TABLE
|
|
443 %attrs;
|
|
444 %needs; -- for control of text flow --
|
|
445 border NUMBER #IMPLIED -- draw borders --
|
|
446 colspec CDATA #IMPLIED -- column widths and alignment --
|
|
447 units (em|pixels|relative) em -- units for column widths --
|
|
448 width CDATA #IMPLIED -- absolute or percentage width --
|
|
449 %block.align; -- horizontal alignment --
|
|
450 nowrap (nowrap) #IMPLIED -- don't wrap words --
|
|
451 cellspacing NUMBER 2 -- insert space between cells --
|
|
452 cellpadding NUMBER 1 -- pad between cell border and content --
|
|
453 >
|
|
454
|
|
455 <!ENTITY % cell "TH | TD">
|
|
456 <!ENTITY % vertical.align "top|middle|bottom|baseline">
|
|
457
|
|
458 <!ELEMENT TR - O (%cell)* -- row container -->
|
|
459 <!ATTLIST TR
|
|
460 %attrs;
|
|
461 align (left|center|right|justify) #IMPLIED
|
|
462 valign (%vertical.align) top -- vertical alignment --
|
|
463 nowrap (nowrap) #IMPLIED -- don't wrap words --
|
|
464 >
|
|
465
|
|
466 <!ELEMENT (%cell) - O %body.content>
|
|
467 <!ATTLIST (%cell)
|
|
468 %attrs;
|
|
469 colspan NUMBER 1 -- columns spanned --
|
|
470 rowspan NUMBER 1 -- rows spanned --
|
|
471 align (left|center|right|justify) #IMPLIED
|
|
472 valign (%vertical.align) top -- vertical alignment --
|
|
473 nowrap (nowrap) #IMPLIED -- don't wrap words --
|
|
474 width CDATA #IMPLIED -- allow width for cells --
|
|
475 axis CDATA #IMPLIED -- axis name, defaults to element content --
|
|
476 axes CDATA #IMPLIED -- comma separated list of axis names --
|
|
477 >
|
|
478
|
|
479
|
|
480 <!--================ Document Structure ===================================-->
|
|
481
|
|
482 <![ %HTML.Deprecated [
|
|
483 <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?">
|
|
484 ]]>
|
|
485 <!ENTITY % html.content "HEAD, BODY">
|
|
486
|
|
487 <!ELEMENT HTML O O (%html.content)>
|
|
488 <!ENTITY % version.attr "VERSION CDATA #FIXED "%HTML.Version;"">
|
|
489
|
|
490 <!ATTLIST HTML
|
|
491 %version.attr;-- report DTD version to application --
|
|
492 >
|
|
493
|
|
494
|