/[pub]/test/html.dtd
Suika

Diff of /test/html.dtd

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

revision 1.7.2.4 by connolly, Thu Apr 7 00:33:25 1994 UTC revision 1.20 by connolly, Mon Sep 26 16:10:19 1994 UTC
# Line 1  Line 1 
1  <!--    html.dtd  <!--    html.dtd
2    
3          Document Type Definition for the HyperText Markup Language          Document Type Definition for the HyperText Markup Language (HTML DTD)
         as used by the World Wide Web application (HTML DTD).  
4    
5          $Id$          $Id$
6    
7            Author: Daniel W. Connolly <connolly@hal.com>
8            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    <!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  <!-- DTD definitions -->  <!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    <!--================== Imported Names =====================================-->
52    
53    <!ENTITY % Content-Type "CDATA"
54            -- 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 % URI "CDATA"
62            -- The term URI means a CDATA attribute
63               whose value is a Uniform Resource Identifier,
64               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            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    
 <!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.)  
73          -->          -->
74    
 <!ENTITY % Content-Type "CDATA" -- meaning a MIME content type -->  
75    
76  <!ENTITY % linkattributes  <!-- DTD "macros" -->
         "HREF %URL;  #IMPLIED  
         REL CDATA #IMPLIED -- forward relationship type --  
         REV CDATA #IMPLIED -- reversed relationship type  
                               to referent data:  
77    
78                                  PARENT CHILD, SIBLING, NEXT, TOP,  <!ENTITY % heading "H1|H2|H3|H4|H5|H6">
                                 DEFINITION, UPDATE, ORIGINAL etc. --  
79    
80          URN CDATA #IMPLIED -- universal resource number --  <!ENTITY % list " UL | OL | DIR | MENU " >
81    
         TITLE CDATA #IMPLIED -- advisory only --  
82    
83          METHODS NAMES #IMPLIED -- supported public methods of the object:  <!--================ Character mnemonic entities ==========================-->
                                         TEXTSEARCH, GET, HEAD, ... --  
84    
85          --@# content-type --  <!ENTITY % ISOlat1 PUBLIC
86          ">    "-//IETF//ENTITIES Added Latin 1 for HTML//EN">
87    %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)>  <!--=================== Text Markup =======================================-->
96    
97  <!-- Head -->  <![ %HTML.Highlighting [
98    
99  <!ELEMENT HEAD O O  ( TITLE?  & ISINDEX? & NEXTID? & LINK*  <!ENTITY % font " TT | B | I ">
                               & BASE?)>  
100    
101  <!ELEMENT NEXTID - O EMPTY -- @# obsolete -->  <!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE ">
 <!ATTLIST NEXTID  
         N ID #REQUIRED -- next available id -->  
102    
103  <!ELEMENT TITLE - -  (#PCDATA)  <!ENTITY % text "#PCDATA | A | IMG | BR | %phrase | %font">
           -- 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.  
           -->  
104    
105  <!ELEMENT ISINDEX - O EMPTY  <!ENTITY % pre.content "#PCDATA | A | HR | BR | %font | %phrase">
           -- WWW clients should offer the option to perform a search on  
              documents containing ISINDEX.  
           -->  
106    
107  <!ELEMENT LINK - O EMPTY>  <!ELEMENT (%font;|%phrase) - - (%text)+>
 <!ATTLIST LINK  
         %linkattributes  
         >  
           
 <!ELEMENT BASE - O EMPTY    -- Reference context for URLS -->  
 <!ATTLIST BASE  
         HREF %URL; #IMPLIED  
         >  
108    
109    ]]>
110    
111  <!-- Body -->  <!ENTITY % text "#PCDATA | A | IMG | BR">
112    
113  <!ELEMENT BODY O O  ANY -- empty P version @# -->  <!ELEMENT BR    - O EMPTY>
114    
 <!-- Text -->  
115    
116  <!ENTITY % inline "EM | STRONG |  <!--================== Link Markup ========================================-->
117                          CODE | SAMP | KBD | KEY | VAR | DFN | CITE "  
118          >  <![ %HTML.Recommended [
119  <!ENTITY % fonts "B | I | U | TT">          <!ENTITY % linkName "ID">
120    ]]>
121    
122  <!ENTITY % text "#PCDATA | IMG | %inline; | %fonts; | BR | P"  <!ENTITY % linkName "CDATA">
         -- @# yuk: P in textflows --  
          --@# BR -> &br; --  
          --@# yuk: fonts -- >  
123    
124  <!ENTITY % htext "A | %text"    -- Plus links, no structure -->  <!ENTITY % linkType "NAME"
125            -- a list of these will be specified at a later date -->
126    
127  <!ELEMENT (%inline;) - - (%htext)+>  <!ENTITY % linkExtraAttributes
128  <!ELEMENT (%fonts;)  - - (%htext)+>          "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     - -  ANY -(A)>  
150  <!ATTLIST A  <!ATTLIST A
151          NAME NMTOKEN #IMPLIED -- @# dangit! this should be ID! --          HREF %URI #IMPLIED
152          %linkattributes;          NAME %linkName #IMPLIED
153            %linkExtraAttributes;
154          >          >
155    
156    <!--=================== Images ============================================-->
157    
158    <!ENTITY % img.alt.default "#IMPLIED"
159            -- ALT attribute required in Level 0 docs -->
160    
161  <!ELEMENT IMG    - O EMPTY --  Embedded image -->  <!ELEMENT IMG    - O EMPTY --  Embedded image -->
162  <!ATTLIST IMG  <!ATTLIST IMG
163          SRC %URL;  #IMPLIED     -- URL of document to embed --          SRC %URI;  #REQUIRED     -- URI of document to embed --
164          ALT CDATA #IMPLIED          ALT CDATA %img.alt.default;
165          ALIGN (top|middle|bottom|left|center|right) #IMPLIED --@#supported?--          ALIGN (top|middle|bottom) #IMPLIED
166            ISMAP (ISMAP) #IMPLIED
167          >          >
168    
169    
170  <!ELEMENT P     - O EMPTY -- paragraph separator @# -->  <!--=================== Paragraphs=========================================-->
171    
172    <!ELEMENT P     - O (%text)+>
173    
174    
175    <!--=================== Headings, Titles, Sections ========================-->
176    
177  <!ELEMENT HR    - O EMPTY -- horizontal rule -->  <!ELEMENT HR    - O EMPTY -- horizontal rule -->
 <!ELEMENT BR    - O EMPTY -- @# BR -> &br; -->  
178    
179  <!-- Headings -->  <!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  <!ENTITY % heading "H1|H2|H3|H4|H5|H6" >  <!--=================== Text Flows ========================================-->
 <!ELEMENT ( %heading )  - -  (%htext;)+>  
189    
190    <![ %HTML.Forms [
191            <!ENTITY % block.forms "| FORM | ISINDEX">
192    ]]>
193    
194  <!-- Pre-formatted Text -->  <!ENTITY % block.forms "">
195    
196  <!ENTITY % pre "PRE | XMP | LISTING" -- @# treat XMP like pre? -->  <![ %HTML.Deprecated [
197            <!ENTITY % preformatted "PRE | XMP | LISTING">
198    ]]>
199    
200  <!ELEMENT PRE - - (#PCDATA | %fonts | %inline | A | BR)+>  <!ENTITY % preformatted "PRE">
201                  <!-- @# yuk: VAR, CITE etc. in PRE -->  
202                  <!-- @# P in PRE ??-->  <!ENTITY % block "P | %list | DL
203                  <!-- @# BR -> &br; -->          | %preformatted
204  <!ELEMENT (XMP|LISTING) - - RCDATA>          | BLOCKQUOTE %block.forms">
205  <!-- @# PLAINTEXT?? -->  
206  <!ATTLIST (%pre;)  <!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          WIDTH NUMBER #implied
213          >          >
214    
215  <!-- Block Elements -->  <![ %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  <!ENTITY % list " UL | OL | DIR | MENU ">  <!ELEMENT XMP - -  %literal>
224    <!ELEMENT LISTING - -  %literal>
225    <!ELEMENT PLAINTEXT - O %literal>
226    
227  <!ENTITY % block                -- as htext but also nested structure --  ]]>
228                          "HR | %list | DL  
229                          | %pre; | BLOCKQUOTE | FIG | ADDRESS  
230                          | FORM">  <!--=================== Lists =============================================-->
231    
232  <!ELEMENT DL    - -  (DT*, DD?)+>  <!ELEMENT DL    - -  (DT*, DD?)+>
233  <!ATTLIST DL  <!ATTLIST DL
234          STYLE (COMPACT) #IMPLIED>          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)
242            COMPACT (COMPACT) #IMPLIED>
243    
244    <!ELEMENT LI    - O %flow>
245    
246  <!ELEMENT DT    - O (%htext)+>  <!--=================== Document Body =====================================-->
 <!ELEMENT DD    - O (%htext|%block)+>  
247    
248  <!ELEMENT (%list) - -  (LI)+>  <![ %HTML.Recommended [
249  <!ELEMENT LI    - O (%htext|%block)+>          <!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  <!ELEMENT BLOCKQUOTE - - ((%htext)+, ADDRESS?)+ -- @# Hmm... --  <!ENTITY % body.content "(%heading | %text | %block | HR | ADDRESS)*">
         -- for quoting some other source -->  
259    
260  <!ELEMENT ADDRESS - - (%htext;)+>  <!ELEMENT BODY O O  %body.content>
261    
262  <!ELEMENT FIG - - (%htext;)+>  <!ELEMENT BLOCKQUOTE - - %body.content>
263    
264  <!-- Forms  -->  <![ %HTML.Recommended [
265            <!ENTITY % address.content "(%text)*">
266    ]]>
267    <!ENTITY % address.content "(%text|P)*">
268    <!ELEMENT ADDRESS - - %address.content>
269    
270  <!ENTITY % HTTP-Method "(GET | POST)">  
271  <!ELEMENT FORM - - ANY -(FORM) +(INPUT|SELECT|TEXTAREA)>  <!--================ Forms ===============================================-->
272    
273    <![ %HTML.Forms [
274    
275    <!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)>
276  <!ATTLIST FORM  <!ATTLIST FORM
277          ACTION %URL #REQUIRED          ACTION %URI #REQUIRED
278          METHOD %HTTP-Method #IMPLIED -- @# MAILTO? --          METHOD (%HTTP-Method) GET
279          ENCTYPE %Content-Type; #IMPLIED          ENCTYPE %Content-Type; "application/x-www-form-urlencoded"
280          >          >
281    
282  <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX |  <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX |
# Line 172  Line 284 
284                          IMAGE | HIDDEN )">                          IMAGE | HIDDEN )">
285  <!ELEMENT INPUT - O EMPTY>  <!ELEMENT INPUT - O EMPTY>
286  <!ATTLIST INPUT  <!ATTLIST INPUT
287          TYPE %InputType #IMPLIED -- @# defaults to TEXT?? --          TYPE %InputType TEXT
288          NAME CDATA #IMPLIED -- required for all but submit and reset --          NAME CDATA #IMPLIED -- required for all but submit and reset --
289          VALUE CDATA #IMPLIED          VALUE CDATA #IMPLIED
290          SRC %URL #IMPLIED -- for image inputs --          SRC %URI #IMPLIED -- for image inputs --
291          STATE (CHECKED) #IMPLIED          CHECKED (CHECKED) #IMPLIED
292          SIZE CDATA #IMPLIED -- @# should be NUMBERS: delimit with space, not comma --          SIZE CDATA #IMPLIED -- like NUMBERS,
293                                     but delimited with comma, not space --
294          MAXLENGTH NUMBER #IMPLIED          MAXLENGTH NUMBER #IMPLIED
295          ALIGN (top|middle|bottom|left|center|right) #IMPLIED --@#supported?--          ALIGN (top|middle|bottom) #IMPLIED
296          >          >
297    
298  <!ELEMENT SELECT - - (OPTION+)>  <!ELEMENT SELECT - - (OPTION+)>
299  <!ATTLIST SELECT  <!ATTLIST SELECT
300          NAME CDATA #REQUIRED          NAME CDATA #REQUIRED
301          SIZE NUMBER #IMPLIED          SIZE NUMBER #IMPLIED
302          SELECTIONS (MULTIPLE) #IMPLIED          MULTIPLE (MULTIPLE) #IMPLIED
303          >          >
304    
305  <!ELEMENT OPTION - O (#PCDATA)>  <!ELEMENT OPTION - O (#PCDATA)>
306  <!ATTLIST OPTION  <!ATTLIST OPTION
307          STATE (SELECTED) #IMPLIED          SELECTED (SELECTED) #IMPLIED
308          VALUE CDATA #IMPLIED          VALUE CDATA #IMPLIED
309          >          >
310    
311  <!ELEMENT TEXTAREA - - (#PCDATA)>  <!ELEMENT TEXTAREA - - (#PCDATA)>
312  <!ATTLIST TEXTAREA  <!ATTLIST TEXTAREA
313          NAME CDATA #REQUIRED          NAME CDATA #REQUIRED
314          ROWS NUMBER #REQUIRED -- @#implied? --          ROWS NUMBER #REQUIRED
315          COLS NUMBER #REQUIRED          COLS NUMBER #REQUIRED
316          >          >
317    
318  <!-- Mnemonic character entities. -->  ]]>
319    
 <!ENTITY % ISOlat1 PUBLIC  
   "ISO 8879:1986//ENTITIES Added Latin 1//EN">  
 %ISOlat1;  
320    
321  <!ENTITY amp "&#38;"     -- ampersand -->  <!--================ Document Head ========================================-->
322  <!ENTITY gt "&#62;"      -- greater than -->  
323  <!ENTITY lt "&#60;"      -- less than -->  <!ENTITY % head.link "& LINK*">
324  <!ENTITY nbsp "<? nonbreaking-space>">  
325  <!-- @# should add entites for processing instructions  <![ %HTML.Recommended [
326          for line break, centering, etc. -->          <!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    <!ELEMENT NEXTID - O EMPTY>
349    <!ATTLIST NEXTID N %linkName #REQUIRED>
350    
351    <!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    
373    

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24