<!--    html.dtd

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

           Last revised: 96/08/07

        Authors: Daniel W. Connolly <connolly@w3.org>
                    Francois Yergeau <yergeau@alis.com>
        See Also:
          http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html
   -->

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

           -- Typical usage:

               <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML i18n//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">
   ]]>



Yergeau, et. al.            Standards Track                    [Page 20]

RFC 2070               HTML Internationalization            January 1997


   <!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 and 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 RFC2045)
           -->

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

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

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

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

   <!ENTITY % attrs -- common attributes for elements --
            "LANG  NAME      #IMPLIED  -- RFC 1766 language tag --
             DIR  (ltr|rtl)  #IMPLIED  -- text directionnality --
             ID      ID      #IMPLIED  -- element identifier
                                          (from RFC1942) --
             CLASS   NAMES   #IMPLIED  -- for subclassing elements
                                          (from RFC1942) --">

   <!ENTITY % just -- an attribute for text justification --
            "ALIGN  (left|right|center|justify)  #IMPLIED"



Yergeau, et. al.            Standards Track                    [Page 21]

RFC 2070               HTML Internationalization            January 1997


            -- default is left for ltr paragraphs, right for rtl -- >

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

   <!ENTITY % ISOlat1 PUBLIC
     "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML">
   %ISOlat1;

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

   <!--Entities for language-dependent presentation (BIDI and
       contextual analysis) -->
   <!ENTITY zwnj CDATA "&#8204;"-- zero width non-joiner-->
   <!ENTITY zwj  CDATA "&#8205;"-- zero width joiner-->
   <!ENTITY lrm  CDATA "&#8206;"-- left-to-right mark-->
   <!ENTITY rlm  CDATA "&#8207;"-- right-to-left mark-->


   <!--========= SGML Document Access (SDA) Parameter Entities =====-->

   <!-- HTML contains SGML Document Access (SDA) fixed attributes
   in support of easy transformation to the International Committee
   for Accessible Document Design (ICADD) DTD
         "-//EC-USA-CDA/ICADD//DTD ICADD22//EN".
   ICADD applications are designed to support usable access to
   structured information by print-impaired individuals through
   Braille, large print and voice synthesis.  For more information on
   SDA & ICADD:
           - ISO 12083:1993, Annex A.8, Facilities for Braille,
          large print and computer voice
           - ICADD ListServ
          <ICADD%ASUACAD.BITNET@ARIZVM1.ccit.arizona.edu>
           - Usenet news group bit.listserv.easi
           - Recording for the Blind, +1 800 221 4792
   -->

   <!ENTITY % SDAFORM  "SDAFORM  CDATA  #FIXED"
          -- one to one mapping        -->
   <!ENTITY % SDARULE  "SDARULE  CDATA  #FIXED"
          -- context-sensitive mapping -->
   <!ENTITY % SDAPREF  "SDAPREF  CDATA  #FIXED"
          -- generated text prefix     -->
   <!ENTITY % SDASUFF  "SDASUFF  CDATA  #FIXED"
          -- generated text suffix     -->
   <!ENTITY % SDASUSP  "SDASUSP  NAME   #FIXED"



Yergeau, et. al.            Standards Track                    [Page 22]

RFC 2070               HTML Internationalization            January 1997


          -- suspend transform process -->


   <!--========== 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|SPAN|Q|BDO|SUP|SUB">

   <!ELEMENT (%font;|%phrase) - - (%text)*>
   <!ATTLIST ( TT | CODE | SAMP | KBD | VAR )
           %attrs;
           %SDAFORM; "Lit"
           >

   <!ATTLIST ( B | STRONG )
           %attrs;
           %SDAFORM; "B"
           >
   <!ATTLIST ( I | EM | CITE )
           %attrs;
           %SDAFORM; "It"
           >

   <!-- <TT>       Typewriter text                         -->
   <!-- <B>        Bold text                               -->
   <!-- <I>        Italic text                             -->

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

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

   ]]>

   <!ENTITY % text "#PCDATA|A|IMG|BR|SPAN|Q|BDO|SUP|SUB">

   <!ELEMENT BR    - O EMPTY>
   <!ATTLIST BR



Yergeau, et. al.            Standards Track                    [Page 23]

RFC 2070               HTML Internationalization            January 1997


           %SDAPREF; "&#RE;"
           >

   <!-- <BR>       Line break      -->

   <!ELEMENT SPAN - - (%text)*>
   <!ATTLIST SPAN
           %attrs;
           %SDAFORM; "other #Attlist"
   >

   <!-- <SPAN>             Generic inline container  -->
   <!-- <SPAN DIR=...>     New counterflow embedding -->
   <!-- <SPAN LANG="...">  Language of contents      -->

   <!ELEMENT Q - - (%text)*>
   <!ATTLIST Q
           %attrs;
           %SDAPREF; '"'
           %SDASUFF; '"'
           >

   <!-- <Q>         Short quotation              -->
   <!-- <Q LANG=xx> Language of quotation is xx  -->
   <!-- <Q DIR=...> New conterflow embedding     -->

   <!ELEMENT BDO - - (%text)+>
   <!ATTLIST BDO
           LANG   NAME      #IMPLIED
           DIR    (ltr|rtl) #REQUIRED
           ID     ID        #IMPLIED
           CLASS  NAMES     #IMPLIED
           %SDAPREF "Bidi Override #Attval(DIR): "
           %SDASUFF "End Bidi"
           >

   <!-- <BDO DIR=...>   Override directionality of text to value of DIR -->
   <!-- <BDO LANG=...>  Language of contents                            -->

   <!ELEMENT (SUP|SUB) - - (#PCDATA)>
   <!ATTLIST (SUP)
           %attrs;
           %SDAPREF "Superscript(#content)"
           >
   <!ATTLIST (SUB)
           %attrs;
           %SDAPREF "Subscript(#content)"
           >



Yergeau, et. al.            Standards Track                    [Page 24]

RFC 2070               HTML Internationalization            January 1997


   <!-- <SUP>      Superscript              -->
   <!-- <SUB>      Subscript                -->

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

   <!ENTITY % linkType "NAMES">

   <!ENTITY % linkExtraAttributes
           "REL %linkType #IMPLIED
           REV %linkType #IMPLIED
           URN CDATA #IMPLIED
           TITLE CDATA #IMPLIED
           METHODS NAMES #IMPLIED
           CHARSET NAME #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
           %attrs;
           HREF CDATA #IMPLIED
           NAME CDATA #IMPLIED
           %linkExtraAttributes;
           %SDAPREF; "<Anchor: #AttList>"
           >
   <!-- <A>       Anchor; source/destination of link -->
   <!-- <A NAME="..."> Name of this anchor           -->
   <!-- <A HREF="..."> Address of link destination        -->
   <!-- <A URN="...">  Permanent address of destination   -->
   <!-- <A REL=...>    Relationship to destination        -->
   <!-- <A REV=...>    Relationship of destination to this     -->
   <!-- <A TITLE="...">     Title of destination (advisory)         -->
   <!-- <A METHODS="...">   Operations on destination (advisory)    -->
   <!-- <A CHARSET="...">   Charset of destination (advisory)  -->
   <!-- <A LANG="...">     Language of contents btw <A> and </A>   -->
   <!-- <A DIR=...>        Contents is a new counterflow embedding -->

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



Yergeau, et. al.            Standards Track                    [Page 25]

RFC 2070               HTML Internationalization            January 1997


   <!ELEMENT IMG    - O EMPTY>
   <!ATTLIST IMG
           %attrs;
           SRC CDATA  #REQUIRED
           ALT CDATA #IMPLIED
           ALIGN (top|middle|bottom) #IMPLIED
           ISMAP (ISMAP) #IMPLIED
           %SDAPREF; "<Fig><?SDATrans Img: #AttList>#AttVal(Alt)</Fig>"
           >

   <!-- <IMG>              Image; icon, glyph or illustration      -->
   <!-- <IMG SRC="...">    Address of image object                 -->
   <!-- <IMG ALT="...">    Textual alternative                     -->
   <!-- <IMG ALIGN=...>    Position relative to text               -->
   <!-- <IMG LANG=...>     Image contains "text" in that language  -->
   <!-- <IMG DIR=...>      Inline image acts as a RTL or LTR
                           embedding w/r to BIDI algorithm         -->
   <!-- <IMG ISMAP>        Each pixel can be a link                -->

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

   <!ELEMENT P     - O (%text)*>
   <!ATTLIST P
           %attrs;
           %just;
           %SDAFORM; "Para"
           >

   <!-- <P>             Paragraph                           -->
   <!-- <P LANG="...">  Language of paragraph text          -->
   <!-- <P DIR=...>     Base directionality of paragraph    -->
   <!-- <P ALIGN=...>   Paragraph alignment (justification) -->

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

   <!ELEMENT HR    - O EMPTY>
   <!ATTLIST HR
           %just;
           %SDAPREF; "&#RE;&#RE;"
           >

   <!-- <HR>       Horizontal rule -->

   <!ELEMENT ( %heading )  - -  (%text;)*>
   <!ATTLIST H1
           %attrs;
           %just;
           %SDAFORM; "H1"



Yergeau, et. al.            Standards Track                    [Page 26]

RFC 2070               HTML Internationalization            January 1997


           >
   <!ATTLIST H2
           %attrs;
           %just;
           %SDAFORM; "H2"
           >
   <!ATTLIST H3
           %attrs;
           %just;
           %SDAFORM; "H3"
           >
   <!ATTLIST H4
           %attrs;
           %just;
           %SDAFORM; "H4"
           >
   <!ATTLIST H5
           %attrs;
           %just;
           %SDAFORM; "H5"
           >
   <!ATTLIST H6
           %attrs;
           %just;
           %SDAFORM; "H6"
           >

   <!-- <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 "BLOCKQUOTE | FORM | ISINDEX">
   ]]>

   <!ENTITY % block.forms "BLOCKQUOTE">

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

   <!ENTITY % preformatted "PRE">



Yergeau, et. al.            Standards Track                    [Page 27]

RFC 2070               HTML Internationalization            January 1997


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

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

   <!ENTITY % pre.content "#PCDATA | A | HR | BR | SPAN | BDO">
   <!ELEMENT PRE - - (%pre.content)*>
   <!ATTLIST PRE
           %attrs;
           WIDTH NUMBER #implied
           %SDAFORM; "Lit"
           >

   <!-- <PRE>              Preformatted text                    -->
   <!-- <PRE WIDTH=...>    Maximum characters per line          -->
   <!-- <PRE DIR=...>      Base direction of preformatted block -->
   <!-- <PRE LANG=...>     Language of contents                 -->

   <![ %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>
   <!ATTLIST XMP
           %attrs;
           %SDAFORM; "Lit"
           %SDAPREF; "Example:&#RE;"
           >
   <!ATTLIST LISTING
           %attrs;
           %SDAFORM; "Lit"
           %SDAPREF; "Listing:&#RE;"
           >

   <!-- <XMP>              Example section         -->
   <!-- <LISTING>          Computer listing        -->

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

   <!ATTLIST PLAINTEXT
           %attrs;
           %SDAFORM; "Lit"



Yergeau, et. al.            Standards Track                    [Page 28]

RFC 2070               HTML Internationalization            January 1997


           >
   ]]>


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

   <!ELEMENT DL    - -  (DT | DD)+>
   <!ATTLIST DL
           %attrs;
           COMPACT (COMPACT) #IMPLIED
           %SDAFORM; "List"
           %SDAPREF; "Definition List:"
           >

   <!ELEMENT DT    - O (%text)*>
   <!ATTLIST DT
           %attrs;
           %SDAFORM; "Term"
           >

   <!ELEMENT DD    - O %flow>
   <!ATTLIST DD
           %attrs;
           %SDAFORM; "LItem"
           >

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

   <!ELEMENT (OL|UL) - -  (LI)+>
   <!ATTLIST OL
           %attrs;
           %just;
           COMPACT (COMPACT) #IMPLIED
           %SDAFORM; "List"
           >
   <!ATTLIST UL
           %attrs;
           %just;
           COMPACT (COMPACT) #IMPLIED
           %SDAFORM; "List"
           >
   <!-- <UL>               Unordered list                  -->
   <!-- <UL COMPACT>       Compact list style              -->
   <!-- <OL>               Ordered, or numbered list       -->
   <!-- <OL COMPACT>       Compact list style              -->



Yergeau, et. al.            Standards Track                    [Page 29]

RFC 2070               HTML Internationalization            January 1997


   <!ELEMENT (DIR|MENU) - -  (LI)+ -(%block)>
   <!ATTLIST DIR
           %attrs;
           %just;
           COMPACT (COMPACT) #IMPLIED
           %SDAFORM; "List"
           %SDAPREF; "<LHead>Directory</LHead>"
           >
   <!ATTLIST MENU
           %attrs;
           %just;
           COMPACT (COMPACT) #IMPLIED
           %SDAFORM; "List"
           %SDAPREF; "<LHead>Menu</LHead>"
           >

   <!-- <DIR>              Directory list                  -->
   <!-- <DIR COMPACT>      Compact list style              -->
   <!-- <MENU>             Menu list                       -->
   <!-- <MENU COMPACT>     Compact list style              -->

   <!ELEMENT LI    - O %flow>
   <!ATTLIST LI
           %attrs;
           %just;
           %SDAFORM; "LItem"
           >

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

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

   <![ %HTML.Recommended [
        <!ENTITY % body.content "(%heading|%block|HR|ADDRESS|IMG)*"
        -- <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>
   <!ATTLIST BODY
           %attrs;



Yergeau, et. al.            Standards Track                    [Page 30]

RFC 2070               HTML Internationalization            January 1997


           >

   <!-- <BODY>          Document body                -->
   <!-- <BODY DIR=...>  Base direction of whole body -->
   <!-- <BODY LANG=...> Language of contents         -->

   <!ELEMENT BLOCKQUOTE - - %body.content>
   <!ATTLIST BLOCKQUOTE
           %attrs;
           %just;
           %SDAFORM; "BQ"
           >

   <!-- <BLOCKQUOTE>       Quoted passage  -->

   <!ELEMENT ADDRESS - - (%text|P)*>
   <!ATTLIST  ADDRESS
           %attrs;
           %just;
           %SDAFORM; "Lit"
           %SDAPREF; "Address:&#RE;"
           >

   <!-- <ADDRESS> Address, signature, or byline -->


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

   <![ %HTML.Forms [

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

   <!-- <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     -->
   <!-- <FORM DIR=...>             Base direction of form          -->
   <!-- <FORM LANG=...>            Language of contents            -->

   <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX |



Yergeau, et. al.            Standards Track                    [Page 31]

RFC 2070               HTML Internationalization            January 1997


                           RADIO | SUBMIT | RESET |
                           IMAGE | HIDDEN | FILE )">
   <!ELEMENT INPUT - O EMPTY>
   <!ATTLIST INPUT
           %attrs;
        TYPE %InputType TEXT
        NAME CDATA #IMPLIED
        VALUE CDATA #IMPLIED
        SRC CDATA #IMPLIED
        CHECKED (CHECKED) #IMPLIED
        SIZE CDATA #IMPLIED
        MAXLENGTH NUMBER #IMPLIED
        ALIGN (top|middle|bottom) #IMPLIED
           ACCEPT CDATA #IMPLIED --list of content types --
           ACCEPT-CHARSET CDATA #IMPLIED --list of charsets accepted --
           %SDAPREF; "Input: "
        >

   <!-- <INPUT>               Form input datum        -->
   <!-- <INPUT TYPE=...>           Type of input interaction    -->
   <!-- <INPUT NAME=...>           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         -->
   <!-- <INPUT ACCEPT="...">         List of desired media types    -->
   <!-- <INPUT ACCEPT-CHARSET="..."> List of acceptable charsets    -->

   <!ELEMENT SELECT - - (OPTION+) -(INPUT|SELECT|TEXTAREA)>
   <!ATTLIST SELECT
           %attrs;
           NAME CDATA #REQUIRED
           SIZE NUMBER #IMPLIED
           MULTIPLE (MULTIPLE) #IMPLIED
           %SDAFORM; "List"
           %SDAPREF;
           "<LHead>Select #AttVal(Multiple)</LHead>"
        >

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

   <!ELEMENT OPTION - O (#PCDATA)*>
   <!ATTLIST OPTION



Yergeau, et. al.            Standards Track                    [Page 32]

RFC 2070               HTML Internationalization            January 1997


           %attrs;
           SELECTED (SELECTED) #IMPLIED
           VALUE CDATA #IMPLIED
           %SDAFORM; "LItem"
           %SDAPREF;
           "Option: #AttVal(Value) #AttVal(Selected)"
        >

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

   <!ELEMENT TEXTAREA - - (#PCDATA)* -(INPUT|SELECT|TEXTAREA)>
   <!ATTLIST TEXTAREA
           %attrs;
           NAME CDATA #REQUIRED
           ROWS NUMBER #REQUIRED
           COLS NUMBER #REQUIRED
           ACCEPT-CHARSET CDATA #IMPLIED -- list of charsets accepted --
           %SDAFORM; "Para"
           %SDAPREF; "Input Text -- #AttVal(Name): "
           >

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

   ]]>


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

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

   <!ENTITY % head.content "TITLE & ISINDEX? & BASE? %head.extra">

   <!ELEMENT HEAD O O  (%head.content) +(META|LINK)>
   <!ATTLIST HEAD
           %attrs;           >

   <!-- <HEAD>     Document head   -->

   <!ELEMENT TITLE - -  (#PCDATA)*  -(META|LINK)>
   <!ATTLIST TITLE



Yergeau, et. al.            Standards Track                    [Page 33]

RFC 2070               HTML Internationalization            January 1997


           %attrs;
           %SDAFORM; "Ti"    >

   <!-- <TITLE>    Title of document -->

   <!ELEMENT LINK - O EMPTY>
   <!ATTLIST LINK
           %attrs;
           HREF CDATA #REQUIRED
           %linkExtraAttributes;
           %SDAPREF; "Linked to : #AttVal (TITLE) (URN) (HREF)>"    >

   <!-- <LINK>         Link from this document            -->
   <!-- <LINK HREF="...">   Address of link destination        -->
   <!-- <LINK URN="...">    Lasting name of destination        -->
   <!-- <LINK REL=...> Relationship to destination        -->
   <!-- <LINK REV=...> Relationship of destination to this     -->
   <!-- <LINK TITLE="...">  Title of destination (advisory)         -->
   <!-- <LINK CHARSET="..."> Charset of destination (advisory)      -->
   <!-- <LINK METHODS="..."> Operations allowed (advisory)          -->

   <!ELEMENT ISINDEX - O EMPTY>
   <!ATTLIST ISINDEX
           %attrs;
           %SDAPREF;
      "<Para>[Document is indexed/searchable.]</Para>">

   <!-- <ISINDEX>          Document is a searchable index          -->

   <!ELEMENT BASE - O EMPTY>
   <!ATTLIST BASE
           HREF CDATA #REQUIRED     >

   <!-- <BASE>             Base context document                   -->
   <!-- <BASE HREF="...">  Address for this document               -->

   <!ELEMENT NEXTID - O EMPTY>
   <!ATTLIST NEXTID
           N CDATA #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    >



Yergeau, et. al.            Standards Track                    [Page 34]

RFC 2070               HTML Internationalization            January 1997


   <!-- <META>                     Generic Meta-information        -->
   <!-- <META HTTP-EQUIV=...>      HTTP response header name       -->
   <!-- <META NAME=...>          Meta-information 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 '%HTML.Version;'">

   <!ATTLIST HTML
           %attrs;
           %version.attr;
           %SDAFORM; "Book"
           >

   <!-- <HTML>              HTML Document  -->

7.2. SGML Declaration for HTML

   <!SGML  "ISO 8879:1986"
   --
        SGML Declaration for HyperText Markup Language version 2.x
           (HTML 2.x = HTML 2.0 + i18n).

   --

   CHARSET
            BASESET  "ISO Registration Number 177//CHARSET
                      ISO/IEC 10646-1:1993 UCS-4 with
                      implementation level 3//ESC 2/5 2/15 4/6"
            DESCSET  0   9     UNUSED
                     9   2     9
                     11  2     UNUSED
                     13  1     13
                     14  18    UNUSED
                     32  95    32
                     127 1     UNUSED
                     128 32    UNUSED
                     160 2147483486 160
   --
       In ISO 10646, the positions with hexadecimal
       values 0000D800 - 0000DFFF, used in the UTF-16



Yergeau, et. al.            Standards Track                    [Page 35]

RFC 2070               HTML Internationalization            January 1997


       encoding of UCS-4, are reserved, as well as the last
       two code values in each plane of UCS-4, i.e. all
       values of the hexadecimal form xxxxFFFE or xxxxFFFF.
       These code values or the corresponding numeric
       character references must not be included when
       generating a new HTML document, and they should be
       ignored if encountered when processing a HTML
       document.
   --

   CAPACITY        SGMLREF
                   TOTALCAP        150000
                   GRPCAP          150000
             ENTCAP         150000

   SCOPE    DOCUMENT

   SYNTAX
            SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
              17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 127

            BASESET  "ISO 646IRV:1991//CHARSET
                      International Reference Version
                      (IRV)//ESC 2/8 4/2"
            DESCSET  0 128 0

            FUNCTION
                     RE            13
                     RS            10
                     SPACE         32
                     TAB SEPCHAR    9

            NAMING   LCNMSTRT ""
                     UCNMSTRT ""
                     LCNMCHAR ".-"
                     UCNMCHAR ".-"
                     NAMECASE GENERAL YES
                              ENTITY  NO
            DELIM    GENERAL  SGMLREF
                     SHORTREF SGMLREF
            NAMES    SGMLREF
            QUANTITY SGMLREF
                     ATTSPLEN 2100
                     LITLEN   1024
                     NAMELEN  72    -- somewhat arbitrary; taken from
                                   internet line length conventions --
                     PILEN    1024
                     TAGLVL   100



Yergeau, et. al.            Standards Track                    [Page 36]

RFC 2070               HTML Internationalization            January 1997


                     TAGLEN   2100
                     GRPGTCNT 150
                     GRPCNT   64

   FEATURES
     MINIMIZE
       DATATAG  NO
       OMITTAG  YES
       RANK     NO
       SHORTTAG YES
     LINK
       SIMPLE   NO
       IMPLICIT NO
       EXPLICIT NO
     OTHER
       CONCUR   NO
       SUBDOC   NO
       FORMAL   YES
     APPINFO    "SDA"  -- conforming SGML Document Access application
                 --
   >

7.3. ISO Latin 1 entity set

   The following public text lists each of the characters specified in
   the Added Latin 1 entity set, along with its name, syntax for use,
   and description. This list is derived from ISO Standard
   8879:1986//ENTITIES Added Latin 1//EN. HTML includes the entire
   entity set, and adds entities for all missing characters in the right
   part of ISO-8859-1.

    <!-- (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, provided this notice is included in all copies.
      -->
    <!-- Character entity set. Typical invocation:
         <!ENTITY % ISOlat1 PUBLIC
           "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML">
         %ISOlat1;
      -->
    <!ENTITY nbsp   CDATA "&#160;" -- no-break space -->
    <!ENTITY iexcl  CDATA "&#161;" -- inverted exclamation mark -->
    <!ENTITY cent   CDATA "&#162;" -- cent sign -->
    <!ENTITY pound  CDATA "&#163;" -- pound sterling sign -->
    <!ENTITY curren CDATA "&#164;" -- general currency sign -->
    <!ENTITY yen    CDATA "&#165;" -- yen sign -->
    <!ENTITY brvbar CDATA "&#166;" -- broken (vertical) bar -->



Yergeau, et. al.            Standards Track                    [Page 37]

RFC 2070               HTML Internationalization            January 1997


    <!ENTITY sect   CDATA "&#167;" -- section sign -->
    <!ENTITY uml    CDATA "&#168;" -- umlaut (dieresis) -->
    <!ENTITY copy   CDATA "&#169;" -- copyright sign -->
    <!ENTITY ordf   CDATA "&#170;" -- ordinal indicator, feminine -->
    <!ENTITY laquo  CDATA "&#171;" -- angle quotation mark, left -->
    <!ENTITY not    CDATA "&#172;" -- not sign -->
    <!ENTITY shy    CDATA "&#173;" -- soft hyphen -->
    <!ENTITY reg    CDATA "&#174;" -- registered sign -->
    <!ENTITY macr   CDATA "&#175;" -- macron -->
    <!ENTITY deg    CDATA "&#176;" -- degree sign -->
    <!ENTITY plusmn CDATA "&#177;" -- plus-or-minus sign -->
    <!ENTITY sup2   CDATA "&#178;" -- superscript two -->
    <!ENTITY sup3   CDATA "&#179;" -- superscript three -->
    <!ENTITY acute  CDATA "&#180;" -- acute accent -->
    <!ENTITY micro  CDATA "&#181;" -- micro sign -->
    <!ENTITY para   CDATA "&#182;" -- pilcrow (paragraph sign) -->
    <!ENTITY middot CDATA "&#183;" -- middle dot -->
    <!ENTITY cedil  CDATA "&#184;" -- cedilla -->
    <!ENTITY sup1   CDATA "&#185;" -- superscript one -->
    <!ENTITY ordm   CDATA "&#186;" -- ordinal indicator, masculine -->
    <!ENTITY raquo  CDATA "&#187;" -- angle quotation mark, right -->
    <!ENTITY frac14 CDATA "&#188;" -- fraction one-quarter -->
    <!ENTITY frac12 CDATA "&#189;" -- fraction one-half -->
    <!ENTITY frac34 CDATA "&#190;" -- fraction three-quarters -->
    <!ENTITY iquest CDATA "&#191;" -- inverted question mark -->
    <!ENTITY Agrave CDATA "&#192;" -- capital A, grave accent -->
    <!ENTITY Aacute CDATA "&#193;" -- capital A, acute accent -->
    <!ENTITY Acirc  CDATA "&#194;" -- capital A, circumflex accent -->
    <!ENTITY Atilde CDATA "&#195;" -- capital A, tilde -->
    <!ENTITY Auml   CDATA "&#196;" -- capital A, dieresis or umlaut -->
    <!ENTITY Aring  CDATA "&#197;" -- capital A, ring -->
    <!ENTITY AElig  CDATA "&#198;" -- capital AE diphthong (ligature) -->
    <!ENTITY Ccedil CDATA "&#199;" -- capital C, cedilla -->
    <!ENTITY Egrave CDATA "&#200;" -- capital E, grave accent -->
    <!ENTITY Eacute CDATA "&#201;" -- capital E, acute accent -->
    <!ENTITY Ecirc  CDATA "&#202;" -- capital E, circumflex accent -->
    <!ENTITY Euml   CDATA "&#203;" -- capital E, dieresis or umlaut -->
    <!ENTITY Igrave CDATA "&#204;" -- capital I, grave accent -->
    <!ENTITY Iacute CDATA "&#205;" -- capital I, acute accent -->
    <!ENTITY Icirc  CDATA "&#206;" -- capital I, circumflex accent -->
    <!ENTITY Iuml   CDATA "&#207;" -- capital I, dieresis or umlaut -->
    <!ENTITY ETH    CDATA "&#208;" -- capital Eth, Icelandic -->
    <!ENTITY Ntilde CDATA "&#209;" -- capital N, tilde -->
    <!ENTITY Ograve CDATA "&#210;" -- capital O, grave accent -->
    <!ENTITY Oacute CDATA "&#211;" -- capital O, acute accent -->
    <!ENTITY Ocirc  CDATA "&#212;" -- capital O, circumflex accent -->
    <!ENTITY Otilde CDATA "&#213;" -- capital O, tilde -->
    <!ENTITY Ouml   CDATA "&#214;" -- capital O, dieresis or umlaut -->



Yergeau, et. al.            Standards Track                    [Page 38]

RFC 2070               HTML Internationalization            January 1997


    <!ENTITY times  CDATA "&#215;" -- multiply sign -->
    <!ENTITY Oslash CDATA "&#216;" -- capital O, slash -->
    <!ENTITY Ugrave CDATA "&#217;" -- capital U, grave accent -->
    <!ENTITY Uacute CDATA "&#218;" -- capital U, acute accent -->
    <!ENTITY Ucirc  CDATA "&#219;" -- capital U, circumflex accent -->
    <!ENTITY Uuml   CDATA "&#220;" -- capital U, dieresis or umlaut -->
    <!ENTITY Yacute CDATA "&#221;" -- capital Y, acute accent -->
    <!ENTITY THORN  CDATA "&#222;" -- capital Thorn, Icelandic -->
    <!ENTITY szlig  CDATA "&#223;" -- small sharp s, German (sz ligature) -->
    <!ENTITY agrave CDATA "&#224;" -- small a, grave accent -->
    <!ENTITY aacute CDATA "&#225;" -- small a, acute accent -->
    <!ENTITY acirc  CDATA "&#226;" -- small a, circumflex accent -->
    <!ENTITY atilde CDATA "&#227;" -- small a, tilde -->
    <!ENTITY auml   CDATA "&#228;" -- small a, dieresis or umlaut -->
    <!ENTITY aring  CDATA "&#229;" -- small a, ring -->
    <!ENTITY aelig  CDATA "&#230;" -- small ae diphthong (ligature) -->
    <!ENTITY ccedil CDATA "&#231;" -- small c, cedilla -->
    <!ENTITY egrave CDATA "&#232;" -- small e, grave accent -->
    <!ENTITY eacute CDATA "&#233;" -- small e, acute accent -->
    <!ENTITY ecirc  CDATA "&#234;" -- small e, circumflex accent -->
    <!ENTITY euml   CDATA "&#235;" -- small e, dieresis or umlaut -->
    <!ENTITY igrave CDATA "&#236;" -- small i, grave accent -->
    <!ENTITY iacute CDATA "&#237;" -- small i, acute accent -->
    <!ENTITY icirc  CDATA "&#238;" -- small i, circumflex accent -->
    <!ENTITY iuml   CDATA "&#239;" -- small i, dieresis or umlaut -->
    <!ENTITY eth    CDATA "&#240;" -- small eth, Icelandic -->
    <!ENTITY ntilde CDATA "&#241;" -- small n, tilde -->
    <!ENTITY ograve CDATA "&#242;" -- small o, grave accent -->
    <!ENTITY oacute CDATA "&#243;" -- small o, acute accent -->
    <!ENTITY ocirc  CDATA "&#244;" -- small o, circumflex accent -->
    <!ENTITY otilde CDATA "&#245;" -- small o, tilde -->
    <!ENTITY ouml   CDATA "&#246;" -- small o, dieresis or umlaut -->
    <!ENTITY divide CDATA "&#247;" -- divide sign -->
    <!ENTITY oslash CDATA "&#248;" -- small o, slash -->
    <!ENTITY ugrave CDATA "&#249;" -- small u, grave accent -->
    <!ENTITY uacute CDATA "&#250;" -- small u, acute accent -->
    <!ENTITY ucirc  CDATA "&#251;" -- small u, circumflex accent -->
    <!ENTITY uuml   CDATA "&#252;" -- small u, dieresis or umlaut -->
    <!ENTITY yacute CDATA "&#253;" -- small y, acute accent -->
    <!ENTITY thorn  CDATA "&#254;" -- small thorn, Icelandic -->
    <!ENTITY yuml   CDATA "&#255;" -- small y, dieresis or umlaut -->






