1 |
<!-- html.dtd |
<!-- html.dtd |
2 |
|
|
3 |
Document Type Definition for the HyperText Markup Language |
Document Type Definition for the HyperText Markup Language (HTML DTD) |
|
as used by the World Wide Web application (HTML DTD). |
|
4 |
|
|
5 |
$Id$ |
$Id$ |
|
--> |
|
|
|
|
|
|
|
|
<!-- DTD definitions --> |
|
|
|
|
|
<!ENTITY % URL "CDATA" |
|
|
-- The term URL means a CDATA attribute |
|
|
whose value is a Uniform Resource Locator, |
|
|
as defined. (A URN may also be usable here when defined.) |
|
|
--> |
|
|
|
|
|
<!ENTITY % Content-Type "CDATA" -- meaning a MIME content type --> |
|
|
|
|
|
<!ENTITY % linkattributes |
|
|
"HREF %URL; #IMPLIED |
|
|
REL CDATA #IMPLIED -- forward relationship type -- |
|
|
REV CDATA #IMPLIED -- reversed relationship type |
|
|
to referent data: |
|
|
|
|
|
PARENT CHILD, SIBLING, NEXT, TOP, |
|
|
DEFINITION, UPDATE, ORIGINAL etc. -- |
|
|
|
|
|
URN CDATA #IMPLIED -- universal resource number -- |
|
|
|
|
|
TITLE CDATA #IMPLIED -- advisory only -- |
|
6 |
|
|
7 |
METHODS NAMES #IMPLIED -- supported public methods of the object: |
Author: Daniel W. Connolly <connolly@hal.com> |
8 |
TEXTSEARCH, GET, HEAD, ... -- |
See Also: html.decl, html-0.dtd, html-1.dtd |
9 |
|
http://www.hal.com/%7Econnolly/html-spec/index.html |
10 |
--@# content-type -- |
http://info.cern.ch/hypertext/WWW/MarkUp2/MarkUp.html |
11 |
"> |
--> |
|
|
|
|
|
|
|
<!-- Document Element --> |
|
|
|
|
|
<!ELEMENT HTML O O (HEAD, BODY)> |
|
|
|
|
|
<!-- Head --> |
|
|
|
|
|
<!ELEMENT HEAD O O ( TITLE? & ISINDEX? & NEXTID? & LINK* |
|
|
& BASE?)> |
|
|
|
|
|
<!ELEMENT NEXTID - O EMPTY -- @# obsolete --> |
|
|
<!ATTLIST NEXTID |
|
|
N ID #REQUIRED -- next available id --> |
|
12 |
|
|
13 |
<!ELEMENT TITLE - - (#PCDATA) |
<!ENTITY HTML.Version |
14 |
-- The TITLE element is not considered part of the flow of text. |
"-//W3O//DTD WWW HTML 2.0//EN" |
|
It should be displayed, for example as the page header or |
|
|
window title. |
|
|
--> |
|
15 |
|
|
16 |
<!ELEMENT ISINDEX - O EMPTY |
-- Typical usage: |
|
-- WWW clients should offer the option to perform a search on |
|
|
documents containing ISINDEX. |
|
|
--> |
|
17 |
|
|
18 |
<!ELEMENT LINK - O EMPTY> |
<!DOCTYPE HTML PUBLIC "-//W3O//DTD WWW HTML 2.0//EN"> |
19 |
<!ATTLIST LINK |
<html> |
20 |
%linkattributes |
... |
21 |
|
</html> |
22 |
|
-- |
23 |
> |
> |
|
|
|
|
<!ELEMENT BASE - O EMPTY -- Reference context for URLS --> |
|
|
<!ATTLIST BASE |
|
|
HREF %URL; #IMPLIED |
|
|
> |
|
|
|
|
|
|
|
|
<!-- Body --> |
|
|
|
|
|
<!ELEMENT BODY O O ANY -- empty P version @# --> |
|
|
|
|
|
<!-- Text --> |
|
|
|
|
|
<!ENTITY % inline "EM | STRONG | |
|
|
CODE | SAMP | KBD | KEY | VAR | DFN | CITE " |
|
|
> |
|
|
<!ENTITY % fonts "B | I | U | TT"> |
|
|
|
|
|
<!ENTITY % text "#PCDATA | IMG | %inline; | %fonts; | BR | P" |
|
|
-- @# yuk: P in textflows -- |
|
|
--@# BR -> &br; -- |
|
|
--@# yuk: fonts -- > |
|
|
|
|
|
<!ENTITY % htext "A | %text" -- Plus links, no structure --> |
|
|
|
|
|
<!ELEMENT (%inline;) - - (%htext)+> |
|
|
<!ELEMENT (%fonts;) - - (%htext)+> |
|
|
|
|
|
<!ELEMENT A - - ANY -(A)> |
|
|
<!ATTLIST A |
|
|
NAME NMTOKEN #IMPLIED -- @# dangit! this should be ID! -- |
|
|
%linkattributes; |
|
|
> |
|
|
|
|
|
<!ELEMENT IMG - O EMPTY -- Embedded image --> |
|
|
<!ATTLIST IMG |
|
|
SRC %URL; #IMPLIED -- URL of document to embed -- |
|
|
ALT CDATA #IMPLIED |
|
|
ALIGN (top|middle|bottom|left|center|right) #IMPLIED --@#supported?-- |
|
|
> |
|
|
|
|
|
|
|
|
<!ELEMENT P - O EMPTY -- paragraph separator @# --> |
|
|
<!ELEMENT HR - O EMPTY -- horizontal rule --> |
|
|
<!ELEMENT BR - O EMPTY -- @# BR -> &br; --> |
|
|
|
|
|
<!-- Headings --> |
|
|
|
|
|
<!ENTITY % heading "H1|H2|H3|H4|H5|H6" > |
|
|
<!ELEMENT ( %heading ) - - (%htext;)+> |
|
|
|
|
|
|
|
|
<!-- Pre-formatted Text --> |
|
|
|
|
|
<!ENTITY % pre "PRE | XMP | LISTING" -- @# treat XMP like pre? --> |
|
|
|
|
|
<!ELEMENT PRE - - (#PCDATA | %fonts | %inline | A | BR)+> |
|
|
<!-- @# yuk: VAR, CITE etc. in PRE --> |
|
|
<!-- @# P in PRE ??--> |
|
|
<!-- @# BR -> &br; --> |
|
|
<!ELEMENT (XMP|LISTING) - - RCDATA> |
|
|
<!-- @# PLAINTEXT?? --> |
|
|
<!ATTLIST (%pre;) |
|
|
WIDTH NUMBER #implied |
|
|
> |
|
24 |
|
|
|
<!-- Block Elements --> |
|
25 |
|
|
26 |
<!ENTITY % list " UL | OL | DIR | MENU "> |
<!-- Imported Names --> |
27 |
|
|
28 |
<!ENTITY % block -- as htext but also nested structure -- |
<!ENTITY % Content-Type "CDATA" |
29 |
"HR | %list | DL |
-- meaning a MIME content type, as per RFC1521 |
30 |
| %pre; | BLOCKQUOTE | FIG | ADDRESS |
--> |
|
| FORM"> |
|
31 |
|
|
32 |
<!ELEMENT DL - - (DT*, DD?)+> |
<!ENTITY % HTTP-Method "GET | POST"> |
|
<!ATTLIST DL |
|
|
STYLE (COMPACT) #IMPLIED> |
|
33 |
|
|
|
<!ELEMENT DT - O (%htext)+> |
|
|
<!ELEMENT DD - O (%htext|%block)+> |
|
34 |
|
|
35 |
<!ELEMENT (%list) - - (LI)+> |
<!-- Include level 1 DTD + block extensions --> |
|
<!ELEMENT LI - O (%htext|%block)+> |
|
36 |
|
|
37 |
<!ELEMENT BLOCKQUOTE - - ((%htext)+, ADDRESS?)+ -- @# Hmm... -- |
<!ENTITY % block-2 "| FORM | ISINDEX" |
38 |
-- for quoting some other source --> |
--@# ISINDEX in BODY? --> |
39 |
|
|
40 |
<!ELEMENT ADDRESS - - (%htext;)+> |
<!ENTITY % html-1 PUBLIC "-//W3O//DTD WWW HTML 2.0 Level 1//EN"> |
41 |
|
%html-1; |
42 |
|
|
|
<!ELEMENT FIG - - (%htext;)+> |
|
43 |
|
|
44 |
<!-- Forms --> |
<!-- Forms --> |
45 |
|
|
46 |
<!ENTITY % HTTP-Method "(GET | POST)"> |
<!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)> |
|
<!ELEMENT FORM - - ANY -(FORM) +(INPUT|SELECT|TEXTAREA)> |
|
47 |
<!ATTLIST FORM |
<!ATTLIST FORM |
48 |
ACTION %URL #REQUIRED |
ACTION %URI #REQUIRED |
49 |
METHOD %HTTP-Method #IMPLIED -- @# MAILTO? -- |
METHOD (%HTTP-Method) #IMPLIED -- @# MAILTO? -- |
50 |
ENCTYPE %Content-Type; #IMPLIED |
ENCTYPE %Content-Type; #IMPLIED |
51 |
> |
> |
52 |
|
|
58 |
TYPE %InputType #IMPLIED -- @# defaults to TEXT?? -- |
TYPE %InputType #IMPLIED -- @# defaults to TEXT?? -- |
59 |
NAME CDATA #IMPLIED -- required for all but submit and reset -- |
NAME CDATA #IMPLIED -- required for all but submit and reset -- |
60 |
VALUE CDATA #IMPLIED |
VALUE CDATA #IMPLIED |
61 |
SRC %URL #IMPLIED -- for image inputs -- |
SRC %URI #IMPLIED -- for image inputs -- |
62 |
STATE (CHECKED) #IMPLIED |
CHECKED (CHECKED) #IMPLIED |
63 |
SIZE CDATA #IMPLIED -- @# should be NUMBERS: delimit with space, not comma -- |
SIZE CDATA #IMPLIED -- @# should be NUMBERS: delimit with space, not comma -- |
64 |
MAXLENGTH NUMBER #IMPLIED |
MAXLENGTH NUMBER #IMPLIED |
65 |
ALIGN (top|middle|bottom|left|center|right) #IMPLIED --@#supported?-- |
ALIGN (top|middle|bottom|left|center|right) #IMPLIED --@#supported?-- |
69 |
<!ATTLIST SELECT |
<!ATTLIST SELECT |
70 |
NAME CDATA #REQUIRED |
NAME CDATA #REQUIRED |
71 |
SIZE NUMBER #IMPLIED |
SIZE NUMBER #IMPLIED |
72 |
SELECTIONS (MULTIPLE) #IMPLIED |
MULTIPLE (MULTIPLE) #IMPLIED |
73 |
> |
> |
74 |
|
|
75 |
<!ELEMENT OPTION - O (#PCDATA)> |
<!ELEMENT OPTION - O (#PCDATA)> |
76 |
<!ATTLIST OPTION |
<!ATTLIST OPTION |
77 |
STATE (SELECTED) #IMPLIED |
SELECTED (SELECTED) #IMPLIED |
78 |
VALUE CDATA #IMPLIED |
VALUE CDATA #IMPLIED |
79 |
> |
> |
80 |
|
|
85 |
COLS NUMBER #REQUIRED |
COLS NUMBER #REQUIRED |
86 |
> |
> |
87 |
|
|
|
<!-- Mnemonic character entities. --> |
|
88 |
|
|
|
<!ENTITY % ISOlat1 PUBLIC |
|
|
"ISO 8879:1986//ENTITIES Added Latin 1//EN"> |
|
|
%ISOlat1; |
|
|
|
|
|
<!ENTITY amp "&" -- ampersand --> |
|
|
<!ENTITY gt ">" -- greater than --> |
|
|
<!ENTITY lt "<" -- less than --> |
|
|
<!ENTITY nbsp "<? nonbreaking-space>"> |
|
|
<!-- @# should add entites for processing instructions |
|
|
for line break, centering, etc. --> |
|
89 |
|
|