<!ENTITY % HTML.Version
"-//W3C//DTD HTML 3.2 Final//EN"
-- Typical usage:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
...
</html>
--
>
<!ENTITY % HTML.Deprecated "INCLUDE">
<!ENTITY % Content-Type "CDATA"
-- meaning a MIME content type, as per RFC1521
-->
<!ENTITY % HTTP-Method "GET | POST"
-- as per HTTP specification
-->
<!ENTITY % URL "CDATA"
-- The term URL means a CDATA attribute
whose value is a Uniform Resource Locator,
See RFC1808 (June 95) and RFC1738 (Dec 94).
-->
<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK" -- repeatable head elements -->
<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
<!ENTITY % list "UL | OL | DIR | MENU">
<![ %HTML.Deprecated [
<!ENTITY % preformatted "PRE | XMP | LISTING">
]]>
<!ENTITY % preformatted "PRE">
<!ENTITY % ISOlat1 PUBLIC
"ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML">
%ISOlat1;
<!ENTITY amp CDATA "&" -- ampersand -->
<!ENTITY gt CDATA ">" -- greater than -->
<!ENTITY lt CDATA "<" -- less than -->
<!ENTITY % font "TT | I | B | U | STRIKE | BIG | SMALL | SUB | SUP">
<!ENTITY % phrase "EM | STRONG | DFN | CODE | SAMP | KBD | VAR | CITE">
<!ENTITY % special "A | IMG | APPLET | FONT | BASEFONT | BR | SCRIPT | MAP">
<!ENTITY % form "INPUT | SELECT | TEXTAREA">
<!ENTITY % text "#PCDATA | %font | %phrase | %special | %form">
<!ELEMENT (%font|%phrase) - - (%text)*>
<!ELEMENT FONT - - (%text)* -- local change to font -->
<!ATTLIST FONT
size CDATA #IMPLIED -- [+]nn e.g. size="+1", size=4 --
color CDATA #IMPLIED -- #RRGGBB in hex, e.g. red: color="#FF0000" --
>
<!ELEMENT BASEFONT - O EMPTY -- base font size (1 to 7)-->
<!ATTLIST BASEFONT
size CDATA #IMPLIED -- e.g. size=3 --
>
<!ELEMENT BR - O EMPTY -- forced line break -->
<!ATTLIST BR
clear (left|all|right|none) none -- control of text flow --
>
<!ENTITY % block
"P | %list | %preformatted | DL | DIV | CENTER |
BLOCKQUOTE | FORM | ISINDEX | HR | TABLE">
<!ENTITY % flow "(%text | %block)*">
<!ENTITY % body.content "(%heading | %text | %block | ADDRESS)*">
<!ENTITY % color "CDATA" -- a color specification: #HHHHHH @@ details? -->
<!ENTITY % body-color-attrs "
bgcolor %color #IMPLIED
text %color #IMPLIED
link %color #IMPLIED
vlink %color #IMPLIED
alink %color #IMPLIED
">
<!ELEMENT BODY O O %body.content>
<!ATTLIST BODY
background %URL #IMPLIED -- texture tile for document background --
%body-color-attrs; -- bgcolor, text, link, vlink, alink --
>
<!ENTITY % address.content "((%text;) | P)*">
<!ELEMENT ADDRESS - - %address.content>
<!ELEMENT DIV - - %body.content>
<!ATTLIST DIV
align (left|center|right) #IMPLIED -- alignment of following text --
>
<!ELEMENT center - - %body.content>
<!ELEMENT A - - (%text)* -(A)>
<!ATTLIST A
name CDATA #IMPLIED -- named link end --
href %URL #IMPLIED -- URL for linked resource --
rel CDATA #IMPLIED -- forward link types --
rev CDATA #IMPLIED -- reverse link types --
title CDATA #IMPLIED -- advisory title string --
>
<!ENTITY % SHAPE "(rect|circle|poly)">
<!ENTITY % COORDS "CDATA" -- comma separated list of numbers -->
<!ELEMENT MAP - - (AREA)*>
<!ATTLIST MAP
name CDATA #IMPLIED
>
<!ELEMENT AREA - O EMPTY>
<!ATTLIST AREA
shape %SHAPE rect
coords %COORDS #IMPLIED -- defines coordinates for shape --
href %URL #IMPLIED -- this region acts as hypertext link --
nohref (nohref) #IMPLIED -- this region has no action --
alt CDATA #REQUIRED -- needed for non-graphical user agents --
>
<!ENTITY % Types "CDATA"
-- See Internet Draft: draft-ietf-html-relrev-00.txt
LINK has been part of HTML since the early days
although few browsers as yet take advantage of it.
Relationship values can be used in principle:
a) for document specific toolbars/menus when used
with the LINK element in the document head:
b) to link to a separate style sheet
c) to make a link to a script
d) by stylesheets to control how collections of
html nodes are rendered into printed documents
e) to make a link to a printable version of this document
e.g. a postscript or pdf version
-->
<!ELEMENT LINK - O EMPTY>
<!ATTLIST LINK
href %URL #IMPLIED -- URL for linked resource --
rel %Types #IMPLIED -- forward link types --
rev %Types #IMPLIED -- reverse link types --
title CDATA #IMPLIED -- advisory title string --
>
<!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length -->
<!ENTITY % Pixels "NUMBER" -- integer representing length in pixels -->
<!ENTITY % IAlign "(top|middle|bottom|left|right)">
<!ELEMENT IMG - O EMPTY -- Embedded image -->
<!ATTLIST IMG
src %URL #REQUIRED -- URL of image to embed --
alt CDATA #IMPLIED -- for display in place of image --
align %IAlign #IMPLIED -- vertical or horizontal alignment --
height %Pixels #IMPLIED -- suggested height in pixels --
width %Pixels #IMPLIED -- suggested width in pixels --
border %Pixels #IMPLIED -- suggested link border width --
hspace %Pixels #IMPLIED -- suggested horizontal gutter --
vspace %Pixels #IMPLIED -- suggested vertical gutter --
usemap %URL #IMPLIED -- use client-side image map --
ismap (ismap) #IMPLIED -- use server image map --
>
<!ELEMENT APPLET - - (PARAM | %text)*>
<!ATTLIST APPLET
codebase %URL #IMPLIED -- code base --
code CDATA #REQUIRED -- class file --
alt CDATA #IMPLIED -- for display in place of applet --
name CDATA #IMPLIED -- applet name --
width %Pixels #REQUIRED -- suggested width in pixels --
height %Pixels #REQUIRED -- suggested height in pixels --
align %IAlign #IMPLIED -- vertical or horizontal alignment --
hspace %Pixels #IMPLIED -- suggested horizontal gutter --
vspace %Pixels #IMPLIED -- suggested vertical gutter --
>
<!ELEMENT PARAM - O EMPTY>
<!ATTLIST PARAM
name NMTOKEN #REQUIRED -- The name of the parameter --
value CDATA #IMPLIED -- The value of the parameter --
>
<!ELEMENT HR - O EMPTY>
<!ATTLIST HR
align (left|right|center) #IMPLIED
noshade (noshade) #IMPLIED
size %Pixels #IMPLIED
width %Length #IMPLIED
>
<!ELEMENT P - O (%text)*>
<!ATTLIST P
align (left|center|right) #IMPLIED
>
<!ELEMENT ( %heading ) - - (%text;)*>
<!ATTLIST ( %heading )
align (left|center|right) #IMPLIED
>
<!ENTITY % pre.exclusion "IMG|BIG|SMALL|SUB|SUP|FONT">
<!ELEMENT PRE - - (%text)* -(%pre.exclusion)>
<!ATTLIST PRE
width NUMBER #implied -- is this widely supported? --
>
<![ %HTML.Deprecated [
<!ENTITY % literal "CDATA"
-- historical, non-conforming parsing mode where
the only markup signal is the end tag
in full
-->
<!ELEMENT (XMP|LISTING) - - %literal>
<!ELEMENT PLAINTEXT - O %literal>
]]>
<!ELEMENT BLOCKQUOTE - - %body.content>
<!ELEMENT DL - - (DT|DD)+>
<!ATTLIST DL
compact (compact) #IMPLIED -- more compact style --
>
<!ELEMENT DT - O (%text)*>
<!ELEMENT DD - O %flow;>
<!ELEMENT (OL|UL) - - (LI)+>
<!ENTITY % OLStyle "CDATA" -- constrained to: [1|a|A|i|I] -->
<!ATTLIST OL -- ordered lists --
type %OLStyle #IMPLIED -- numbering style --
start NUMBER #IMPLIED -- starting sequence number --
compact (compact) #IMPLIED -- reduced interitem spacing --
>
<!ENTITY % ULStyle "disc|square|circle">
<!ATTLIST UL -- unordered lists --
type (%ULStyle) #IMPLIED -- bullet style --
compact (compact) #IMPLIED -- reduced interitem spacing --
>
<!ELEMENT (DIR|MENU) - - (LI)+ -(%block)>
<!ATTLIST DIR
compact (compact) #IMPLIED
>
<!ATTLIST MENU
compact (compact) #IMPLIED
>
<!ENTITY % LIStyle "CDATA" -- constrained to: "(%ULStyle|%OLStyle)" -->
<!ELEMENT LI - O %flow -- list item -->
<!ATTLIST LI
type %LIStyle #IMPLIED -- list item style --
value NUMBER #IMPLIED -- reset sequence number --
>
<!ELEMENT FORM - - %body.content -(FORM)>
<!ATTLIST FORM
action %URL #IMPLIED -- server-side form handler --
method (%HTTP-Method) GET -- see HTTP specification --
enctype %Content-Type; "application/x-www-form-urlencoded"
>
<!ENTITY % InputType
"(TEXT | PASSWORD | CHECKBOX | RADIO | SUBMIT
| RESET | FILE | HIDDEN | IMAGE)">
<!ELEMENT INPUT - O EMPTY>
<!ATTLIST INPUT
type %InputType TEXT -- what kind of widget is needed --
name CDATA #IMPLIED -- required for all but submit and reset --
value CDATA #IMPLIED -- required for radio and checkboxes --
checked (checked) #IMPLIED -- for radio buttons and check boxes --
size CDATA #IMPLIED -- specific to each type of field --
maxlength NUMBER #IMPLIED -- max chars allowed in text fields --
src %URL #IMPLIED -- for fields with background images --
align %IAlign #IMPLIED -- vertical or horizontal alignment --
>
<!ELEMENT SELECT - - (OPTION+)>
<!ATTLIST SELECT
name CDATA #REQUIRED
size NUMBER #IMPLIED
multiple (multiple) #IMPLIED
>
<!ELEMENT OPTION - O (#PCDATA)*>
<!ATTLIST OPTION
selected (selected) #IMPLIED
value CDATA #IMPLIED -- defaults to element content --
>
<!ELEMENT TEXTAREA - - (#PCDATA)*>
<!ATTLIST TEXTAREA
name CDATA #REQUIRED
rows NUMBER #REQUIRED
cols NUMBER #REQUIRED
>
<!ENTITY % Where "(left|center|right)">
<!ENTITY % cell.halign
"align (left|center|right) #IMPLIED"
>
<!ENTITY % cell.valign
"valign (top|middle|bottom) #IMPLIED"
>
<!ELEMENT table - - (caption?, tr+)>
<!ELEMENT tr - O (th|td)*>
<!ELEMENT (th|td) - O %body.content>
<!ATTLIST table -- table element --
align %Where; #IMPLIED -- table position relative to window --
width %Length #IMPLIED -- table width relative to window --
border %Pixels #IMPLIED -- controls frame width around table --
cellspacing %Pixels #IMPLIED -- spacing between cells --
cellpadding %Pixels #IMPLIED -- spacing within cells --
>
<!ELEMENT CAPTION - - (%text;)* -- table or figure caption -->
<!ATTLIST CAPTION
align (top|bottom) #IMPLIED
>
<!ATTLIST tr -- table row --
%cell.halign; -- horizontal alignment in cells --
%cell.valign; -- vertical alignment in cells --
>
<!ATTLIST (th|td) -- header or data cell --
nowrap (nowrap) #IMPLIED -- suppress word wrap --
rowspan NUMBER 1 -- number of rows spanned by cell --
colspan NUMBER 1 -- number of cols spanned by cell --
%cell.halign; -- horizontal alignment in cell --
%cell.valign; -- vertical alignment in cell --
width %Pixels #IMPLIED -- suggested width for cell --
height %Pixels #IMPLIED -- suggested height for cell --
>
<!ENTITY % head.content "TITLE & ISINDEX? & BASE?">
<!ELEMENT HEAD O O (%head.content) +(%head.misc)>
<!ELEMENT TITLE - - (#PCDATA)* -(%head.misc)
-- The TITLE element is not considered part of the flow of text.
It should be displayed, for example as the page header or
window title.
-->
<!ELEMENT ISINDEX - O EMPTY>
<!ATTLIST ISINDEX
prompt CDATA #IMPLIED -- prompt message -->
<!ELEMENT BASE - O EMPTY>
<!ATTLIST BASE
href %URL #REQUIRED
>
<!ELEMENT META - O EMPTY -- Generic Metainformation -->
<!ATTLIST META
http-equiv NAME #IMPLIED -- HTTP response header name --
name NAME #IMPLIED -- metainformation name --
content CDATA #REQUIRED -- associated information --
>
<!ELEMENT STYLE - - CDATA -- placeholder for style info -->
<!ELEMENT SCRIPT - - CDATA -- placeholder for script statements -->
<!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'">
<![ %HTML.Deprecated [
<!ENTITY % html.content "HEAD, BODY, PLAINTEXT?">
]]>
<!ENTITY % html.content "HEAD, BODY">
<!ELEMENT HTML O O (%html.content)>
<!ATTLIST HTML
%version.attr;
>