3 Document Type Definition for the HyperText Markup Language
6 $Id: html.dtd,v 1.1 2002-08-25 10:21:58 scop Exp $
8 Author: Daniel W. Connolly <connolly@w3.org>
9 See Also: html.decl, html-1.dtd
10 http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html
13 <!ENTITY % HTML.Version
14 "-//IETF//DTD HTML 2.0//EN"
18 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
26 <!--============ Feature Test Entities ========================-->
28 <!ENTITY % HTML.Recommended "IGNORE"
29 -- Certain features of the language are necessary for
30 compatibility with widespread usage, but they may
31 compromise the structural integrity of a document.
32 This feature test entity enables a more prescriptive
33 document type definition that eliminates
37 <![ %HTML.Recommended [
38 <!ENTITY % HTML.Deprecated "IGNORE">
41 <!ENTITY % HTML.Deprecated "INCLUDE"
42 -- Certain features of the language are necessary for
43 compatibility with earlier versions of the specification,
44 but they tend to be used and implemented inconsistently,
45 and their use is deprecated. This feature test entity
46 enables a document type definition that eliminates
50 <!ENTITY % HTML.Highlighting "INCLUDE"
51 -- Use this feature test entity to validate that a
52 document uses no highlighting tags, which may be
53 ignored on minimal implementations.
56 <!ENTITY % HTML.Forms "INCLUDE"
57 -- Use this feature test entity to validate that a document
58 contains no forms, which may not be supported in minimal
62 <!--============== Imported Names ==============================-->
64 <!ENTITY % Content-Type "CDATA"
65 -- meaning an internet media type
66 (aka MIME content type, as per RFC1521)
69 <!ENTITY % HTTP-Method "GET | POST"
70 -- as per HTTP specification, in progress
73 <!--========= DTD "Macros" =====================-->
75 <!ENTITY % heading "H1|H2|H3|H4|H5|H6">
77 <!ENTITY % list " UL | OL | DIR | MENU " >
80 <!--======= Character mnemonic entities =================-->
82 <!ENTITY % ISOlat1 PUBLIC
83 "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML">
86 <!ENTITY amp CDATA "&" -- ampersand -->
87 <!ENTITY gt CDATA ">" -- greater than -->
88 <!ENTITY lt CDATA "<" -- less than -->
89 <!ENTITY quot CDATA """ -- double quote -->
92 <!--========= SGML Document Access (SDA) Parameter Entities =====-->
94 <!-- HTML 2.0 contains SGML Document Access (SDA) fixed attributes
95 in support of easy transformation to the International Committee
96 for Accessible Document Design (ICADD) DTD
97 "-//EC-USA-CDA/ICADD//DTD ICADD22//EN".
98 ICADD applications are designed to support usable access to
99 structured information by print-impaired individuals through
100 Braille, large print and voice synthesis. For more information on
102 - ISO 12083:1993, Annex A.8, Facilities for Braille,
103 large print and computer voice
105 <ICADD%ASUACAD.BITNET@ARIZVM1.ccit.arizona.edu>
106 - Usenet news group bit.listserv.easi
107 - Recording for the Blind, +1 800 221 4792
110 <!ENTITY % SDAFORM "SDAFORM CDATA #FIXED"
111 -- one to one mapping -->
112 <!ENTITY % SDARULE "SDARULE CDATA #FIXED"
113 -- context-sensitive mapping -->
114 <!ENTITY % SDAPREF "SDAPREF CDATA #FIXED"
115 -- generated text prefix -->
116 <!ENTITY % SDASUFF "SDASUFF CDATA #FIXED"
117 -- generated text suffix -->
118 <!ENTITY % SDASUSP "SDASUSP NAME #FIXED"
119 -- suspend transform process -->
122 <!--========== Text Markup =====================-->
124 <![ %HTML.Highlighting [
126 <!ENTITY % font " TT | B | I ">
128 <!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE ">
130 <!ENTITY % text "#PCDATA | A | IMG | BR | %phrase | %font">
132 <!ELEMENT (%font;|%phrase) - - (%text)*>
133 <!ATTLIST ( TT | CODE | SAMP | KBD | VAR )
136 <!ATTLIST ( B | STRONG )
139 <!ATTLIST ( I | EM | CITE )
143 <!-- <TT> Typewriter text -->
144 <!-- <B> Bold text -->
145 <!-- <I> Italic text -->
147 <!-- <EM> Emphasized phrase -->
148 <!-- <STRONG> Strong emphasis -->
149 <!-- <CODE> Source code phrase -->
150 <!-- <SAMP> Sample text or characters -->
151 <!-- <KBD> Keyboard phrase, e.g. user input -->
152 <!-- <VAR> Variable phrase or substitutable -->
153 <!-- <CITE> Name or title of cited work -->
155 <!ENTITY % pre.content "#PCDATA | A | HR | BR | %font | %phrase">
159 <!ENTITY % text "#PCDATA | A | IMG | BR">
161 <!ELEMENT BR - O EMPTY>
166 <!-- <BR> Line break -->
169 <!--========= Link Markup ======================-->
171 <!ENTITY % linkType "NAMES">
173 <!ENTITY % linkExtraAttributes
174 "REL %linkType #IMPLIED
175 REV %linkType #IMPLIED
178 METHODS NAMES #IMPLIED
181 <![ %HTML.Recommended [
182 <!ENTITY % A.content "(%text)*"
183 -- <H1><a name="xxx">Heading</a></H1>
185 <a name="xxx"><H1>Heading</H1></a>
189 <!ENTITY % A.content "(%heading|%text)*">
191 <!ELEMENT A - - %A.content -(A)>
195 %linkExtraAttributes;
196 %SDAPREF; "<Anchor: #AttList>"
198 <!-- <A> Anchor; source/destination of link -->
199 <!-- <A NAME="..."> Name of this anchor -->
200 <!-- <A HREF="..."> Address of link destination -->
201 <!-- <A URN="..."> Permanent address of destination -->
202 <!-- <A REL=...> Relationship to destination -->
203 <!-- <A REV=...> Relationship of destination to this -->
204 <!-- <A TITLE="..."> Title of destination (advisory) -->
205 <!-- <A METHODS="..."> Operations on destination (advisory) -->
208 <!--========== Images ==========================-->
210 <!ELEMENT IMG - O EMPTY>
214 ALIGN (top|middle|bottom) #IMPLIED
215 ISMAP (ISMAP) #IMPLIED
216 %SDAPREF; "<Fig><?SDATrans Img: #AttList>#AttVal(Alt)</Fig>"
219 <!-- <IMG> Image; icon, glyph or illustration -->
220 <!-- <IMG SRC="..."> Address of image object -->
221 <!-- <IMG ALT="..."> Textual alternative -->
222 <!-- <IMG ALIGN=...> Position relative to text -->
223 <!-- <IMG ISMAP> Each pixel can be a link -->
225 <!--========== Paragraphs=======================-->
227 <!ELEMENT P - O (%text)*>
232 <!-- <P> Paragraph -->
235 <!--========== Headings, Titles, Sections ===============-->
237 <!ELEMENT HR - O EMPTY>
239 %SDAPREF; "&#RE;&#RE;"
242 <!-- <HR> Horizontal rule -->
244 <!ELEMENT ( %heading ) - - (%text;)*>
264 <!-- <H1> Heading, level 1 -->
265 <!-- <H2> Heading, level 2 -->
266 <!-- <H3> Heading, level 3 -->
267 <!-- <H4> Heading, level 4 -->
268 <!-- <H5> Heading, level 5 -->
269 <!-- <H6> Heading, level 6 -->
272 <!--========== Text Flows ======================-->
275 <!ENTITY % block.forms "BLOCKQUOTE | FORM | ISINDEX">
278 <!ENTITY % block.forms "BLOCKQUOTE">
280 <![ %HTML.Deprecated [
281 <!ENTITY % preformatted "PRE | XMP | LISTING">
284 <!ENTITY % preformatted "PRE">
286 <!ENTITY % block "P | %list | DL
290 <!ENTITY % flow "(%text|%block)*">
292 <!ENTITY % pre.content "#PCDATA | A | HR | BR">
293 <!ELEMENT PRE - - (%pre.content)*>
295 WIDTH NUMBER #implied
299 <!-- <PRE> Preformatted text -->
300 <!-- <PRE WIDTH=...> Maximum characters per line -->
302 <![ %HTML.Deprecated [
304 <!ENTITY % literal "CDATA"
305 -- historical, non-conforming parsing mode where
306 the only markup signal is the end tag
310 <!ELEMENT (XMP|LISTING) - - %literal>
313 %SDAPREF; "Example:&#RE;"
317 %SDAPREF; "Listing:&#RE;"
320 <!-- <XMP> Example section -->
321 <!-- <LISTING> Computer listing -->
323 <!ELEMENT PLAINTEXT - O %literal>
324 <!-- <PLAINTEXT> Plain text passage -->
332 <!--========== Lists ==================-->
334 <!ELEMENT DL - - (DT | DD)+>
336 COMPACT (COMPACT) #IMPLIED
338 %SDAPREF; "Definition List:"
341 <!ELEMENT DT - O (%text)*>
346 <!ELEMENT DD - O %flow>
351 <!-- <DL> Definition list, or glossary -->
352 <!-- <DL COMPACT> Compact style list -->
353 <!-- <DT> Term in definition list -->
354 <!-- <DD> Definition of term -->
356 <!ELEMENT (OL|UL) - - (LI)+>
358 COMPACT (COMPACT) #IMPLIED
362 COMPACT (COMPACT) #IMPLIED
365 <!-- <UL> Unordered list -->
366 <!-- <UL COMPACT> Compact list style -->
367 <!-- <OL> Ordered, or numbered list -->
368 <!-- <OL COMPACT> Compact list style -->
371 <!ELEMENT (DIR|MENU) - - (LI)+ -(%block)>
373 COMPACT (COMPACT) #IMPLIED
375 %SDAPREF; "<LHead>Directory</LHead>"
378 COMPACT (COMPACT) #IMPLIED
380 %SDAPREF; "<LHead>Menu</LHead>"
383 <!-- <DIR> Directory list -->
384 <!-- <DIR COMPACT> Compact list style -->
385 <!-- <MENU> Menu list -->
386 <!-- <MENU COMPACT> Compact list style -->
388 <!ELEMENT LI - O %flow>
393 <!-- <LI> List item -->
395 <!--========== Document Body ===================-->
397 <![ %HTML.Recommended [
398 <!ENTITY % body.content "(%heading|%block|HR|ADDRESS|IMG)*"
407 <!ENTITY % body.content "(%heading | %text | %block |
410 <!ELEMENT BODY O O %body.content>
412 <!-- <BODY> Document body -->
414 <!ELEMENT BLOCKQUOTE - - %body.content>
419 <!-- <BLOCKQUOTE> Quoted passage -->
421 <!ELEMENT ADDRESS - - (%text|P)*>
424 %SDAPREF; "Address:&#RE;"
427 <!-- <ADDRESS> Address, signature, or byline -->
430 <!--======= Forms ====================-->
434 <!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)>
436 ACTION CDATA #IMPLIED
437 METHOD (%HTTP-Method) GET
438 ENCTYPE %Content-Type; "application/x-www-form-urlencoded"
439 %SDAPREF; "<Para>Form:</Para>"
440 %SDASUFF; "<Para>Form End.</Para>"
443 <!-- <FORM> Fill-out or data-entry form -->
444 <!-- <FORM ACTION="..."> Address for completed form -->
445 <!-- <FORM METHOD=...> Method of submitting form -->
446 <!-- <FORM ENCTYPE="..."> Representation of form data -->
448 <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX |
449 RADIO | SUBMIT | RESET |
451 <!ELEMENT INPUT - O EMPTY>
457 CHECKED (CHECKED) #IMPLIED
459 MAXLENGTH NUMBER #IMPLIED
460 ALIGN (top|middle|bottom) #IMPLIED
464 <!-- <INPUT> Form input datum -->
465 <!-- <INPUT TYPE=...> Type of input interaction -->
466 <!-- <INPUT NAME=...> Name of form datum -->
467 <!-- <INPUT VALUE="..."> Default/initial/selected value -->
468 <!-- <INPUT SRC="..."> Address of image -->
469 <!-- <INPUT CHECKED> Initial state is "on" -->
470 <!-- <INPUT SIZE=...> Field size hint -->
471 <!-- <INPUT MAXLENGTH=...> Data length maximum -->
472 <!-- <INPUT ALIGN=...> Image alignment -->
474 <!ELEMENT SELECT - - (OPTION+) -(INPUT|SELECT|TEXTAREA)>
478 MULTIPLE (MULTIPLE) #IMPLIED
481 "<LHead>Select #AttVal(Multiple)</LHead>"
484 <!-- <SELECT> Selection of option(s) -->
485 <!-- <SELECT NAME=...> Name of form datum -->
486 <!-- <SELECT SIZE=...> Options displayed at a time -->
487 <!-- <SELECT MULTIPLE> Multiple selections allowed -->
489 <!ELEMENT OPTION - O (#PCDATA)*>
491 SELECTED (SELECTED) #IMPLIED
495 "Option: #AttVal(Value) #AttVal(Selected)"
498 <!-- <OPTION> A selection option -->
499 <!-- <OPTION SELECTED> Initial state -->
500 <!-- <OPTION VALUE="..."> Form datum value for this option-->
502 <!ELEMENT TEXTAREA - - (#PCDATA)* -(INPUT|SELECT|TEXTAREA)>
505 ROWS NUMBER #REQUIRED
506 COLS NUMBER #REQUIRED
508 %SDAPREF; "Input Text -- #AttVal(Name): "
511 <!-- <TEXTAREA> An area for text input -->
512 <!-- <TEXTAREA NAME=...> Name of form datum -->
513 <!-- <TEXTAREA ROWS=...> Height of area -->
514 <!-- <TEXTAREA COLS=...> Width of area -->
519 <!--======= Document Head ======================-->
521 <![ %HTML.Recommended [
522 <!ENTITY % head.extra "">
524 <!ENTITY % head.extra "& NEXTID?">
526 <!ENTITY % head.content "TITLE & ISINDEX? & BASE? %head.extra">
528 <!ELEMENT HEAD O O (%head.content) +(META|LINK)>
530 <!-- <HEAD> Document head -->
532 <!ELEMENT TITLE - - (#PCDATA)* -(META|LINK)>
536 <!-- <TITLE> Title of document -->
538 <!ELEMENT LINK - O EMPTY>
541 %linkExtraAttributes;
542 %SDAPREF; "Linked to : #AttVal (TITLE) (URN) (HREF)>" >
544 <!-- <LINK> Link from this document -->
545 <!-- <LINK HREF="..."> Address of link destination -->
546 <!-- <LINK URN="..."> Lasting name of destination -->
547 <!-- <LINK REL=...> Relationship to destination -->
548 <!-- <LINK REV=...> Relationship of destination to this -->
549 <!-- <LINK TITLE="..."> Title of destination (advisory) -->
550 <!-- <LINK METHODS="..."> Operations allowed (advisory) -->
552 <!ELEMENT ISINDEX - O EMPTY>
555 "<Para>[Document is indexed/searchable.]</Para>">
557 <!-- <ISINDEX> Document is a searchable index -->
559 <!ELEMENT BASE - O EMPTY>
561 HREF CDATA #REQUIRED >
563 <!-- <BASE> Base context document -->
564 <!-- <BASE HREF="..."> Address for this document -->
566 <!ELEMENT NEXTID - O EMPTY>
570 <!-- <NEXTID> Next ID to use for link name -->
571 <!-- <NEXTID N=...> Next ID to use for link name -->
573 <!ELEMENT META - O EMPTY>
575 HTTP-EQUIV NAME #IMPLIED
577 CONTENT CDATA #REQUIRED >
579 <!-- <META> Generic Meta-information -->
580 <!-- <META HTTP-EQUIV=...> HTTP response header name -->
581 <!-- <META NAME=...> Meta-information name -->
582 <!-- <META CONTENT="..."> Associated information -->
584 <!--======= Document Structure =================-->
586 <![ %HTML.Deprecated [
587 <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?">
589 <!ENTITY % html.content "HEAD, BODY">
591 <!ELEMENT HTML O O (%html.content)>
592 <!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'">
599 <!-- <HTML> HTML Document -->