869 lines
34 KiB
DTD
869 lines
34 KiB
DTD
<!--
|
|
This is HTML 4.0 Strict DTD, which excludes the presentation
|
|
attributes and elements that W3C expects to phase out as
|
|
support for style sheets matures. Authors should use the Strict
|
|
DTD when possible, but may use the Transitional DTD when support
|
|
for presentation attribute and elements is required.
|
|
|
|
HTML 4.0 includes mechanisms for style sheets, scripting,
|
|
embedding objects, improved support for right to left and mixed
|
|
direction text, and enhancements to forms for improved
|
|
accessibility for people with disabilities.
|
|
|
|
Draft: $Date: 1999/11/04 08:36:15 $
|
|
|
|
Authors:
|
|
Dave Raggett <dsr@w3.org>
|
|
Arnaud Le Hors <lehors@w3.org>
|
|
Ian Jacobs <ij@w3.org>
|
|
|
|
Further information about HTML 4.0 is available at:
|
|
|
|
http://www.w3.org/TR/REC-html40
|
|
-->
|
|
<!--
|
|
Typical usage:
|
|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
|
|
"http://www.w3.org/TR/REC-html40/strict.dtd">
|
|
<html>
|
|
<head>
|
|
...
|
|
</head>
|
|
<body>
|
|
...
|
|
</body>
|
|
</html>
|
|
|
|
The URI used as a system identifier with the public identifier allows
|
|
the user agent to download the DTD and entity sets as needed.
|
|
|
|
The FPI for the Transitional HTML 4.0 DTD is:
|
|
|
|
"-//W3C//DTD HTML 4.0 Transitional//EN
|
|
|
|
and its URI is:
|
|
|
|
http://www.w3.org/TR/REC-html40/loose.dtd
|
|
|
|
If you are writing a document that includes frames, use
|
|
the following FPI:
|
|
|
|
"-//W3C//DTD HTML 4.0 Frameset//EN"
|
|
|
|
with the URI:
|
|
|
|
http://www.w3.org/TR/REC-html40/frameset.dtd
|
|
|
|
The following URIs are supported in relation to HTML 4.0
|
|
|
|
"http://www.w3.org/TR/REC-html40/strict.dtd" (Strict DTD)
|
|
"http://www.w3.org/TR/REC-html40/loose.dtd" (Loose DTD)
|
|
"http://www.w3.org/TR/REC-html40/frameset.dtd" (Frameset DTD)
|
|
"http://www.w3.org/TR/REC-html40/HTMLlat1.ent" (Latin-1 entities)
|
|
"http://www.w3.org/TR/REC-html40/HTMLsymbol.ent" (Symbol entities)
|
|
"http://www.w3.org/TR/REC-html40/HTMLspecial.ent" (Special entities)
|
|
|
|
These URIs point to the latest version of each file. To reference
|
|
this specific revision use the following URIs:
|
|
|
|
"http://www.w3.org/TR/REC-html40-971218/strict.dtd"
|
|
"http://www.w3.org/TR/REC-html40-971218/loose.dtd"
|
|
"http://www.w3.org/TR/REC-html40-971218/frameset.dtd"
|
|
"http://www.w3.org/TR/REC-html40-971218/HTMLlat1.ent"
|
|
"http://www.w3.org/TR/REC-html40-971218/HTMLsymbol.ent"
|
|
"http://www.w3.org/TR/REC-html40-971218/HTMLspecial.ent"
|
|
|
|
-->
|
|
|
|
<!--================== Imported Names ====================================-->
|
|
|
|
<!ENTITY % ContentType "CDATA"
|
|
-- media type, as per [RFC2045]
|
|
-->
|
|
|
|
<!ENTITY % ContentTypes "CDATA"
|
|
-- comma-separated list of media types, as per [RFC2045]
|
|
-->
|
|
|
|
<!ENTITY % Charset "CDATA"
|
|
-- a character encoding, as per [RFC2045]
|
|
-->
|
|
|
|
<!ENTITY % Charsets "CDATA"
|
|
-- a space separated list of character encodings, as per [RFC2045]
|
|
-->
|
|
|
|
<!ENTITY % LanguageCode "NAME"
|
|
-- a language code, as per [RFC1766]
|
|
-->
|
|
|
|
<!ENTITY % Character "CDATA"
|
|
-- a single character from [ISO10646]
|
|
-->
|
|
|
|
<!ENTITY % LinkTypes "CDATA"
|
|
-- space-separated list of link types
|
|
-->
|
|
|
|
<!ENTITY % MediaDesc "CDATA"
|
|
-- single or comma-separated list of media descriptors
|
|
-->
|
|
|
|
<!ENTITY % URI "CDATA"
|
|
-- a Uniform Resource Identifier,
|
|
see [URI]
|
|
-->
|
|
|
|
<!ENTITY % Datetime "CDATA" -- date and time information. ISO date format -->
|
|
|
|
|
|
<!ENTITY % Script "CDATA" -- script expression -->
|
|
|
|
<!ENTITY % StyleSheet "CDATA" -- style sheet data -->
|
|
|
|
|
|
|
|
<!ENTITY % Text "CDATA">
|
|
|
|
|
|
<!-- Parameter Entities -->
|
|
|
|
<!ENTITY % head.misc "SCRIPT|STYLE|META|LINK|OBJECT" -- repeatable head elements -->
|
|
|
|
<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
|
|
|
|
<!ENTITY % list "UL | OL">
|
|
|
|
<!ENTITY % preformatted "PRE">
|
|
|
|
|
|
<!--================ Character mnemonic entities =========================-->
|
|
|
|
<!ENTITY % HTMLlat1 PUBLIC
|
|
"-//W3C//ENTITIES Latin1//EN//HTML"
|
|
"http://www.w3.org/TR/REC-html40-971218/HTMLlat1.ent">
|
|
%HTMLlat1;
|
|
|
|
<!ENTITY % HTMLsymbol PUBLIC
|
|
"-//W3C//ENTITIES Symbols//EN//HTML"
|
|
"http://www.w3.org/TR/REC-html40-971218/HTMLsymbol.ent">
|
|
%HTMLsymbol;
|
|
|
|
<!ENTITY % HTMLspecial PUBLIC
|
|
"-//W3C//ENTITIES Special//EN//HTML"
|
|
"http://www.w3.org/TR/REC-html40-971218/HTMLspecial.ent">
|
|
%HTMLspecial;
|
|
<!--=================== Generic Attributes ===============================-->
|
|
|
|
<!ENTITY % coreattrs
|
|
"id ID #IMPLIED -- document-wide unique id --
|
|
class CDATA #IMPLIED -- space separated list of classes --
|
|
style %StyleSheet; #IMPLIED -- associated style info --
|
|
title %Text; #IMPLIED -- advisory title/amplification --"
|
|
>
|
|
|
|
<!ENTITY % i18n
|
|
"lang %LanguageCode; #IMPLIED -- language code --
|
|
dir (ltr|rtl) #IMPLIED -- direction for weak/neutral text --"
|
|
>
|
|
|
|
<!ENTITY % events
|
|
"onclick %Script; #IMPLIED -- a pointer button was clicked --
|
|
ondblclick %Script; #IMPLIED -- a pointer button was double clicked--
|
|
onmousedown %Script; #IMPLIED -- a pointer button was pressed down --
|
|
onmouseup %Script; #IMPLIED -- a pointer button was released --
|
|
onmouseover %Script; #IMPLIED -- a pointer was moved onto --
|
|
onmousemove %Script; #IMPLIED -- a pointer was moved within --
|
|
onmouseout %Script; #IMPLIED -- a pointer was moved away --
|
|
onkeypress %Script; #IMPLIED -- a key was pressed and released --
|
|
onkeydown %Script; #IMPLIED -- a key was pressed down --
|
|
onkeyup %Script; #IMPLIED -- a key was released --"
|
|
>
|
|
|
|
<!-- Reserved Feature Switch -->
|
|
<!ENTITY % HTML.Reserved "IGNORE">
|
|
|
|
<!-- The following attributes are reserved for possible future use -->
|
|
<![ %HTML.Reserved; [
|
|
<!ENTITY % reserved
|
|
"datasrc %URI; #IMPLIED -- a single or tabular Data Source --
|
|
datafld CDATA #IMPLIED -- the property or column name --
|
|
dataformatas (plaintext|html) plaintext -- text or html --"
|
|
>
|
|
]]>
|
|
|
|
<!ENTITY % reserved "">
|
|
|
|
<!ENTITY % attrs "%coreattrs; %i18n; %events;">
|
|
|
|
|
|
<!--=================== Text Markup ======================================-->
|
|
|
|
<!ENTITY % fontstyle
|
|
"TT | I | B | BIG | SMALL">
|
|
|
|
<!ENTITY % phrase "EM | STRONG | DFN | CODE |
|
|
SAMP | KBD | VAR | CITE | ABBR | ACRONYM" >
|
|
|
|
<!ENTITY % special
|
|
"A | IMG | OBJECT | BR | SCRIPT | MAP | Q | SUB | SUP | SPAN | BDO">
|
|
|
|
<!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON">
|
|
|
|
<!-- %inline; covers inline or "text-level" elements -->
|
|
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
|
|
|
|
<!ELEMENT (%fontstyle;|%phrase;) - - (%inline;)*>
|
|
<!ATTLIST (%fontstyle;|%phrase;)
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
>
|
|
|
|
<!ELEMENT (SUB|SUP) - - (%inline;)* -- subscript, superscript -->
|
|
<!ATTLIST (SUB|SUP)
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
>
|
|
|
|
<!ELEMENT SPAN - - (%inline;)* -- generic language/style container -->
|
|
<!ATTLIST SPAN
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
%reserved; -- reserved for possible future use --
|
|
>
|
|
|
|
<!ELEMENT BDO - - (%inline;)* -- I18N BiDi over-ride -->
|
|
<!ATTLIST BDO
|
|
%coreattrs; -- id, class, style, title --
|
|
lang %LanguageCode; #IMPLIED -- language code --
|
|
dir (ltr|rtl) #REQUIRED -- directionality --
|
|
>
|
|
|
|
|
|
<!ELEMENT BR - O EMPTY -- forced line break -->
|
|
<!ATTLIST BR
|
|
%coreattrs; -- id, class, style, title --
|
|
>
|
|
|
|
<!--================== HTML content models ===============================-->
|
|
|
|
<!--
|
|
HTML has two basic content models:
|
|
|
|
%inline; character level elements and text strings
|
|
%block; block-like elements e.g. paragraphs and lists
|
|
-->
|
|
|
|
<!ENTITY % block
|
|
"P | %heading; | %list; | %preformatted; | DL | DIV | NOSCRIPT |
|
|
BLOCKQUOTE | FORM | HR | TABLE | FIELDSET | ADDRESS">
|
|
|
|
<!ENTITY % flow "%block; | %inline;">
|
|
|
|
<!--=================== Document Body ====================================-->
|
|
|
|
<!ELEMENT BODY O O (%block;|SCRIPT)+ +(INS|DEL) -- document body -->
|
|
<!ATTLIST BODY
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
onload %Script; #IMPLIED -- the document has been loaded --
|
|
onunload %Script; #IMPLIED -- the document has been removed --
|
|
>
|
|
|
|
<!ELEMENT ADDRESS - - (%inline;)* -- information on author -->
|
|
<!ATTLIST ADDRESS
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
>
|
|
|
|
<!ELEMENT DIV - - (%flow;)* -- generic language/style container -->
|
|
<!ATTLIST DIV
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
%reserved; -- reserved for possible future use --
|
|
>
|
|
|
|
|
|
<!--================== The Anchor Element ================================-->
|
|
|
|
<!ENTITY % Shape "(rect|circle|poly|default)">
|
|
<!ENTITY % Coords "CDATA" -- comma separated list of lengths -->
|
|
|
|
<!ELEMENT A - - (%inline;)* -(A) -- anchor -->
|
|
<!ATTLIST A
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
charset %Charset; #IMPLIED -- char encoding of linked resource --
|
|
type %ContentType; #IMPLIED -- advisory content type --
|
|
name CDATA #IMPLIED -- named link end --
|
|
href %URI; #IMPLIED -- URI for linked resource --
|
|
hreflang %LanguageCode; #IMPLIED -- language code --
|
|
rel %LinkTypes; #IMPLIED -- forward link types --
|
|
rev %LinkTypes; #IMPLIED -- reverse link types --
|
|
accesskey %Character; #IMPLIED -- accessibility key character --
|
|
shape %Shape; rect -- for use with client-side image maps --
|
|
coords %Coords; #IMPLIED -- for use with client-side image maps --
|
|
tabindex NUMBER #IMPLIED -- position in tabbing order --
|
|
onfocus %Script; #IMPLIED -- the element got the focus --
|
|
onblur %Script; #IMPLIED -- the element lost the focus --
|
|
>
|
|
|
|
<!--================== Client-side image maps ============================-->
|
|
|
|
<!-- These can be placed in the same document or grouped in a
|
|
separate document although this isn't yet widely supported -->
|
|
|
|
<!ELEMENT MAP - - ((%block;)+ | AREA+) -- client-side image map -->
|
|
<!ATTLIST MAP
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
name CDATA #REQUIRED -- for reference by usemap --
|
|
>
|
|
|
|
<!ELEMENT AREA - O EMPTY -- client-side image map area -->
|
|
<!ATTLIST AREA
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
shape %Shape; rect -- controls interpretation of coords --
|
|
coords %Coords; #IMPLIED -- comma separated list of lengths --
|
|
href %URI; #IMPLIED -- URI for linked resource --
|
|
nohref (nohref) #IMPLIED -- this region has no action --
|
|
alt %Text; #REQUIRED -- short description --
|
|
tabindex NUMBER #IMPLIED -- position in tabbing order --
|
|
accesskey %Character; #IMPLIED -- accessibility key character --
|
|
onfocus %Script; #IMPLIED -- the element got the focus --
|
|
onblur %Script; #IMPLIED -- the element lost the focus --
|
|
>
|
|
|
|
<!--================== The LINK Element ==================================-->
|
|
|
|
<!--
|
|
Relationship values can be used in principle:
|
|
|
|
a) for document specific toolbars/menus when used
|
|
with the LINK element in document head e.g.
|
|
start, contents, previous, next, index, end, help
|
|
b) to link to a separate style sheet (rel=stylesheet)
|
|
c) to make a link to a script (rel=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 (rel=alternate media=print)
|
|
-->
|
|
|
|
<!ELEMENT LINK - O EMPTY -- a media-independent link -->
|
|
<!ATTLIST LINK
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
charset %Charset; #IMPLIED -- char encoding of linked resource --
|
|
href %URI; #IMPLIED -- URI for linked resource --
|
|
hreflang %LanguageCode; #IMPLIED -- language code --
|
|
type %ContentType; #IMPLIED -- advisory content type --
|
|
rel %LinkTypes; #IMPLIED -- forward link types --
|
|
rev %LinkTypes; #IMPLIED -- reverse link types --
|
|
media %MediaDesc; #IMPLIED -- for rendering on these media --
|
|
>
|
|
|
|
<!--=================== Images ===========================================-->
|
|
|
|
<!-- Length defined in strict DTD for cellpadding/cellspacing -->
|
|
<!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length -->
|
|
<!ENTITY % MultiLength "CDATA" -- pixel, percentage, or relative -->
|
|
|
|
<!ENTITY % MultiLengths "CDATA" -- comma-separated list of MultiLength -->
|
|
|
|
<!ENTITY % Pixels "CDATA" -- integer representing length in pixels -->
|
|
|
|
|
|
<!-- To avoid problems with text-only UAs as well as
|
|
to make image content understandable and navigable
|
|
to users of non-visual UAs, you need to provide
|
|
a description with ALT, and avoid server-side image maps -->
|
|
<!ELEMENT IMG - O EMPTY -- Embedded image -->
|
|
<!ATTLIST IMG
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
src %URI; #REQUIRED -- URI of image to embed --
|
|
alt %Text; #REQUIRED -- short description --
|
|
longdesc %URI; #IMPLIED -- link to long description
|
|
(complements alt) --
|
|
height %Length; #IMPLIED -- override height --
|
|
width %Length; #IMPLIED -- override width --
|
|
usemap %URI; #IMPLIED -- use client-side image map --
|
|
ismap (ismap) #IMPLIED -- use server-side image map --
|
|
>
|
|
|
|
<!-- USEMAP points to a MAP element which may be in this document
|
|
or an external document, although the latter is not widely supported -->
|
|
|
|
<!--==================== OBJECT ======================================-->
|
|
<!--
|
|
OBJECT is used to embed objects as part of HTML pages
|
|
PARAM elements should precede other content. SGML mixed content
|
|
model technicality precludes specifying this formally ...
|
|
-->
|
|
|
|
<!ELEMENT OBJECT - - (PARAM | %flow;)*
|
|
-- generic embedded object -->
|
|
<!ATTLIST OBJECT
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
declare (declare) #IMPLIED -- declare but don't instantiate flag --
|
|
classid %URI; #IMPLIED -- identifies an implementation --
|
|
codebase %URI; #IMPLIED -- base URI for classid, data, archive--
|
|
data %URI; #IMPLIED -- reference to object's data --
|
|
type %ContentType; #IMPLIED -- content type for data --
|
|
codetype %ContentType; #IMPLIED -- content type for code --
|
|
archive %URI; #IMPLIED -- space separated archive list --
|
|
standby %Text; #IMPLIED -- message to show while loading --
|
|
height %Length; #IMPLIED -- override height --
|
|
width %Length; #IMPLIED -- override width --
|
|
usemap %URI; #IMPLIED -- use client-side image map --
|
|
name CDATA #IMPLIED -- submit as part of form --
|
|
tabindex NUMBER #IMPLIED -- position in tabbing order --
|
|
%reserved; -- reserved for possible future use --
|
|
>
|
|
|
|
<!ELEMENT PARAM - O EMPTY -- named property value -->
|
|
<!ATTLIST PARAM
|
|
id ID #IMPLIED -- document-wide unique id --
|
|
name CDATA #REQUIRED -- property name --
|
|
value CDATA #IMPLIED -- property value --
|
|
valuetype (DATA|REF|OBJECT) DATA -- How to interpret value --
|
|
type %ContentType; #IMPLIED -- content type for value
|
|
when valuetype=ref --
|
|
>
|
|
|
|
|
|
<!--=================== Horizontal Rule ==================================-->
|
|
|
|
<!ELEMENT HR - O EMPTY -- horizontal rule -->
|
|
<!ATTLIST HR
|
|
%coreattrs; -- id, class, style, title --
|
|
%events;
|
|
>
|
|
|
|
<!--=================== Paragraphs =======================================-->
|
|
|
|
<!ELEMENT P - O (%inline;)* -- paragraph -->
|
|
<!ATTLIST P
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
>
|
|
|
|
<!--=================== Headings =========================================-->
|
|
|
|
<!--
|
|
There are six levels of headings from H1 (the most important)
|
|
to H6 (the least important).
|
|
-->
|
|
|
|
<!ELEMENT (%heading;) - - (%inline;)* -- heading -->
|
|
<!ATTLIST (%heading;)
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
>
|
|
|
|
<!--=================== Preformatted Text ================================-->
|
|
|
|
<!-- excludes markup for images and changes in font size -->
|
|
<!ENTITY % pre.exclusion "IMG|OBJECT|BIG|SMALL|SUB|SUP">
|
|
|
|
<!ELEMENT PRE - - (%inline;)* -(%pre.exclusion;) -- preformatted text -->
|
|
<!ATTLIST PRE
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
>
|
|
|
|
<!--===================== Inline Quotes ==================================-->
|
|
|
|
<!ELEMENT Q - - (%inline;)* -- short inline quotation -->
|
|
<!ATTLIST Q
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
cite %URI; #IMPLIED -- URI for source document or msg --
|
|
>
|
|
|
|
<!--=================== Block-like Quotes ================================-->
|
|
|
|
<!ELEMENT BLOCKQUOTE - - (%block;|SCRIPT)+ -- long quotation -->
|
|
<!ATTLIST BLOCKQUOTE
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
cite %URI; #IMPLIED -- URI for source document or msg --
|
|
>
|
|
|
|
<!--=================== Inserted/Deleted Text ============================-->
|
|
|
|
|
|
<!-- INS/DEL are handled by inclusion on BODY -->
|
|
<!ELEMENT (INS|DEL) - - (%flow;)* -- inserted text, deleted text -->
|
|
<!ATTLIST (INS|DEL)
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
cite %URI; #IMPLIED -- info on reason for change --
|
|
datetime %Datetime; #IMPLIED -- date and time of change --
|
|
>
|
|
|
|
<!--=================== Lists ============================================-->
|
|
|
|
<!-- definition lists - DT for term, DD for its definition -->
|
|
|
|
<!ELEMENT DL - - (DT|DD)+ -- definition list -->
|
|
<!ATTLIST DL
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
>
|
|
|
|
<!ELEMENT DT - O (%inline;)* -- definition term -->
|
|
<!ELEMENT DD - O (%flow;)* -- definition description -->
|
|
<!ATTLIST (DT|DD)
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
>
|
|
|
|
|
|
<!ELEMENT OL - - (LI)+ -- ordered list -->
|
|
<!ATTLIST OL
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
>
|
|
|
|
<!-- Unordered Lists (UL) bullet styles -->
|
|
<!ELEMENT UL - - (LI)+ -- unordered list -->
|
|
<!ATTLIST UL
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
>
|
|
|
|
|
|
|
|
<!ELEMENT LI - O (%flow;)* -- list item -->
|
|
<!ATTLIST LI
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
>
|
|
|
|
<!--================ Forms ===============================================-->
|
|
<!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM) -- interactive form -->
|
|
<!ATTLIST FORM
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
action %URI; #REQUIRED -- server-side form handler --
|
|
method (GET|POST) GET -- HTTP method used to submit the form--
|
|
enctype %ContentType; "application/x-www-form-urlencoded"
|
|
onsubmit %Script; #IMPLIED -- the form was submitted --
|
|
onreset %Script; #IMPLIED -- the form was reset --
|
|
accept-charset %Charsets; #IMPLIED -- list of supported charsets --
|
|
>
|
|
|
|
<!-- Each label must not contain more than ONE field -->
|
|
<!ELEMENT LABEL - - (%inline;)* -(LABEL) -- form field label text -->
|
|
<!ATTLIST LABEL
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
for IDREF #IMPLIED -- matches field ID value --
|
|
accesskey %Character; #IMPLIED -- accessibility key character --
|
|
onfocus %Script; #IMPLIED -- the element got the focus --
|
|
onblur %Script; #IMPLIED -- the element lost the focus --
|
|
>
|
|
|
|
<!ENTITY % InputType
|
|
"(TEXT | PASSWORD | CHECKBOX |
|
|
RADIO | SUBMIT | RESET |
|
|
FILE | HIDDEN | IMAGE | BUTTON)"
|
|
>
|
|
|
|
<!-- attribute name required for all but submit & reset -->
|
|
<!ELEMENT INPUT - O EMPTY -- form control -->
|
|
<!ATTLIST INPUT
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
type %InputType; TEXT -- what kind of widget is needed --
|
|
name CDATA #IMPLIED -- submit as part of form --
|
|
value CDATA #IMPLIED -- required for radio and checkboxes --
|
|
checked (checked) #IMPLIED -- for radio buttons and check boxes --
|
|
disabled (disabled) #IMPLIED -- unavailable in this context --
|
|
readonly (readonly) #IMPLIED -- for text and passwd --
|
|
size CDATA #IMPLIED -- specific to each type of field --
|
|
maxlength NUMBER #IMPLIED -- max chars for text fields --
|
|
src %URI; #IMPLIED -- for fields with images --
|
|
alt CDATA #IMPLIED -- short description --
|
|
usemap %URI; #IMPLIED -- use client-side image map --
|
|
tabindex NUMBER #IMPLIED -- position in tabbing order --
|
|
accesskey %Character; #IMPLIED -- accessibility key character --
|
|
onfocus %Script; #IMPLIED -- the element got the focus --
|
|
onblur %Script; #IMPLIED -- the element lost the focus --
|
|
onselect %Script; #IMPLIED -- some text was selected --
|
|
onchange %Script; #IMPLIED -- the element value was changed --
|
|
accept %ContentTypes; #IMPLIED -- list of MIME types for file upload --
|
|
%reserved; -- reserved for possible future use --
|
|
>
|
|
|
|
<!ELEMENT SELECT - - (OPTGROUP|OPTION)+ -- option selector -->
|
|
<!ATTLIST SELECT
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
name CDATA #IMPLIED -- field name --
|
|
size NUMBER #IMPLIED -- rows visible --
|
|
multiple (multiple) #IMPLIED -- default is single selection --
|
|
disabled (disabled) #IMPLIED -- unavailable in this context --
|
|
tabindex NUMBER #IMPLIED -- position in tabbing order --
|
|
onfocus %Script; #IMPLIED -- the element got the focus --
|
|
onblur %Script; #IMPLIED -- the element lost the focus --
|
|
onchange %Script; #IMPLIED -- the element value was changed --
|
|
%reserved; -- reserved for possible future use --
|
|
>
|
|
|
|
<!ELEMENT OPTGROUP - - (OPTION)+ -- option group -->
|
|
<!ATTLIST OPTGROUP
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
disabled (disabled) #IMPLIED -- unavailable in this context --
|
|
label %Text; #REQUIRED -- for use in hierarchical menus --
|
|
>
|
|
|
|
<!ELEMENT OPTION - O (#PCDATA) -- selectable choice -->
|
|
<!ATTLIST OPTION
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
selected (selected) #IMPLIED
|
|
disabled (disabled) #IMPLIED -- unavailable in this context --
|
|
label %Text; #IMPLIED -- for use in hierarchical menus --
|
|
value CDATA #IMPLIED -- defaults to element content --
|
|
>
|
|
|
|
<!ELEMENT TEXTAREA - - (#PCDATA) -- multi-line text field -->
|
|
<!ATTLIST TEXTAREA
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
name CDATA #IMPLIED
|
|
rows NUMBER #REQUIRED
|
|
cols NUMBER #REQUIRED
|
|
disabled (disabled) #IMPLIED -- unavailable in this context --
|
|
readonly (readonly) #IMPLIED
|
|
tabindex NUMBER #IMPLIED -- position in tabbing order --
|
|
accesskey %Character; #IMPLIED -- accessibility key character --
|
|
onfocus %Script; #IMPLIED -- the element got the focus --
|
|
onblur %Script; #IMPLIED -- the element lost the focus --
|
|
onselect %Script; #IMPLIED -- some text was selected --
|
|
onchange %Script; #IMPLIED -- the element value was changed --
|
|
%reserved; -- reserved for possible future use --
|
|
>
|
|
|
|
<!--
|
|
#PCDATA is to solve the mixed content problem,
|
|
per specification only whitespace is allowed there!
|
|
-->
|
|
<!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- form control group -->
|
|
<!ATTLIST FIELDSET
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
>
|
|
|
|
<!ELEMENT LEGEND - - (%inline;)* -- fieldset legend -->
|
|
<!ENTITY % LAlign "(top|bottom|left|right)">
|
|
|
|
<!ATTLIST LEGEND
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
accesskey %Character; #IMPLIED -- accessibility key character --
|
|
>
|
|
|
|
<!ELEMENT BUTTON - -
|
|
(%flow;)* -(A|%formctrl;|FORM|FIELDSET)
|
|
-- push button -->
|
|
<!ATTLIST BUTTON
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
name CDATA #IMPLIED
|
|
value CDATA #IMPLIED -- sent to server when submitted --
|
|
type (button|submit|reset) submit -- for use as form button --
|
|
disabled (disabled) #IMPLIED -- unavailable in this context --
|
|
tabindex NUMBER #IMPLIED -- position in tabbing order --
|
|
accesskey %Character; #IMPLIED -- accessibility key character --
|
|
onfocus %Script; #IMPLIED -- the element got the focus --
|
|
onblur %Script; #IMPLIED -- the element lost the focus --
|
|
%reserved; -- reserved for possible future use --
|
|
>
|
|
|
|
<!--======================= Tables =======================================-->
|
|
|
|
<!-- IETF HTML table standard, see [RFC1942] -->
|
|
|
|
<!--
|
|
The BORDER attribute sets the thickness of the frame around the
|
|
table. The default units are screen pixels.
|
|
|
|
The FRAME attribute specifies which parts of the frame around
|
|
the table should be rendered. The values are not the same as
|
|
CALS to avoid a name clash with the VALIGN attribute.
|
|
|
|
The value "border" is included for backwards compatibility with
|
|
<TABLE BORDER> which yields frame=border and border=implied
|
|
For <TABLE BORDER=1> you get border=1 and frame=implied. In this
|
|
case, it is appropriate to treat this as frame=border for backwards
|
|
compatibility with deployed browsers.
|
|
-->
|
|
<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)">
|
|
|
|
<!--
|
|
The RULES attribute defines which rules to draw between cells:
|
|
|
|
If RULES is absent then assume:
|
|
"none" if BORDER is absent or BORDER=0 otherwise "all"
|
|
-->
|
|
|
|
<!ENTITY % TRules "(none | groups | rows | cols | all)">
|
|
|
|
<!-- horizontal placement of table relative to document -->
|
|
<!ENTITY % TAlign "(left|center|right)">
|
|
|
|
<!-- horizontal alignment attributes for cell contents -->
|
|
<!ENTITY % cellhalign
|
|
"align (left|center|right|justify|char) #IMPLIED
|
|
char %Character; #IMPLIED -- alignment char, e.g. char=':' --
|
|
charoff %Length; #IMPLIED -- offset for alignment char --"
|
|
>
|
|
|
|
<!-- vertical alignment attributes for cell contents -->
|
|
<!ENTITY % cellvalign
|
|
"valign (top|middle|bottom|baseline) #IMPLIED"
|
|
>
|
|
|
|
<!ELEMENT TABLE - -
|
|
(CAPTION?, (COL*|COLGROUP*), THEAD?, TFOOT?, TBODY+)>
|
|
<!ELEMENT CAPTION - - (%inline;)* -- table caption -->
|
|
<!ELEMENT THEAD - O (TR)+ -- table header -->
|
|
<!ELEMENT TFOOT - O (TR)+ -- table footer -->
|
|
<!ELEMENT TBODY O O (TR)+ -- table body -->
|
|
<!ELEMENT COLGROUP - O (col)* -- table column group -->
|
|
<!ELEMENT COL - O EMPTY -- table column -->
|
|
<!ELEMENT TR - O (TH|TD)+ -- table row -->
|
|
<!ELEMENT (TH|TD) - O (%flow;)* -- table header cell, table data cell-->
|
|
|
|
<!ATTLIST TABLE -- table element --
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
summary %Text; #IMPLIED -- purpose/structure for speech output--
|
|
width %Length; #IMPLIED -- table width --
|
|
border %Pixels; #IMPLIED -- controls frame width around table --
|
|
frame %TFrame; #IMPLIED -- which parts of frame to render --
|
|
rules %TRules; #IMPLIED -- rulings between rows and cols --
|
|
cellspacing %Length; #IMPLIED -- spacing between cells --
|
|
cellpadding %Length; #IMPLIED -- spacing within cells --
|
|
%reserved; -- reserved for possible future use --
|
|
datapagesize CDATA #IMPLIED -- reserved for possible future use --
|
|
>
|
|
|
|
<!ENTITY % CAlign "(top|bottom|left|right)">
|
|
|
|
<!ATTLIST CAPTION
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
>
|
|
|
|
<!--
|
|
COLGROUP groups a set of COL elements. It allows you to group
|
|
several semantically related columns together.
|
|
-->
|
|
<!ATTLIST COLGROUP
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
span NUMBER 1 -- default number of columns in group --
|
|
width %MultiLength; #IMPLIED -- default width for enclosed COLs --
|
|
%cellhalign; -- horizontal alignment in cells --
|
|
%cellvalign; -- vertical alignment in cells --
|
|
>
|
|
|
|
<!--
|
|
COL elements define the alignment properties for cells in
|
|
one or more columns.
|
|
|
|
The WIDTH attribute specifies the width of the columns, e.g.
|
|
|
|
width=64 width in screen pixels
|
|
width=0.5* relative width of 0.5
|
|
|
|
The SPAN attribute causes the attributes of one
|
|
COL element to apply to more than one column.
|
|
-->
|
|
<!ATTLIST COL -- column groups and properties --
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
span NUMBER 1 -- COL attributes affect N columns --
|
|
width %MultiLength; #IMPLIED -- column width specification --
|
|
%cellhalign; -- horizontal alignment in cells --
|
|
%cellvalign; -- vertical alignment in cells --
|
|
>
|
|
|
|
<!--
|
|
Use THEAD to duplicate headers when breaking table
|
|
across page boundaries, or for static headers when
|
|
TBODY sections are rendered in scrolling panel.
|
|
|
|
Use TFOOT to duplicate footers when breaking table
|
|
across page boundaries, or for static footers when
|
|
TBODY sections are rendered in scrolling panel.
|
|
|
|
Use multiple TBODY sections when rules are needed
|
|
between groups of table rows.
|
|
-->
|
|
<!ATTLIST (THEAD|TBODY|TFOOT) -- table section --
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
%cellhalign; -- horizontal alignment in cells --
|
|
%cellvalign; -- vertical alignment in cells --
|
|
>
|
|
|
|
<!ATTLIST TR -- table row --
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
%cellhalign; -- horizontal alignment in cells --
|
|
%cellvalign; -- vertical alignment in cells --
|
|
>
|
|
|
|
|
|
<!-- Scope is simpler than axes attribute for common tables -->
|
|
<!ENTITY % Scope "(row|col|rowgroup|colgroup)">
|
|
|
|
<!-- TH is for headers, TD for data, but for cells acting as both use TD -->
|
|
<!ATTLIST (TH|TD) -- header or data cell --
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
abbr %Text; #IMPLIED -- abbreviation for header cell --
|
|
axis CDATA #IMPLIED -- names groups of related headers--
|
|
headers IDREFS #IMPLIED -- list of id's for header cells --
|
|
scope %Scope; #IMPLIED -- scope covered by header cells --
|
|
rowspan NUMBER 1 -- number of rows spanned by cell --
|
|
colspan NUMBER 1 -- number of cols spanned by cell --
|
|
%cellhalign; -- horizontal alignment in cells --
|
|
%cellvalign; -- vertical alignment in cells --
|
|
>
|
|
|
|
|
|
<!--================ Document Head =======================================-->
|
|
<!-- %head.misc; defined earlier on as "SCRIPT|STYLE|META|LINK|OBJECT" -->
|
|
<!ENTITY % head.content "TITLE & BASE?">
|
|
|
|
<!ELEMENT HEAD O O (%head.content;) +(%head.misc;) -- document head -->
|
|
<!ATTLIST HEAD
|
|
%i18n; -- lang, dir --
|
|
profile %URI; #IMPLIED -- named dictionary of meta info --
|
|
>
|
|
|
|
<!-- 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. Exactly one title is required per document.
|
|
-->
|
|
<!ELEMENT TITLE - - (#PCDATA) -(%head.misc;) -- document title -->
|
|
<!ATTLIST TITLE %i18n>
|
|
|
|
|
|
<!ELEMENT BASE - O EMPTY -- document base URI -->
|
|
<!ATTLIST BASE
|
|
href %URI; #REQUIRED -- URI that acts as base URI --
|
|
>
|
|
|
|
<!ELEMENT META - O EMPTY -- generic metainformation -->
|
|
<!ATTLIST META
|
|
%i18n; -- lang, dir, for use with content --
|
|
http-equiv NAME #IMPLIED -- HTTP response header name --
|
|
name NAME #IMPLIED -- metainformation name --
|
|
content CDATA #REQUIRED -- associated information --
|
|
scheme CDATA #IMPLIED -- select form of content --
|
|
>
|
|
|
|
<!ELEMENT STYLE - - %StyleSheet -- style info -->
|
|
<!ATTLIST STYLE
|
|
%i18n; -- lang, dir, for use with title --
|
|
type %ContentType; #REQUIRED -- content type of style language --
|
|
media %MediaDesc; #IMPLIED -- designed for use with these media --
|
|
title %Text; #IMPLIED -- advisory title --
|
|
>
|
|
|
|
<!ELEMENT SCRIPT - - %Script; -- script statements -->
|
|
<!ATTLIST SCRIPT
|
|
charset %Charset; #IMPLIED -- char encoding of linked resource --
|
|
type %ContentType; #REQUIRED -- content type of script language --
|
|
language CDATA #IMPLIED -- predefined script language name --
|
|
src %URI; #IMPLIED -- URI for an external script --
|
|
defer (defer) #IMPLIED -- UA may defer execution of script --
|
|
event CDATA #IMPLIED -- reserved for possible future use --
|
|
for %URI; #IMPLIED -- reserved for possible future use --
|
|
>
|
|
|
|
<!ELEMENT NOSCRIPT - - (%block;)+
|
|
-- alternate content container for non script-based rendering -->
|
|
<!ATTLIST NOSCRIPT
|
|
%attrs; -- %coreattrs, %i18n, %events --
|
|
>
|
|
|
|
<!--================ Document Structure ==================================-->
|
|
<!ENTITY % html.content "HEAD, BODY">
|
|
|
|
<!ELEMENT HTML O O (%html.content;) -- document root element -->
|
|
<!ATTLIST HTML
|
|
%i18n; -- lang, dir --
|
|
>
|