diff etc/sgml/html.dtd @ 2:ac2d302a0011 r19-15b2

Import from CVS: tag r19-15b2
author cvs
date Mon, 13 Aug 2007 08:46:35 +0200
parents 376386a54a3c
children 131b0175ea99
line wrap: on
line diff
--- a/etc/sgml/html.dtd	Mon Aug 13 08:45:53 2007 +0200
+++ b/etc/sgml/html.dtd	Mon Aug 13 08:46:35 2007 +0200
@@ -1,308 +1,616 @@
-<!SGML  "ISO 8879:1986"
---
-        Document Type Definition for the HyperText Markup Language 
-        as used by the World Wide Web application (HTML DTD).
-
-        NOTE: This is a definition of HTML with respect to
-        SGML, and assumes an understanding of SGML terms.
-
-        If you find bugs in this DTD or find it does not compile
-        under some circumstances please mail www-bug@info.cern.ch
---
-
-CHARSET
-         BASESET  "ISO 646:1983//CHARSET
-                   International Reference Version (IRV)//ESC 2/5 4/0"
-         DESCSET  0   9   UNUSED
-                  9   2   9
-                  11  2   UNUSED
-                  13  1   13
-                  14  18  UNUSED
-                  32  95  32
-                  127 1   UNUSED
-     BASESET   "ISO Registration Number 100//CHARSET
-                ECMA-94 Right Part of Latin Alphabet Nr. 1//ESC 2/13 4/1"
-     DESCSET   128 32 UNUSED
-               160 95 32
-               255  1 UNUSED
-
+<!--    html.dtd
 
-CAPACITY        SGMLREF
-                TOTALCAP        150000
-                GRPCAP          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 255
-         BASESET  "ISO 646:1983//CHARSET
-                   International Reference Version (IRV)//ESC 2/5 4/0"
-         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
-                  NAMELEN  34
-                  TAGLVL   100
-                  LITLEN   1024
-                  GRPGTCNT 150
-                  GRPCNT   64                   
+        Document Type Definition for the HyperText Markup Language
+                 (HTML DTD)
 
-FEATURES
-  MINIMIZE
-    DATATAG  NO
-    OMITTAG  NO
-    RANK     NO
-    SHORTTAG NO
-  LINK
-    SIMPLE   NO
-    IMPLICIT NO
-    EXPLICIT NO
-  OTHER
-    CONCUR   NO
-    SUBDOC   NO
-    FORMAL   YES
-  APPINFO    NONE
->
-
-<!DOCTYPE HTML [
-<!-- Jul 1 93 -->
-<!--    Regarding clause 6.1, SGML Document:
-
-        [1] SGML document = SGML document entity,
-            (SGML subdocument entity |
-            SGML text entity | non-SGML data entity)*
-
-        The role of SGML document entity is filled by this DTD,
-        followed by the conventional HTML data stream.
--->
-
-<!-- DTD definitions -->
-
-<!ENTITY % heading "H1|H2|H3|H4|H5|H6" >
-<!ENTITY % list " UL | OL | DIR | MENU ">
-<!ENTITY % literal " XMP | LISTING ">
+        $Id: html.dtd,v 1.1.1.2 1996/12/18 03:43:03 steve Exp $
 
-<!ENTITY % headelement
-         " TITLE | NEXTID |ISINDEX" >
-
-<!ENTITY % bodyelement
-         "P | HR | %heading |
-         %list | DL | ADDRESS | PRE | BLOCKQUOTE
-        | %literal">
-
-<!ENTITY % oldstyle "%headelement | %bodyelement | #PCDATA">
-
-<!ENTITY % URL "CDATA"
-        -- The term URL means a CDATA attribute
-           whose value is a Uniform Resource Locator,
-           as defined. (A URN may also be usable here when defined.)
-        -->
-
-<!ENTITY % linkattributes
-        "NAME NMTOKEN #IMPLIED
-        HREF %URL;  #IMPLIED
-        REL CDATA #IMPLIED -- forward relationship type --
-        REV CDATA #IMPLIED -- reversed relationship type
-                              to referent data:
+        Author: Daniel W. Connolly <connolly@w3.org>
+        See Also: html.decl, html-1.dtd
+          http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html
+- -->
 
-                                PARENT CHILD, SIBLING, NEXT, TOP,
-                                DEFINITION, UPDATE, ORIGINAL etc. --
-
-        URN CDATA #IMPLIED -- universal resource number --
-
-        TITLE CDATA #IMPLIED -- advisory only --
-
-        METHODS NAMES #IMPLIED -- supported public methods of the object:
-                                        TEXTSEARCH, GET, HEAD, ... --
-
-        ">
-
-
-<!-- Document Element -->
-
-<!ELEMENT HTML O O  (( HEAD | BODY | %oldstyle )*, PLAINTEXT?)>
-
-<!ELEMENT HEAD - -  ( TITLE?  & ISINDEX?  & NEXTID?  & LINK* 
-                              & BASE?)>
-
-<!ELEMENT TITLE - -  RCDATA
-          -- 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.
-          -->
+<!ENTITY % HTML.Version
+        "-//IETF//DTD HTML 2.0//EN"
 
-<!ELEMENT ISINDEX - O EMPTY
-          -- WWW clients should offer the option to perform a search on
-             documents containing ISINDEX.
-          -->
- 
-<!ELEMENT NEXTID - O EMPTY>
-<!ATTLIST NEXTID N NAME #REQUIRED
-          -- The number should be a name suitable for use
-             for the ID of a new element. When used, the value
-             has its numeric part incremented. EG Z67 becomes Z68
-          -->
-<!ELEMENT LINK - O EMPTY>
-<!ATTLIST LINK
-        %linkattributes>
-        
-<!ELEMENT BASE - O EMPTY    -- Reference context for URLS -->
-<!ATTLIST BASE
-
-        HREF %URL; #IMPLIED
+        -- Typical usage:
 
-        >
-<!ENTITY % inline "EM | TT | STRONG | B | I | U |
-                        CODE | SAMP | KBD | KEY | VAR | DFN | CITE "
-        >
-
-<!ELEMENT (%inline;) - - (#PCDATA)>
-
-<!ENTITY % text "#PCDATA | IMG | %inline;">
-
-<!ENTITY % htext "A | %text"    -- Plus links, no structure -->
-
-<!ENTITY % stext                -- as htext but also nested structure --
-                        "P | HR | %list | DL | ADDRESS
-                        | PRE | BLOCKQUOTE
-                        | %literal | %htext">
-
-
-<!ELEMENT BODY - -  (%bodyelement|%htext;)*>
-
-
-<!ELEMENT A     - -  (%text)>
-<!ATTLIST A
-        %linkattributes;
-        >
-
-<!ELEMENT IMG    - O EMPTY --  Embedded image -->
-<!ATTLIST IMG
-        SRC %URL;  #IMPLIED     -- URL of document to embed --
+            <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+            <html>
+            ...
+            </html>
+        --
         >
 
 
-<!ELEMENT P     - O EMPTY -- separates paragraphs -->
-<!ELEMENT HR    - O EMPTY -- horizontal rule -->
+<!--============ 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.
+        -->
 
-<!ELEMENT ( %heading )  - -  (%htext;)+>
+<!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 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">
 
-<!ELEMENT DL    - -  (DT | DD | %stext;)*>
-<!--    Content should match ((DT,(%htext;)+)+,(DD,(%stext;)+))
-        But mixed content is messy.  -Dan Connolly
-  -->
- 
-<!ELEMENT DT    - O EMPTY>
-<!ELEMENT DD    - O EMPTY>
+<!ENTITY % list "UL|OL|DIR|MENU" >
+
+
+<!--======= 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       -->
+
+
+<!--========= SGML Document Access (SDA) Parameter Entities =====-->
 
-<!ELEMENT (UL|OL) - -  (%htext;|LI|P)+>
-<!ELEMENT (DIR|MENU) - -  (%htext;|LI)+>
-<!--    Content should match ((LI,(%htext;)+)+)
-        But mixed content is messy.
-  -->
-<!ATTLIST (%list)
-        COMPACT NAME #IMPLIED -- COMPACT, etc.--
+<!-- HTML 2.0 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"
+          -- 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">
+
+<!ELEMENT (%font;|%phrase) - - (%text)*>
+<!ATTLIST ( TT | CODE | SAMP | KBD | VAR )
+        %SDAFORM; "Lit"
+        >
+<!ATTLIST ( B | STRONG )
+        %SDAFORM; "B"
+        >
+<!ATTLIST ( I | EM | CITE )
+        %SDAFORM; "It"
         >
 
-<!ELEMENT LI    - O EMPTY>
+<!-- <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>
+<!ATTLIST BR
+        %SDAPREF; "&#RE;"
+        >
+
+<!-- <BR>       Line break      -->
+
+
+<!--========= Link Markup ======================-->
+
+<!ENTITY % linkType "NAME">
+
+<!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 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)    -->
+
+
+<!--========== Images ==========================-->
+
+<!ELEMENT IMG    - O EMPTY>
+<!ATTLIST IMG
+        SRC %URI;  #REQUIRED
+        ALT CDATA #IMPLIED
+        ALIGN (top|middle|bottom) #IMPLIED
+        ISMAP (ISMAP) #IMPLIED
+        %SDAPREF; "<Fig><?SDATrans Img: #AttList>#AttVal(Alt)</Fig>"
+        >
 
-<!ELEMENT BLOCKQUOTE - - (%htext;|P)+
-        -- for quoting some other source -->
+<!-- <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)*>
+<!ATTLIST P
+        %SDAFORM; "Para"
+        >
+
+<!-- <P>        Paragraph       -->
+
+
+<!--========== Headings, Titles, Sections ===============-->
+
+<!ELEMENT HR    - O EMPTY>
+<!ATTLIST HR
+        %SDAPREF; "&#RE;&#RE;"
+        >
+
+<!-- <HR>       Horizontal rule -->
 
-<!ELEMENT ADDRESS - - (%htext;|P)+>
+<!ELEMENT ( %heading )  - -  (%text;)*>
+<!ATTLIST H1
+        %SDAFORM; "H1"
+        >
+<!ATTLIST H2
+        %SDAFORM; "H2"
+        >
+<!ATTLIST H3
+        %SDAFORM; "H3"
+        >
+<!ATTLIST H4
+        %SDAFORM; "H4"
+        >
+<!ATTLIST H5
+        %SDAFORM; "H5"
+        >
+<!ATTLIST H6
+        %SDAFORM; "H6"
+        >
 
-<!ELEMENT PRE - - (#PCDATA|%inline|A|P)+>
+<!-- <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">
+
+<!ENTITY % block "P | %list | DL
+        | %preformatted
+        | %block.forms">
+
+<!ENTITY % flow "(%text|%block)*">
+
+<!ENTITY % pre.content "#PCDATA | A | HR | BR">
+
+<!ELEMENT PRE - - (%pre.content)*>
 <!ATTLIST PRE
         WIDTH NUMBER #implied
+        %SDAFORM; "Lit"
         >
 
-<!-- Mnemonic character entities. -->
-<!ENTITY AElig "&#198;"  -- capital AE diphthong (ligature) -->
-<!ENTITY Aacute "&#193;" -- capital A, acute accent -->
-<!ENTITY Acirc "&#194;"  -- capital A, circumflex accent -->
-<!ENTITY Agrave "&#192;" -- capital A, grave accent -->
-<!ENTITY Aring "&#197;"  -- capital A, ring -->
-<!ENTITY Atilde "&#195;" -- capital A, tilde -->
-<!ENTITY Auml "&#196;"   -- capital A, dieresis or umlaut mark -->
-<!ENTITY Ccedil "&#199;" -- capital C, cedilla -->
-<!ENTITY ETH "&#208;"    -- capital Eth, Icelandic -->
-<!ENTITY Eacute "&#201;" -- capital E, acute accent -->
-<!ENTITY Ecirc "&#202;"  -- capital E, circumflex accent -->
-<!ENTITY Egrave "&#200;" -- capital E, grave accent -->
-<!ENTITY Euml "&#203;"   -- capital E, dieresis or umlaut mark -->
-<!ENTITY Iacute "&#205;" -- capital I, acute accent -->
-<!ENTITY Icirc "&#206;"  -- capital I, circumflex accent -->
-<!ENTITY Igrave "&#204;" -- capital I, grave accent -->
-<!ENTITY Iuml "&#207;"   -- capital I, dieresis or umlaut mark -->
-<!ENTITY Ntilde "&#209;" -- capital N, tilde -->
-<!ENTITY Oacute "&#211;" -- capital O, acute accent -->
-<!ENTITY Ocirc "&#212;"  -- capital O, circumflex accent -->
-<!ENTITY Ograve "&#210;" -- capital O, grave accent -->
-<!ENTITY Oslash "&#216;" -- capital O, slash -->
-<!ENTITY Otilde "&#213;" -- capital O, tilde -->
-<!ENTITY Ouml "&#214;"   -- capital O, dieresis or umlaut mark -->
-<!ENTITY THORN "&#222;"  -- capital THORN, Icelandic -->
-<!ENTITY Uacute "&#218;" -- capital U, acute accent -->
-<!ENTITY Ucirc "&#219;"  -- capital U, circumflex accent -->
-<!ENTITY Ugrave "&#217;" -- capital U, grave accent -->
-<!ENTITY Uuml "&#220;"   -- capital U, dieresis or umlaut mark -->
-<!ENTITY Yacute "&#221;" -- capital Y, acute accent -->
-<!ENTITY aacute "&#225;" -- small a, acute accent -->
-<!ENTITY acirc "&#226;"  -- small a, circumflex accent -->
-<!ENTITY aelig "&#230;"  -- small ae diphthong (ligature) -->
-<!ENTITY agrave "&#224;" -- small a, grave accent -->
-<!ENTITY amp "&#38;"     -- ampersand -->
-<!ENTITY aring "&#229;"  -- small a, ring -->
-<!ENTITY atilde "&#227;" -- small a, tilde -->
-<!ENTITY auml "&#228;"   -- small a, dieresis or umlaut mark -->
-<!ENTITY ccedil "&#231;" -- small c, cedilla -->
-<!ENTITY eacute "&#233;" -- small e, acute accent -->
-<!ENTITY ecirc "&#234;"  -- small e, circumflex accent -->
-<!ENTITY egrave "&#232;" -- small e, grave accent -->
-<!ENTITY eth "&#240;"    -- small eth, Icelandic -->
-<!ENTITY euml "&#235;"   -- small e, dieresis or umlaut mark -->
-<!ENTITY gt "&#62;"      -- greater than -->
-<!ENTITY iacute "&#237;" -- small i, acute accent -->
-<!ENTITY icirc "&#238;"  -- small i, circumflex accent -->
-<!ENTITY igrave "&#236;" -- small i, grave accent -->
-<!ENTITY iuml "&#239;"   -- small i, dieresis or umlaut mark -->
-<!ENTITY lt "&#60;"      -- less than -->
-<!ENTITY nbsp "&#32;"    --  should be NON_BREAKING space -->
-<!ENTITY ntilde "&#241;" -- small n, tilde -->
-<!ENTITY oacute "&#243;" -- small o, acute accent -->
-<!ENTITY ocirc "&#244;"  -- small o, circumflex accent -->
-<!ENTITY ograve "&#242;" -- small o, grave accent -->
-<!ENTITY oslash "&#248;" -- small o, slash -->
-<!ENTITY otilde "&#245;" -- small o, tilde -->
-<!ENTITY ouml "&#246;"   -- small o, dieresis or umlaut mark -->
-<!ENTITY szlig "&#223;"  -- small sharp s, German (sz ligature) -->
-<!ENTITY thorn "&#254;"  -- small thorn, Icelandic -->
-<!ENTITY uacute "&#250;" -- small u, acute accent -->
-<!ENTITY ucirc "&#251;"  -- small u, circumflex accent -->
-<!ENTITY ugrave "&#249;" -- small u, grave accent -->
-<!ENTITY uuml "&#252;"   -- small u, dieresis or umlaut mark -->
-<!ENTITY yacute "&#253;" -- small y, acute accent -->
-<!ENTITY yuml "&#255;"   -- small y, dieresis or umlaut mark -->
+<!-- <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>
+<!ATTLIST XMP
+        %SDAFORM; "Lit"
+        %SDAPREF; "Example:&#RE;"
+        >
+<!ATTLIST LISTING
+        %SDAFORM; "Lit"
+        %SDAPREF; "Listing:&#RE;"
+        >
+
+<!-- <XMP>              Example section         -->
+<!-- <LISTING>          Computer listing        -->
+
+<!ELEMENT PLAINTEXT - O %literal>
+<!-- <PLAINTEXT>        Plain text passage      -->
+
+<!ATTLIST PLAINTEXT
+        %SDAFORM; "Lit"
+        >
+]]>
+
+
+<!--========== Lists ==================-->
+
+<!ELEMENT DL    - -  (DT | DD)+>
+<!ATTLIST DL
+        COMPACT (COMPACT) #IMPLIED
+        %SDAFORM; "List"
+        %SDAPREF; "Definition List:"
+        >
+
+<!ELEMENT DT    - O (%text)*>
+<!ATTLIST DT
+        %SDAFORM; "Term"
+        >
+
+<!ELEMENT DD    - O %flow>
+<!ATTLIST DD
+        %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
+        COMPACT (COMPACT) #IMPLIED
+        %SDAFORM; "List"
+        >
+<!ATTLIST UL
+        COMPACT (COMPACT) #IMPLIED
+        %SDAFORM; "List"
+        >
+<!-- <UL>               Unordered list                  -->
+<!-- <UL COMPACT>       Compact list style              -->
+<!-- <OL>               Ordered, or numbered list       -->
+<!-- <OL COMPACT>       Compact list style              -->
+
+
+<!ELEMENT (DIR|MENU) - -  (LI)+ -(%block)>
+<!ATTLIST DIR
+        COMPACT (COMPACT) #IMPLIED
+        %SDAFORM; "List"
+        %SDAPREF; "<LHead>Directory</LHead>"
+        >
+<!ATTLIST MENU
+        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
+        %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>
+
+<!-- <BODY>     Document body   -->
+
+<!ELEMENT BLOCKQUOTE - - %body.content>
+<!ATTLIST BLOCKQUOTE
+        %SDAFORM; "BQ"
+        >
+
+<!-- <BLOCKQUOTE>       Quoted passage  -->
+
+<!ELEMENT ADDRESS - - (%text|P)*>
+<!ATTLIST  ADDRESS
+        %SDAFORM; "Lit"
+        %SDAPREF; "Address:&#RE;"
+        >
+
+<!-- <ADDRESS>  Address, signature, or byline   -->
+
+
+<!--======= 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"
+        %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     -->
 
-<!-- deprecated elements -->
+<!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
+        %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                 -->
+
+<!ELEMENT SELECT - - (OPTION+) -(INPUT|SELECT|TEXTAREA)>
+<!ATTLIST SELECT
+        NAME CDATA #REQUIRED
+        SIZE NUMBER #IMPLIED
+        MULTIPLE (MULTIPLE) #IMPLIED
+        %SDAFORM; "List"
+        %SDAPREF;
+        "<LHead>Select #AttVal(Multiple)</LHead>"
+        >
 
-<!ELEMENT (%literal) - -  CDATA>
+<!-- <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
+        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 PLAINTEXT - O EMPTY>
+<!ELEMENT TEXTAREA - - (#PCDATA)* -(INPUT|SELECT|TEXTAREA)>
+<!ATTLIST TEXTAREA
+        NAME CDATA #REQUIRED
+        ROWS NUMBER #REQUIRED
+        COLS NUMBER #REQUIRED
+        %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 ======================-->
 
-<!-- Local Variables: -->
-<!-- mode: sgml -->
-<!-- compile-command: "sgmls -s -p " -->
-<!-- end: -->
-]>
+<![ %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)>
+
+<!-- <HEAD>     Document head   -->
+
+<!ELEMENT TITLE - -  (#PCDATA)*>
+<!ATTLIST TITLE
+        %SDAFORM; "Ti"    >
+
+<!-- <TITLE>    Title of document -->
+
+<!ELEMENT LINK - O EMPTY>
+<!ATTLIST LINK
+        HREF %URI #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 METHODS="..."> Operations allowed (advisory)         -->
+
+<!ELEMENT ISINDEX - O EMPTY>
+<!ATTLIST ISINDEX
+        %SDAPREF;
+   "<Para>[Document is indexed/searchable.]</Para>">
+
+<!-- <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 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    >
+
+<!-- <META>                     Generic Metainformation         -->
+<!-- <META HTTP-EQUIV=...>      HTTP response header name       -->
+<!-- <META NAME=...>            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 '%HTML.Version;'">
+
+<!ATTLIST HTML
+        %version.attr;
+        %SDAFORM; "Book"
+        >
+
+<!-- <HTML>                     HTML Document   -->