[Next] [Previous] [Up] [Top]

5. HTML Document Type Definitions

5.2 HTML DTD

5.2.1 - ISO Latin 1 Definitions for HTML

This is the Document Type Definition for the HyperText Markup Language (HTML DTD):

<!--    html.dtd

        Document Type Definition for the HyperText Markup Language (HTML DTD)

        $Id: html.dtd,v 1.21 1994/11/15 19:54:38 connolly Exp $

        Author: Daniel W. Connolly <connolly@hal.com>
        See Also: html.decl, html-0.dtd, html-1.dtd
                  http://www.hal.com/%7Econnolly/html-spec/index.html
                  http://info.cern.ch/hypertext/WWW/MarkUp2/MarkUp.html
-->

<!ENTITY % HTML.Version
        "-//IETF//DTD HTML//EN//2.0"

        -- Typical usage:

            <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
            <html>
            ...
            </html>
        --
        >


<!--================== Feature Test Entities ==============================-->

<!ENTITY % HTML.Recommended "IGNORE"
        -- Certain features of the language are necessary for compatibility
           with widespread usage, but they may compromise the structural
           integrity of a document. This feature test entity enables
           a more prescriptive document type definition that eliminates
           those features.
        -->

<![ %HTML.Recommended [
        <!ENTITY % HTML.Deprecated "IGNORE">
]]>

<!ENTITY % HTML.Deprecated "INCLUDE"
        -- Certain features of the language are necessary for compatibility
           with earlier versions of the specification, but they tend
           to be used an implemented inconsistently, and their use is
           deprecated. This feature test entity enables a document type
           definition that eliminates these features.
        -->

<!ENTITY % HTML.Highlighting "INCLUDE"
        -- Use this feature test entity to validate that a document
           uses no highlighting tags, which may be ignored on minimal
           implementations.
        -->

<!ENTITY % HTML.Forms "INCLUDE"
        -- Use this feature test entity to validate that a document
           contains no forms, which may not be supported in minimal
           implementations
        -->

<!--================== Imported Names =====================================-->

<!ENTITY % Content-Type "CDATA"
        -- meaning an internet media type
           (aka MIME content type, as per RFC1521)
        -->

<!ENTITY % HTTP-Method "GET | POST"
        -- as per HTTP specification, in progress
        -->

<!ENTITY % URI "CDATA"
        -- The term URI means a CDATA attribute
           whose value is a Uniform Resource Identifier,
           as defined by 
        "Universal Resource Identifiers" by Tim Berners-Lee
        aka http://info.cern.ch/hypertext/WWW/Addressing/URL/URI_Overview.html
        aka RFC 1630

        Note that CDATA attributes are limited by the LITLEN
        capacity (1024 in the current version of html.decl),
        so that URIs in HTML have a bounded length.

        -->


<!--================== DTD "Macros" =======================================-->

<!ENTITY % heading "H1|H2|H3|H4|H5|H6">

<!ENTITY % list " UL | OL | DIR | MENU " >


<!--================ Character mnemonic entities ==========================-->

<!ENTITY % ISOlat1 PUBLIC
  "-//IETF//ENTITIES Added Latin 1 for HTML//EN">
%ISOlat1;

<!ENTITY amp CDATA "&#38;"     -- ampersand          -->
<!ENTITY gt CDATA "&#62;"      -- greater than       -->
<!ENTITY lt CDATA "&#60;"      -- less than          -->
<!ENTITY quot CDATA "&#34;"    -- double quote       -->


<!--=================== Text Markup =======================================-->

<![ %HTML.Highlighting [

<!ENTITY % font " TT | B | I ">

<!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE ">

<!ENTITY % text "#PCDATA | A | IMG | BR | %phrase | %font">

<!ELEMENT (%font;|%phrase) - - (%text)+>
<!-- <TT>       Typewriter text                         -->
<!-- <B>        Bold text                               -->
<!-- <I>        Italic text                             -->

<!-- <EM>       Emphasized phrase                       -->
<!-- <STRONG>   Strong emphais                          -->
<!-- <CODE>     Source code phrase                      -->
<!-- <SAMP>     Sample text or characters               -->
<!-- <KBD>      Keyboard phrase, e.g. user input        -->
<!-- <VAR>      Variable phrase or substituable         -->
<!-- <CITE>     Name or title of cited work             -->

<!ENTITY % pre.content "#PCDATA | A | HR | BR | %font | %phrase">

]]>

<!ENTITY % text "#PCDATA | A | IMG | BR">

<!ELEMENT BR    - O EMPTY>
<!-- <BR>       Line break      -->


<!--================== Link Markup ========================================-->

<![ %HTML.Recommended [
        <!ENTITY % linkName "ID">
]]>

<!ENTITY % linkName "CDATA">

<!ENTITY % linkType "NAME"
        -- a list of these will be specified at a later date -->

<!ENTITY % linkExtraAttributes
        "REL %linkType #IMPLIED
        REV %linkType #IMPLIED
        URN CDATA #IMPLIED
        TITLE CDATA #IMPLIED
        METHODS NAMES #IMPLIED
        ">

<![ %HTML.Recommended [
        <!ENTITY % A.content   "(%text)+"
        -- <H1><a name="xxx">Heading</a></H1>
                is preferred to
           <a name="xxx"><H1>Heading</H1></a>
        -->
]]>

<!ENTITY % A.content   "(%heading|%text)+">

<!ELEMENT A     - - %A.content -(A)>
<!ATTLIST A
        HREF %URI #IMPLIED
        NAME %linkName #IMPLIED
        %linkExtraAttributes;
        >
<!-- <A>                Anchor; source and/or destination of a link     -->
<!-- <A NAME="...">     Name of this anchor                             -->
<!-- <A HREF="...">     Address of link destination                     -->
<!-- <A URN="...">      Permanent address of destination                -->
<!-- <A REL=...>        Relationship of this anchor to destination      -->
<!-- <A REV=...>        Relationship of destination to this anchor      -->
<!-- <A TITLE="...">    Title of destination (advisory) 
                -->
<!-- <A METHODS="...">  Operations allowed on destination
(advisory)      -->


<!--=================== Images ============================================-->

<!ELEMENT IMG    - O EMPTY>
<!ATTLIST IMG
        SRC %URI;  #REQUIRED
        ALT CDATA #IMPLIED
        ALIGN (top|middle|bottom) #IMPLIED
        ISMAP (ISMAP) #IMPLIED
        >

<!-- <IMG>              Image; icon, glyph or illustration      -->
<!-- <IMG SRC="...">    Address of image object                 -->
<!-- <IMG ALT="...">    Textual alternative                     -->
<!-- <IMG ALIGN=...>    Position relative to text               -->
<!-- <IMG ISMAP>        Each pixel can be a link                -->

<!--=================== Paragraphs=========================================-->

<!ELEMENT P     - O (%text)+>
<!-- <P>        Paragraph       -->


<!--=================== Headings, Titles, Sections ========================-->

<!ELEMENT HR    - O EMPTY>
<!-- <HR>       Horizontal rule -->

<!ELEMENT ( %heading )  - -  (%text;)+>
<!-- <H1>       Heading, level 1 -->
<!-- <H2>       Heading, level 2 -->
<!-- <H3>       Heading, level 3 -->
<!-- <H4>       Heading, level 4 -->
<!-- <H5>       Heading, level 5 -->
<!-- <H6>       Heading, level 6 -->


<!--=================== Text Flows ========================================-->

<![ %HTML.Forms [
        <!ENTITY % block.forms "| FORM | ISINDEX">
]]>

<!ENTITY % block.forms "">

<![ %HTML.Deprecated [
        <!ENTITY % preformatted "PRE | XMP | LISTING">
]]>

<!ENTITY % preformatted "PRE">

<!ENTITY % block "P | %list | DL
        | %preformatted
        | BLOCKQUOTE %block.forms">

<!ENTITY % flow "(%text|%block)*">

<!ENTITY % pre.content "#PCDATA | A | HR | BR">
<!ELEMENT PRE - - (%pre.content)+>
<!ATTLIST PRE
        WIDTH NUMBER #implied
        >

<!-- <PRE>              Preformatted text               -->
<!-- <PRE WIDTH=...>    Maximum characters per line     -->

<![ %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>
<!-- <XMP>              Example section         -->
<!-- <LISTING>          Computer listing        -->

<!ELEMENT PLAINTEXT - O %literal>
<!-- <PLAINTEXT>        Plain text passage      -->

]]>


<!--=================== Lists =============================================-->

<!ELEMENT DL    - -  (DT | DD)+>
<!ATTLIST DL
        COMPACT (COMPACT) #IMPLIED>

<!ELEMENT DT    - O (%text)+>
<!ELEMENT DD    - O %flow>

<!-- <DL>               Definition list, or glossary    -->
<!-- <DL COMPACT>       Compact style list              -->
<!-- <DT>               Term in definition list         -->
<!-- <DD>               Definition of term              -->

<!ELEMENT (OL|UL) - -  (LI)+>
<!ELEMENT (DIR|MENU) - -  (LI)+ -(%block)>
<!ATTLIST (%list)
        COMPACT (COMPACT) #IMPLIED>
<!-- <UL>               Unordered list                  -->
<!-- <UL COMPACT>       Compact list style              -->
<!-- <OL>               Ordered, or numbered list       -->
<!-- <OL COMPACT>       Compact list style              -->
<!-- <DIR>              Directory list                  -->
<!-- <DIR COMPACT>      Compact list style              -->
<!-- <MENU>             Menu list                       -->
<!-- <MENU COMPACT>     Compact list style              -->

<!ELEMENT LI    - O %flow>

<!-- <LI>               List item                       -->

<!--=================== Document Body =====================================-->

<![ %HTML.Recommended [
        <!ENTITY % body.content "(%heading|%block|HR|ADDRESS)*"
        -- <h1>Heading</h1>
           <p>Text ...
                is preferred to
           <h1>Heading</h1>
           Text ...
        -->
]]>

<!ENTITY % body.content "(%heading | %text | %block | HR | ADDRESS)*">

<!ELEMENT BODY O O  %body.content>
<!-- <BODY>     Document body   -->

<!ELEMENT BLOCKQUOTE - - %body.content>
<!-- <BLOCKQUOTE>       Quoted passage  -->

<!ELEMENT ADDRESS - - (%text|P)*>
<!-- <ADDRESS>  Address, signature, or byline for document or
passage -->


<!--================ Forms ===============================================-->

<![ %HTML.Forms [

<!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)>
<!ATTLIST FORM
        ACTION %URI #IMPLIED
        METHOD (%HTTP-Method) GET
        ENCTYPE %Content-Type; "application/x-www-form-urlencoded"
        >

<!-- <FORM>                     Fill-out or data-entry form     -->
<!-- <FORM ACTION="...">        Address for completed form      -->
<!-- <FORM METHOD=...>          Method of submitting form       -->
<!-- <FORM ENCTYPE="...">       Representation of form data     -->

<!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX |
                        RADIO | SUBMIT | RESET |
                        IMAGE | HIDDEN )">
<!ELEMENT INPUT - O EMPTY>
<!ATTLIST INPUT
        TYPE %InputType TEXT
        NAME CDATA #IMPLIED
        VALUE CDATA #IMPLIED
        SRC %URI #IMPLIED
        CHECKED (CHECKED) #IMPLIED
        SIZE CDATA #IMPLIED
        MAXLENGTH NUMBER #IMPLIED
        ALIGN (top|middle|bottom) #IMPLIED
        >

<!-- <INPUT>                    Form input datum                -->
<!-- <INPUT TYPE=...>           Type of input interaction       -->
<!-- <INPUT TYPE=...>           Name of form datum              -->
<!-- <INPUT VALUE="...">        Default/initial/selected value  -->
<!-- <INPUT SRC="...">          Address of image                -->
<!-- <INPUT CHECKED>            Initial state is "on"           -->
<!-- <INPUT SIZE=...>           Field size hint                 -->
<!-- <INPUT MAXLENGTH=...>      Data length maximum             -->
<!-- <INPUT ALIGN=...>          Image
alignment                       -->

<!ELEMENT SELECT - - (OPTION+)>
<!ATTLIST SELECT
        NAME CDATA #REQUIRED
        SIZE NUMBER #IMPLIED
        MULTIPLE (MULTIPLE) #IMPLIED
        >

<!-- <SELECT>                   Selection of option(s)                  -->
<!-- <SELECT NAME=...>          Name of form datum                      -->
<!-- <SELECT SIZE=...>          Number of options displayed at a time   -->
<!-- <SELECT MULTIPLE>          Multiple selections allowed             -->

<!ELEMENT OPTION - O (#PCDATA)>
<!ATTLIST OPTION
        SELECTED (SELECTED) #IMPLIED
        VALUE CDATA #IMPLIED
        >

<!-- <OPTION>                   A selection option                      -->
<!-- <OPTION SELECTED>          Initial state                           -->
<!-- <OPTION VALUE="">          Form datum value for this option        -->

<!ELEMENT TEXTAREA - - (#PCDATA)>
<!ATTLIST TEXTAREA
        NAME CDATA #REQUIRED
        ROWS NUMBER #REQUIRED
        COLS NUMBER #REQUIRED
        >

<!-- <TEXTAREA>                 An area for text input                  -->
<!-- <TEXTAREA NAME=...>        Name of form datum                      -->
<!-- <TEXTAREA ROWS=...>        Height of area                          -->
<!-- <TEXTAREA COLS=...>        Width of area                           -->

]]>


<!--================ Document Head ========================================-->

<!ENTITY % head.link "& LINK*">

<![ %HTML.Recommended [
        <!ENTITY % head.nextid "">
]]>
<!ENTITY % head.nextid "& NEXTID?">

<!ENTITY % head.content "TITLE & ISINDEX? & BASE? & META*
                         %head.nextid
                         %head.link">

<!ELEMENT HEAD O O  (%head.content)>
<!-- <HEAD>     Document head   -->

<!ELEMENT TITLE - -  (#PCDATA)>
<!-- <TITLE>    Title of document -->

<!ELEMENT LINK - O EMPTY>
<!ATTLIST LINK
        HREF %URI #REQUIRED
        %linkExtraAttributes; >
<!-- <LINK>             Link from this document                         -->
<!-- <LINK HREF="...">  Address of link destination                     -->
<!-- <LINK URN="...">   Lasting name of destination                     -->
<!-- <LINK REL=...>     Relationship of this document to destination     -->
<!-- <LINK REV=...>     Relationship of destination to this document
        -->
<!-- <LINK TITLE="..."> Title of destination (advisory)                 -->
<!-- <LINK METHODS="..."> Operations allowed on destination (advisory)      -->

<!ELEMENT ISINDEX - O EMPTY>
<!-- <ISINDEX>          Document is a searchable index          -->

<!ELEMENT BASE - O EMPTY>
<!ATTLIST BASE
        HREF %URI; #REQUIRED
        >
<!-- <BASE>             Base context document                   -->
<!-- <BASE HREF="...">  Address for this document               -->

<!ELEMENT NEXTID - O EMPTY>
<!ATTLIST NEXTID N %linkName #REQUIRED>
<!-- <NEXTID>           Next ID to use for link name                    -->
<!--
<NEXTID N=...>  Next ID to use for link name                    -->

<!ELEMENT META - O EMPTY>
<!ATTLIST META
        HTTP-EQUIV  NAME    #IMPLIED
        NAME        NAME    #IMPLIED
        CONTENT     CDATA   #REQUIRED
        >
<!-- <META>                     Generic Metainformation         -->
<!-- <META HTTP-EQUIV=...>      HTTP response header name       -->
<!-- <META HTTP-EQUIV=...>      Metainformation name            -->
<!-- <META CONTENT="...">       Associated information          -->

<!--================ Document Structure ===================================-->

<![ %HTML.Deprecated [
        <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?">
]]>
<!ENTITY % html.content "HEAD, BODY">

<!ELEMENT HTML O O  (%html.content)>
<!ENTITY % version.attr "VERSION CDATA #FIXED &#34;%HTML.Version;&#34;">

<!ATTLIST HTML
        %version.attr;
        >

<!-- <HTML>                     HyperText Markup Language Document      -->
<!-- <HTML
VERSION="...">  Version of HTML specification           -->

5.2.1 ISO Latin 1 Definitions for HTML

<!-- (C) International Organization for Standardization 1986
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879:1986, provided this notice is included in all copies.
-->
<!-- Character entity set. Typical invocation:
     <!ENTITY % ISOlat1 PUBLIC
       "-//IETF//ENTITIES Added Latin 1 for HTML//EN">
     %ISOlat1;
-->
<!-- Modified for use in HTML
	$Id: ISOlat1.sgml,v 1.1 1994/09/24 14:06:34 connolly Exp $ -->
<!ENTITY AElig  CDATA "&#198;" -- capital AE diphthong (ligature) -->
<!ENTITY Aacute CDATA "&#193;" -- capital A, acute accent -->
<!ENTITY Acirc  CDATA "&#194;" -- capital A, circumflex accent -->
<!ENTITY Agrave CDATA "&#192;" -- capital A, grave accent -->
<!ENTITY Aring  CDATA "&#197;" -- capital A, ring -->
<!ENTITY Atilde CDATA "&#195;" -- capital A, tilde -->
<!ENTITY Auml   CDATA "&#196;" -- capital A, dieresis or umlaut mark -->
<!ENTITY Ccedil CDATA "&#199;" -- capital C, cedilla -->
<!ENTITY ETH    CDATA "&#208;" -- capital Eth, Icelandic -->
<!ENTITY Eacute CDATA "&#201;" -- capital E, acute accent -->
<!ENTITY Ecirc  CDATA "&#202;" -- capital E, circumflex accent -->
<!ENTITY Egrave CDATA "&#200;" -- capital E, grave accent -->
<!ENTITY Euml   CDATA "&#203;" -- capital E, dieresis or umlaut mark -->
<!ENTITY Iacute CDATA "&#205;" -- capital I, acute accent -->
<!ENTITY Icirc  CDATA "&#206;" -- capital I, circumflex accent -->
<!ENTITY Igrave CDATA "&#204;" -- capital I, grave accent -->
<!ENTITY Iuml   CDATA "&#207;" -- capital I, dieresis or umlaut mark -->
<!ENTITY Ntilde CDATA "&#209;" -- capital N, tilde -->
<!ENTITY Oacute CDATA "&#211;" -- capital O, acute accent -->
<!ENTITY Ocirc  CDATA "&#212;" -- capital O, circumflex accent -->
<!ENTITY Ograve CDATA "&#210;" -- capital O, grave accent -->
<!ENTITY Oslash CDATA "&#216;" -- capital O, slash -->
<!ENTITY Otilde CDATA "&#213;" -- capital O, tilde -->
<!ENTITY Ouml   CDATA "&#214;" -- capital O, dieresis or umlaut mark -->
<!ENTITY THORN  CDATA "&#222;" -- capital THORN, Icelandic -->
<!ENTITY Uacute CDATA "&#218;" -- capital U, acute accent -->
<!ENTITY Ucirc  CDATA "&#219;" -- capital U, circumflex accent -->
<!ENTITY Ugrave CDATA "&#217;" -- capital U, grave accent -->
<!ENTITY Uuml   CDATA "&#220;" -- capital U, dieresis or umlaut mark -->
<!ENTITY Yacute CDATA "&#221;" -- capital Y, acute accent -->
<!ENTITY aacute CDATA "&#225;" -- small a, acute accent -->
<!ENTITY acirc  CDATA "&#226;" -- small a, circumflex accent -->
<!ENTITY aelig  CDATA "&#230;" -- small ae diphthong (ligature) -->
<!ENTITY agrave CDATA "&#224;" -- small a, grave accent -->
<!ENTITY aring  CDATA "&#229;" -- small a, ring -->
<!ENTITY atilde CDATA "&#227;" -- small a, tilde -->
<!ENTITY auml   CDATA "&#228;" -- small a, dieresis or umlaut mark -->
<!ENTITY ccedil CDATA "&#231;" -- small c, cedilla -->
<!ENTITY eacute CDATA "&#233;" -- small e, acute accent -->
<!ENTITY ecirc  CDATA "&#234;" -- small e, circumflex accent -->
<!ENTITY egrave CDATA "&#232;" -- small e, grave accent -->
<!ENTITY eth    CDATA "&#240;" -- small eth, Icelandic -->
<!ENTITY euml   CDATA "&#235;" -- small e, dieresis or umlaut mark -->
<!ENTITY iacute CDATA "&#237;" -- small i, acute accent -->
<!ENTITY icirc  CDATA "&#238;" -- small i, circumflex accent -->
<!ENTITY igrave CDATA "&#236;" -- small i, grave accent -->
<!ENTITY iuml   CDATA "&#239;" -- small i, dieresis or umlaut mark -->
<!ENTITY ntilde CDATA "&#241;" -- small n, tilde -->
<!ENTITY oacute CDATA "&#243;" -- small o, acute accent -->
<!ENTITY ocirc  CDATA "&#244;" -- small o, circumflex accent -->
<!ENTITY ograve CDATA "&#242;" -- small o, grave accent -->
<!ENTITY oslash CDATA "&#248;" -- small o, slash -->
<!ENTITY otilde CDATA "&#245;" -- small o, tilde -->
<!ENTITY ouml   CDATA "&#246;" -- small o, dieresis or umlaut mark -->
<!ENTITY szlig  CDATA "&#223;" -- small sharp s, German (sz ligature) -->
<!ENTITY thorn  CDATA "&#254;" -- small thorn, Icelandic -->
<!ENTITY uacute CDATA "&#250;" -- small u, acute accent -->
<!ENTITY ucirc  CDATA "&#251;" -- small u, circumflex accent -->
<!ENTITY ugrave CDATA "&#249;" -- small u, grave accent -->
<!ENTITY uuml   CDATA "&#252;" -- small u, dieresis or umlaut mark -->
<!ENTITY yacute CDATA "&#253;" -- small y, acute accent -->
<!ENTITY yuml   CDATA "&#255;" -- small y, dieresis or umlaut mark -->

HTML 2.0 Specification (Internet Draft) - 29 NOV 94
[Next] [Previous] [Up] [Top]

Generated with CERN WebMaker