| <!-- |
| W3C Document Type Definition for the HyperText Markup Language |
| version 3.2 as ratified by a vote of W3C member companies. |
| For more information on W3C look at URL http://www.w3.org/ |
| |
| Date: Tuesday January 14th 1997 |
| |
| Author: Dave Raggett <dsr@w3.org> |
| |
| HTML 3.2 aims to capture recommended practice as of early '96 |
| and as such to be used as a replacement for HTML 2.0 (RFC 1866). |
| Widely deployed rendering attributes are included where they |
| have been shown to be interoperable. SCRIPT and STYLE are |
| included to smooth the introduction of client-side scripts |
| and style sheets. Browsers must avoid showing the contents |
| of these element Otherwise support for them is not required. |
| ID, CLASS and STYLE attributes are not included in this version |
| of HTML. |
| --> |
| |
| <!ENTITY % HTML.Version |
| "-//W3C//DTD HTML 3.2 Final//EN" |
| |
| -- Typical usage: |
| |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
| <html> |
| ... |
| </html> |
| -- |
| > |
| |
| <!--================== Deprecated Features Switch =========================--> |
| |
| <!ENTITY % HTML.Deprecated "INCLUDE"> |
| |
| <!--================== Imported Names =====================================--> |
| |
| <!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). |
| --> |
| |
| <!-- Parameter Entities --> |
| |
| <!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"> |
| |
| <!--================ Character mnemonic entities ==========================--> |
| |
| <!ENTITY % ISOlat1 PUBLIC |
| "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML"> |
| %ISOlat1; |
| |
| <!--================ Entities for special symbols =========================--> |
| <!-- &trade and &cbsp are not widely deployed and so not included here --> |
| |
| <!ENTITY amp CDATA "&" -- ampersand --> |
| <!ENTITY gt CDATA ">" -- greater than --> |
| <!ENTITY lt CDATA "<" -- less than --> |
| |
| <!--=================== Text Markup =======================================--> |
| |
| <!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)*> |
| |
| <!-- there are also 16 widely known color names although |
| the resulting colors are implementation dependent: |
| |
| aqua, black, blue, fuchsia, gray, green, lime, maroon, |
| navy, olive, purple, red, silver, teal, white, and yellow |
| |
| These colors were originally picked as being the standard |
| 16 colors supported with the Windows VGA palette. |
| --> |
| |
| <!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 -- |
| > |
| |
| <!--================== HTML content models ================================--> |
| <!-- |
| HTML has three basic content models: |
| |
| %text character level elements and text strings |
| %flow block-like elements e.g. paragraphs and lists |
| %bodytext as %flow plus headers H1-H6 and ADDRESS |
| --> |
| |
| <!ENTITY % block |
| "P | %list | %preformatted | DL | DIV | CENTER | |
| BLOCKQUOTE | FORM | ISINDEX | HR | TABLE"> |
| |
| <!-- %flow is used for DD and LI --> |
| |
| <!ENTITY % flow "(%text | %block)*"> |
| |
| <!--=================== Document Body =====================================--> |
| |
| <!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 -- |
| > |
| |
| <!-- CENTER is a shorthand for DIV with ALIGN=CENTER --> |
| <!ELEMENT center - - %body.content> |
| |
| <!--================== The Anchor Element =================================--> |
| |
| <!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 -- |
| > |
| |
| <!--================== 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 --> |
| |
| <!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 -- |
| > |
| |
| <!--================== The LINK Element ==================================--> |
| |
| <!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 -- |
| > |
| |
| <!--=================== Images ============================================--> |
| |
| <!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length --> |
| <!ENTITY % Pixels "NUMBER" -- integer representing length in pixels --> |
| |
| <!-- Suggested widths are used for negotiating image size |
| with the module responsible for painting the image. |
| align=left or right cause image to float to margin |
| and for subsequent text to wrap around image --> |
| |
| <!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 -- |
| > |
| |
| <!-- USEMAP points to a MAP element which may be in this document |
| or an external document, although the latter is not widely supported --> |
| |
| <!--=================== Java APPLET tag ===================================--> |
| <!-- |
| This tag is supported by all Java enabled browsers. Applet resources |
| (including their classes) are normally loaded relative to the document |
| URL (or <BASE> element if it is defined). The CODEBASE attribute is used |
| to change this default behavior. If the CODEBASE attribute is defined then |
| it specifies a different location to find applet resources. The value |
| can be an absolute URL or a relative URL. The absolute URL is used as is |
| without modification and is not effected by the documents <BASE> element. |
| When the codebase attribute is relative, then it is relative to the |
| document URL (or <BASE> tag if defined). |
| --> |
| <!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 -- |
| > |
| |
| <!-- |
| Here is an example: |
| |
| <applet codebase="applets/NervousText" |
| code=NervousText.class |
| width=300 |
| height=50> |
| <param name=text value="Java is Cool!"> |
| <img src=sorry.gif alt="This looks better with Java support"> |
| </applet> |
| --> |
| |
| <!--=================== Horizontal Rule ===================================--> |
| |
| <!ELEMENT HR - O EMPTY> |
| <!ATTLIST HR |
| align (left|right|center) #IMPLIED |
| noshade (noshade) #IMPLIED |
| size %Pixels #IMPLIED |
| width %Length #IMPLIED |
| > |
| <!--=================== Paragraphs=========================================--> |
| |
| <!ELEMENT P - O (%text)*> |
| <!ATTLIST P |
| align (left|center|right) #IMPLIED |
| > |
| |
| <!--=================== Headings ==========================================--> |
| |
| <!-- |
| There are six levels of headers from H1 (the most important) |
| to H6 (the least important). |
| --> |
| |
| <!ELEMENT ( %heading ) - - (%text;)*> |
| <!ATTLIST ( %heading ) |
| align (left|center|right) #IMPLIED |
| > |
| |
| <!--=================== Preformatted Text =================================--> |
| |
| <!-- excludes images and changes in font size --> |
| |
| <!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> |
| |
| ]]> |
| |
| <!--=================== Block-like Quotes =================================--> |
| |
| <!ELEMENT BLOCKQUOTE - - %body.content> |
| |
| <!--=================== Lists =============================================--> |
| |
| <!-- |
| HTML 3.2 allows you to control the sequence number for ordered lists. |
| You can set the sequence number with the START and VALUE attributes. |
| The TYPE attribute may be used to specify the rendering of ordered |
| and unordered lists. |
| --> |
| |
| <!-- definition lists - DT for term, DD for its definition --> |
| |
| <!ELEMENT DL - - (DT|DD)+> |
| <!ATTLIST DL |
| compact (compact) #IMPLIED -- more compact style -- |
| > |
| |
| <!ELEMENT DT - O (%text)*> |
| <!ELEMENT DD - O %flow;> |
| |
| <!-- Ordered lists OL, and unordered lists UL --> |
| <!ELEMENT (OL|UL) - - (LI)+> |
| |
| <!-- |
| Numbering style |
| 1 arablic numbers 1, 2, 3, ... |
| a lower alpha a, b, c, ... |
| A upper alpha A, B, C, ... |
| i lower roman i, ii, iii, ... |
| I upper roman I, II, III, ... |
| |
| The style is applied to the sequence number which by default |
| is reset to 1 for the first list item in an ordered list. |
| |
| This can't be expressed directly in SGML due to case folding. |
| --> |
| |
| <!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 -- |
| > |
| |
| <!-- bullet styles --> |
| |
| <!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 |
| > |
| |
| <!-- <DIR> Directory list --> |
| <!-- <DIR COMPACT> Compact list style --> |
| <!-- <MENU> Menu list --> |
| <!-- <MENU COMPACT> Compact list style --> |
| |
| <!-- The type attribute can be used to change the bullet style |
| in unordered lists and the numbering style in ordered lists --> |
| |
| <!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 -- |
| > |
| |
| <!--================ Forms ===============================================--> |
| |
| <!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 -- |
| > |
| |
| <!-- Multi-line text input field. --> |
| |
| <!ELEMENT TEXTAREA - - (#PCDATA)*> |
| <!ATTLIST TEXTAREA |
| name CDATA #REQUIRED |
| rows NUMBER #REQUIRED |
| cols NUMBER #REQUIRED |
| > |
| |
| <!--======================= Tables ========================================--> |
| |
| <!-- Widely deployed subset of the full table standard, see RFC 1942 |
| e.g. at http://www.ics.uci.edu/pub/ietf/html/rfc1942.txt --> |
| |
| <!-- horizontal placement of table relative to window --> |
| <!ENTITY % Where "(left|center|right)"> |
| |
| <!-- horizontal alignment attributes for cell contents --> |
| <!ENTITY % cell.halign |
| "align (left|center|right) #IMPLIED" |
| > |
| |
| <!-- vertical alignment attributes for cell contents --> |
| <!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 -- |
| > |
| |
| <!--================ Document Head ========================================--> |
| |
| <!-- %head.misc defined earlier on as "SCRIPT|STYLE|META|LINK" --> |
| |
| <!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 --> |
| |
| <!-- |
| The BASE element gives an absolute URL for dereferencing relative |
| URLs, e.g. |
| |
| <BASE href="http://foo.com/index.html"> |
| ... |
| <IMG SRC="images/bar.gif"> |
| |
| The image is deferenced to |
| |
| http://foo.com/images/bar.gif |
| |
| In the absence of a BASE element the document URL should be used. |
| Note that this is not necessarily the same as the URL used to |
| request the document, as the base URL may be overridden by an HTTP |
| header accompanying the document. |
| --> |
| |
| <!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 -- |
| > |
| |
| <!-- SCRIPT/STYLE are place holders for transition to next version of HTML --> |
| |
| <!ELEMENT STYLE - - CDATA -- placeholder for style info --> |
| <!ELEMENT SCRIPT - - CDATA -- placeholder for script statements --> |
| |
| <!--================ Document Structure ===================================--> |
| |
| <!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; |
| > |