/[pub]/test/html.dtd
Suika

Diff of /test/html.dtd

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.3 by connolly, Thu Jan 7 00:38:36 1993 UTC revision 1.20 by connolly, Mon Sep 26 16:10:19 1994 UTC
# Line 1  Line 1 
1  <!SGML  "ISO 8879:1986"  <!--    html.dtd
 --  
         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 understaning of SGML terms.  
   
         For a description of HTML in layman's terms, see  
   
         "HTML: A Representation for Nodes in the World Wide Web"  
                 by Dan Connolly.  
   
         aka  
   
         http://info.cern.ch/hypertext/WWW/MarkUp/MarkUp.html  
                 by <connolly@convex.com>  
 --  
   
 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  
   
 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                    
   
 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 [  
 <!--  
  $Id$  
 -->  
2    
3  <!--    Regarding clause 6.1, SGML Document:          Document Type Definition for the HyperText Markup Language (HTML DTD)
4    
5          [1] SGML document = SGML document entity,          $Id$
             (SGML subdocument entity |  
             SGML text entity | non-SGML data entity)*  
6    
7          The role of SGML document entity is filled by this DTD,          Author: Daniel W. Connolly <connolly@hal.com>
8          followed by the conventional HTML data stream.          See Also: html.decl, html-0.dtd, html-1.dtd
9                      http://www.hal.com/%7Econnolly/html-spec/index.html
10                      http://info.cern.ch/hypertext/WWW/MarkUp2/MarkUp.html
11  -->  -->
12    
13  <!-- DTD definitions -->  <!ENTITY % HTML.Version
14            "-//IETF//DTD HTML//EN//2.0"
15    
16            -- Typical usage:
17    
18                <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
19                <html>
20                ...
21                </html>
22            --
23            >
24    
25    
26    <!--================== Feature Test Entities ==============================-->
27    
28    <!ENTITY % HTML.Recommended "IGNORE"
29            -- Certain features of the language are necessary for compatibility
30               with widespread usage, but they may compromise the structural
31               integrity of a document. This feature test entity enables
32               a more prescriptive document type definition that eliminates
33               the above features.
34            -->
35    
36    <![ %HTML.Recommended [
37            <!ENTITY % HTML.Deprecated "IGNORE">
38    ]]>
39    
40    <!ENTITY % HTML.Deprecated "INCLUDE"
41            -- Certain features of the language are necessary for compatibility
42               with earlier versions of the specification, but they tend
43               to be used an implemented inconsistently, and their use is
44               deprecated. This feature test entity enables a document type
45               definition that eliminates these features.
46            -->
47    
48    <!ENTITY % HTML.Highlighting "INCLUDE">
49    <!ENTITY % HTML.Forms "INCLUDE">
50    
51  <!ENTITY % heading "H1|H2|H3|H4|H5|H6" >  <!--================== Imported Names =====================================-->
 <!ENTITY % list "UL|OL|DIR|MENU">  
 <!ENTITY % literal "XMP|LISTING">  
52    
53  <!ENTITY % headelement  <!ENTITY % Content-Type "CDATA"
54           "TITLE | NEXTID | ISINDEX" >          -- meaning a MIME content type, as per RFC1521
55            -->
56    
57    <!ENTITY % HTTP-Method "GET | POST"
58            -- as per HTTP specification
59            -->
60    
61  <!ENTITY % bodyelement  <!ENTITY % URI "CDATA"
62           "P | A | %heading |          -- The term URI means a CDATA attribute
63           %list | DL | HEADERS | ADDRESS | PRE | BLOCKQUOTE             whose value is a Uniform Resource Identifier,
64          | %literal">             as defined by
65            "Universal Resource Identifiers" by Tim Berners-Lee
66            aka http://info.cern.ch/hypertext/WWW/Addressing/URL/URI_Overview.html
67            aka RFC 1630
68    
69  <!ENTITY % oldstyle "%headelement | %bodyelement | #PCDATA">          Note that CDATA attributes are limited by the LITLEN
70            capacity (1024 in the current version of html.decl),
71            so that URIs in HTML have a bounded length.
72    
73            -->
74    
75    
76    <!-- DTD "macros" -->
77    
78    <!ENTITY % heading "H1|H2|H3|H4|H5|H6">
79    
80    <!ENTITY % list " UL | OL | DIR | MENU " >
81    
82    
83    <!--================ Character mnemonic entities ==========================-->
84    
 <!-- Characters from various Latin alphabets. -->  
85  <!ENTITY % ISOlat1 PUBLIC  <!ENTITY % ISOlat1 PUBLIC
86          "ISO 8879:1986//ENTITIES Added Latin 1//EN">    "-//IETF//ENTITIES Added Latin 1 for HTML//EN">
87  %ISOlat1;  %ISOlat1;
88    
89    <!ENTITY amp CDATA "&#38;"     -- ampersand          -->
90    <!ENTITY gt CDATA "&#62;"      -- greater than       -->
91    <!ENTITY lt CDATA "&#60;"      -- less than          -->
92    <!ENTITY quot CDATA "&#34;"    -- double quote       -->
93    
 <!-- Document Element -->  
94    
95  <!ELEMENT HTML O O  (HEAD | BODY | %oldstyle)*>  <!--=================== Text Markup =======================================-->
96    
97  <!ELEMENT HEAD - -  (TITLE? & ISINDEX? & NEXTID?)>  <![ %HTML.Highlighting [
98  <!-- LINK element (from timbl) -->  
99  <!ATTLIST HEAD  <!ENTITY % font " TT | B | I ">
100          EXPIRES NUMBER #IMPLIED -- expiration date  
101                                  in ISO format: yyyymmddhhmmssZ --  <!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE ">
102          >  
103    <!ENTITY % text "#PCDATA | A | IMG | BR | %phrase | %font">
104  <!ELEMENT TITLE - -  RCDATA  
105            -- The TITLE element is not considered part of the flow of text.  <!ENTITY % pre.content "#PCDATA | A | HR | BR | %font | %phrase">
              It should be displayed, for example as the page header or  
              window title.  
           -->  
   
 <!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 NUMBER #REQUIRED  
           -- The number should be the highest number that appears in  
              any NAME attribute in the document.  
           -->  
           
 <!ENTITY % inline "EM | TT | STRONG | B | I | U |  
                         CODE | SAMP | KBD | KEY | VAR | DFN | CITE "  
         >  
106    
107  <!ELEMENT (%inline;) - - (#PCDATA)>  <!ELEMENT (%font;|%phrase) - - (%text)+>
108    
109  <!ENTITY % text "#PCDATA | %inline;">  ]]>
110    
111  <!ELEMENT BODY - -  (%bodyelement|%text;)*>  <!ENTITY % text "#PCDATA | A | IMG | BR">
112    
113  <!ENTITY % URL "CDATA"  <!ELEMENT BR    - O EMPTY>
114          -- The term URL means a CDATA attribute  
115             whose value is a Universal Resource Locator,  
116             as defined in ftp://info.cern.ch/pub/www/doc/url3.txt  <!--================== Link Markup ========================================-->
117    
118    <![ %HTML.Recommended [
119            <!ENTITY % linkName "ID">
120    ]]>
121    
122    <!ENTITY % linkName "CDATA">
123    
124    <!ENTITY % linkType "NAME"
125            -- a list of these will be specified at a later date -->
126    
127    <!ENTITY % linkExtraAttributes
128            "REL %linkType #IMPLIED -- forward relationship type --
129            REV %linkType #IMPLIED -- reversed relationship type
130                                  to referent data --
131            URN CDATA #IMPLIED -- universal resource number --
132    
133            TITLE CDATA #IMPLIED -- advisory only --
134            METHODS NAMES #IMPLIED -- supported public methods of the object:
135                                            TEXTSEARCH, GET, HEAD, ... --
136            ">
137    
138    <![ %HTML.Recommended [
139            <!ENTITY % A.content   "(%text)+"
140            -- <H1><a name="xxx">Heading</a></H1>
141                    is preferred to
142               <a name="xxx"><H1>Heading</H1></a>
143          -->          -->
144    ]]>
145    
146    <!ENTITY % A.content   "(%heading|%text)+">
147    
148    <!ELEMENT A     - - %A.content -(A)>
149    
 <!ELEMENT A     - -  (#PCDATA)>  
150  <!ATTLIST A  <!ATTLIST A
151          NAME NMTOKEN #IMPLIED          HREF %URI #IMPLIED
152          HREF %URL; #IMPLIED          NAME %linkName #IMPLIED
153          TYPE NAME #IMPLIED -- type of relashionship to referent data:          %linkExtraAttributes;
154                                  PARENT CHILD, SIBLING, NEXT, TOP,          >
155                                   DEFINITION, UPDATE, ORIGINAL etc. --  
156          URN CDATA #IMPLIED -- universal resource number. unique doc id --  <!--=================== Images ============================================-->
157          TITLE CDATA #IMPLIED -- advisory only --  
158          METHODS NAMES #IMPLIED -- supported methods of the object:  <!ENTITY % img.alt.default "#IMPLIED"
159                                          TEXTSEARCH, GET, HEAD, ... --          -- ALT attribute required in Level 0 docs -->
160          >  
161    <!ELEMENT IMG    - O EMPTY --  Embedded image -->
162  <!ELEMENT P     - O EMPTY -- separates paragraphs -->  <!ATTLIST IMG
163            SRC %URI;  #REQUIRED     -- URI of document to embed --
164  <!ELEMENT (%heading)    - -  (%text;|A)+>          ALT CDATA %img.alt.default;
165            ALIGN (top|middle|bottom) #IMPLIED
166  <!ELEMENT HEADERS - - (DT | #PCDATA | DD | A)+>          ISMAP (ISMAP) #IMPLIED
167  <!ELEMENT DL    - -  (DT | DD | A | P | %text;)*>          >
168  <!--    Content should match ((DT,(A|%text;)+)+,(DD,(A|%text;)+))  
169          But mixed content is messy.  
170    -->  <!--=================== Paragraphs=========================================-->
171    
172  <!ELEMENT DT    - O EMPTY>  <!ELEMENT P     - O (%text)+>
173  <!ELEMENT DD    - O EMPTY>  
174    
175  <!ELEMENT (%list) - -  (%text;|LI|A|P)+>  <!--=================== Headings, Titles, Sections ========================-->
176  <!--    Content should match ((LI,(A|%text;)+)+)  
177          But mixed content is messy.  <!ELEMENT HR    - O EMPTY -- horizontal rule -->
178    -->  
179    <!ELEMENT ( %heading )  - -  (%text;)+>
180    
181    <!ELEMENT TITLE - -  (#PCDATA)
182              -- The TITLE element is not considered part of the flow of text.
183                 It should be displayed, for example as the page header or
184                 window title.
185              -->
186    
187    
188    <!--=================== Text Flows ========================================-->
189    
190    <![ %HTML.Forms [
191            <!ENTITY % block.forms "| FORM | ISINDEX">
192    ]]>
193    
194    <!ENTITY % block.forms "">
195    
196    <![ %HTML.Deprecated [
197            <!ENTITY % preformatted "PRE | XMP | LISTING">
198    ]]>
199    
200    <!ENTITY % preformatted "PRE">
201    
202    <!ENTITY % block "P | %list | DL
203            | %preformatted
204            | BLOCKQUOTE %block.forms">
205    
206    <!ENTITY % flow "(%text|%block)*">
207    
208    <!ENTITY % pre.content "#PCDATA | A | HR | BR">
209    <!ELEMENT PRE - - (%pre.content)+>
210    
211    <!ATTLIST PRE
212            WIDTH NUMBER #implied
213            >
214    
215    <![ %HTML.Deprecated [
216    
217    <!ENTITY % literal "CDATA"
218            -- special non-conforming parsing mode where
219               the only markup signal is the end tag
220               in full
221            -->
222    
223    <!ELEMENT XMP - -  %literal>
224    <!ELEMENT LISTING - -  %literal>
225    <!ELEMENT PLAINTEXT - O %literal>
226    
227    ]]>
228    
229    
230    <!--=================== Lists =============================================-->
231    
232    <!ELEMENT DL    - -  (DT*, DD?)+>
233    <!ATTLIST DL
234            COMPACT (COMPACT) #IMPLIED>
235    
236    <!ELEMENT DT    - O (%text)+>
237    <!ELEMENT DD    - O %flow>
238    
239    <!ELEMENT (OL|UL) - -  (LI)+>
240    <!ELEMENT (DIR|MENU) - -  (LI)+ -(%block)>
241  <!ATTLIST (%list)  <!ATTLIST (%list)
242          STYLE NAME #IMPLIED -- COMPACT, etc.--          COMPACT (COMPACT) #IMPLIED>
243    
244    <!ELEMENT LI    - O %flow>
245    
246    <!--=================== Document Body =====================================-->
247    
248    <![ %HTML.Recommended [
249            <!ENTITY % body.content "(%heading|%block|HR|ADDRESS)*"
250            -- <h1>Heading</h1>
251               <p>Text ...
252                    is preferred to
253               <h1>Heading</h1>
254               Text ...
255            -->
256    ]]>
257    
258    <!ENTITY % body.content "(%heading | %text | %block | HR | ADDRESS)*">
259    
260    <!ELEMENT BODY O O  %body.content>
261    
262    <!ELEMENT BLOCKQUOTE - - %body.content>
263    
264    <![ %HTML.Recommended [
265            <!ENTITY % address.content "(%text)*">
266    ]]>
267    <!ENTITY % address.content "(%text|P)*">
268    <!ELEMENT ADDRESS - - %address.content>
269    
270    
271    <!--================ Forms ===============================================-->
272    
273    <![ %HTML.Forms [
274    
275    <!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)>
276    <!ATTLIST FORM
277            ACTION %URI #REQUIRED
278            METHOD (%HTTP-Method) GET
279            ENCTYPE %Content-Type; "application/x-www-form-urlencoded"
280          >          >
281    
282  <!ELEMENT LI    - O EMPTY>  <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX |
283                            RADIO | SUBMIT | RESET |
284                            IMAGE | HIDDEN )">
285    <!ELEMENT INPUT - O EMPTY>
286    <!ATTLIST INPUT
287            TYPE %InputType TEXT
288            NAME CDATA #IMPLIED -- required for all but submit and reset --
289            VALUE CDATA #IMPLIED
290            SRC %URI #IMPLIED -- for image inputs --
291            CHECKED (CHECKED) #IMPLIED
292            SIZE CDATA #IMPLIED -- like NUMBERS,
293                                     but delimited with comma, not space --
294            MAXLENGTH NUMBER #IMPLIED
295            ALIGN (top|middle|bottom) #IMPLIED
296            >
297    
298  <!ELEMENT BLOCKQUOTE - - (%text;|A|P|ADDRESS)+  <!ELEMENT SELECT - - (OPTION+)>
299          -- for quoting some other source -->  <!ATTLIST SELECT
300  <!ATTLIST BLOCKQUOTE          NAME CDATA #REQUIRED
301          SOURCE CDATA #IMPLIED          SIZE NUMBER #IMPLIED
302            MULTIPLE (MULTIPLE) #IMPLIED
303          >          >
304    
305  <!ELEMENT ADDRESS - - (%text;|A|P)+>  <!ELEMENT OPTION - O (#PCDATA)>
306    <!ATTLIST OPTION
307            SELECTED (SELECTED) #IMPLIED
308            VALUE CDATA #IMPLIED
309            >
310    
311  <!ELEMENT PRE - - (#PCDATA|A|P)+>  <!ELEMENT TEXTAREA - - (#PCDATA)>
312  <!ATTLIST PRE  <!ATTLIST TEXTAREA
313          WIDTH NUMBER #implied          NAME CDATA #REQUIRED
314            ROWS NUMBER #REQUIRED
315            COLS NUMBER #REQUIRED
316            >
317    
318    ]]>
319    
320    
321    <!--================ Document Head ========================================-->
322    
323    <!ENTITY % head.link "& LINK*">
324    
325    <![ %HTML.Recommended [
326            <!ENTITY % head.nextid "">
327    ]]>
328    <!ENTITY % head.nextid "& NEXTID?">
329    
330    <!ENTITY % head.content "TITLE & ISINDEX? & BASE? & META*
331                             %head.nextid
332                             %head.link">
333    
334    <!ELEMENT HEAD O O  (%head.content)>
335    
336    <!ELEMENT LINK - O EMPTY>
337    <!ATTLIST LINK
338            HREF %URI #REQUIRED
339            %linkExtraAttributes; >
340    
341    <!ELEMENT ISINDEX - O EMPTY>
342    
343    <!ELEMENT BASE - O EMPTY>
344    <!ATTLIST BASE
345            HREF %URI; #REQUIRED
346          >          >
347    
348  <!-- deprecated elements -->  <!ELEMENT NEXTID - O EMPTY>
349    <!ATTLIST NEXTID N %linkName #REQUIRED>
350    
351  <!ELEMENT (%literal) - -  RCDATA>  <!ELEMENT META - O EMPTY    -- Generic Metainformation -->
352    <!ATTLIST META
353            HTTP-EQUIV  NAME    #IMPLIED  -- HTTP response header name  --
354            NAME        NAME    #IMPLIED  -- metainformation name       --
355            CONTENT     CDATA   #REQUIRED -- associated information     --
356            >
357    
358    
359    <!--================ Document Structure ===================================-->
360    
361    <![ %HTML.Deprecated [
362            <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?">
363    ]]>
364    <!ENTITY % html.content "HEAD, BODY">
365    
366    <!ELEMENT HTML O O  (%html.content)>
367    <!ENTITY % version.attr "VERSION CDATA #FIXED &#34;%HTML.Version;&#34;">
368    
369    <!ATTLIST HTML
370            %version.attr;-- report DTD version to application --
371            >
372    
 <!ELEMENT PLAINTEXT - O EMPTY>  
373    
 <!-- Local Variables: -->  
 <!-- mode: sgml -->  
 <!-- compile-command: "sgmls -s -p " -->  
 <!-- end: -->  
 ]>  

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.20

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24