/[suikacvs]/test/html.dtd
Suika

Diff of /test/html.dtd

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

revision 1.7.2.2 by connolly, Fri Apr 1 20:30:17 1994 UTC revision 1.21 by connolly, Tue Nov 15 19:54:38 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  <!-- DTD definitions -->              <!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               those 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            -- Use this feature test entity to validate that a document
50               uses no highlighting tags, which may be ignored on minimal
51               implementations.
52            -->
53    
54    <!ENTITY % HTML.Forms "INCLUDE"
55            -- Use this feature test entity to validate that a document
56               contains no forms, which may not be supported in minimal
57               implementations
58            -->
59    
60    <!--================== Imported Names =====================================-->
61    
62    <!ENTITY % Content-Type "CDATA"
63            -- meaning an internet media type
64               (aka MIME content type, as per RFC1521)
65            -->
66    
67    <!ENTITY % HTTP-Method "GET | POST"
68            -- as per HTTP specification, in progress
69            -->
70    
71    <!ENTITY % URI "CDATA"
72            -- The term URI means a CDATA attribute
73               whose value is a Uniform Resource Identifier,
74               as defined by
75            "Universal Resource Identifiers" by Tim Berners-Lee
76            aka http://info.cern.ch/hypertext/WWW/Addressing/URL/URI_Overview.html
77            aka RFC 1630
78    
79            Note that CDATA attributes are limited by the LITLEN
80            capacity (1024 in the current version of html.decl),
81            so that URIs in HTML have a bounded length.
82    
 <!ENTITY % heading "H1|H2|H3|H4|H5|H6" >  
 <!ENTITY % list " UL | OL | DIR | MENU ">  
 <!ENTITY % literal " XMP | LISTING ">  
   
 <!ENTITY % bodyelement  
          "P | HR | %heading |  
          %list | DL | ADDRESS | PRE | BLOCKQUOTE  
         | %literal">  
   
 <!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.)  
83          -->          -->
84    
 <!ENTITY % linkattributes  
         "NAME NMTOKEN #IMPLIED  
         HREF %URL;  #IMPLIED  
         REL CDATA #IMPLIED -- forward relationship type --  
         REV CDATA #IMPLIED -- reversed relationship type  
                               to referent data:  
   
                                 PARENT CHILD, SIBLING, NEXT, TOP,  
                                 DEFINITION, UPDATE, ORIGINAL etc. --  
85    
86          URN CDATA #IMPLIED -- universal resource number --  <!--================== DTD "Macros" =======================================-->
87    
88          TITLE CDATA #IMPLIED -- advisory only --  <!ENTITY % heading "H1|H2|H3|H4|H5|H6">
89    
90          METHODS NAMES #IMPLIED -- supported public methods of the object:  <!ENTITY % list " UL | OL | DIR | MENU " >
                                         TEXTSEARCH, GET, HEAD, ... --  
91    
         ">  
92    
93    <!--================ Character mnemonic entities ==========================-->
94    
95  <!-- Document Element -->  <!ENTITY % ISOlat1 PUBLIC
96      "-//IETF//ENTITIES Added Latin 1 for HTML//EN">
97    %ISOlat1;
98    
99  <!ELEMENT HTML O O  (HEAD, BODY)>  <!ENTITY amp CDATA "&#38;"     -- ampersand          -->
100    <!ENTITY gt CDATA "&#62;"      -- greater than       -->
101    <!ENTITY lt CDATA "&#60;"      -- less than          -->
102    <!ENTITY quot CDATA "&#34;"    -- double quote       -->
103    
 <!ELEMENT HEAD O O  ( TITLE?  & ISINDEX?  & NEXTID?  & LINK*  
                               & BASE?)>  
104    
105  <!ELEMENT TITLE - -  (#PCDATA)  <!--=================== Text Markup =======================================-->
           -- 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.  
           -->  
   
 <!ELEMENT ISINDEX - O EMPTY  
           -- WWW clients should offer the option to perform a search on  
              documents containing ISINDEX.  
           -->  
106    
107  <!ELEMENT LINK - O EMPTY>  <![ %HTML.Highlighting [
 <!ATTLIST LINK  
         %linkattributes>  
           
 <!ELEMENT BASE - O EMPTY    -- Reference context for URLS -->  
 <!ATTLIST BASE  
108    
109          HREF %URL; #IMPLIED  <!ENTITY % font " TT | B | I ">
110    
111          >  <!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE ">
112  <!ENTITY % inline "EM | STRONG |  
113                          CODE | SAMP | KBD | KEY | VAR | DFN | CITE "  <!ENTITY % text "#PCDATA | A | IMG | BR | %phrase | %font">
114          >  
115    <!ELEMENT (%font;|%phrase) - - (%text)+>
116    <!-- <TT>       Typewriter text                         -->
117    <!-- <B>        Bold text                               -->
118    <!-- <I>        Italic text                             -->
119    
120    <!-- <EM>       Emphasized phrase                       -->
121    <!-- <STRONG>   Strong emphais                          -->
122    <!-- <CODE>     Source code phrase                      -->
123    <!-- <SAMP>     Sample text or characters               -->
124    <!-- <KBD>      Keyboard phrase, e.g. user input        -->
125    <!-- <VAR>      Variable phrase or substituable         -->
126    <!-- <CITE>     Name or title of cited work             -->
127    
128  <!ELEMENT (%inline;) - - (#PCDATA | A)+>  <!ENTITY % pre.content "#PCDATA | A | HR | BR | %font | %phrase">
129    
130  <!ENTITY % text "#PCDATA | IMG | %inline; | BR">  ]]>
131    
132  <!ENTITY % htext "A | %text"    -- Plus links, no structure -->  <!ENTITY % text "#PCDATA | A | IMG | BR">
133    
134  <!ENTITY % stext                -- as htext but also nested structure --  <!ELEMENT BR    - O EMPTY>
135                          "P | HR | %list | DL | ADDRESS  <!-- <BR>       Line break      -->
                         | PRE | BLOCKQUOTE  
                         | %literal | %htext">  
136    
 <!ENTITY % block                -- as htext but also nested structure --  
                         "P | HR | %list | DL  
                         | PRE | BLOCKQUOTE  
                         | %literal">  
137    
138    <!--================== Link Markup ========================================-->
139    
140  <!ELEMENT BODY O O  (%heading | %block)+>  <![ %HTML.Recommended [
141            <!ENTITY % linkName "ID">
142    ]]>
143    
144    <!ENTITY % linkName "CDATA">
145    
146  <!ELEMENT A     - -  ANY>  <!ENTITY % linkType "NAME"
147            -- a list of these will be specified at a later date -->
148    
149    <!ENTITY % linkExtraAttributes
150            "REL %linkType #IMPLIED
151            REV %linkType #IMPLIED
152            URN CDATA #IMPLIED
153            TITLE CDATA #IMPLIED
154            METHODS NAMES #IMPLIED
155            ">
156    
157    <![ %HTML.Recommended [
158            <!ENTITY % A.content   "(%text)+"
159            -- <H1><a name="xxx">Heading</a></H1>
160                    is preferred to
161               <a name="xxx"><H1>Heading</H1></a>
162            -->
163    ]]>
164    
165    <!ENTITY % A.content   "(%heading|%text)+">
166    
167    <!ELEMENT A     - - %A.content -(A)>
168  <!ATTLIST A  <!ATTLIST A
169          %linkattributes;          HREF %URI #IMPLIED
170            NAME %linkName #IMPLIED
171            %linkExtraAttributes;
172          >          >
173    <!-- <A>                Anchor; source and/or destination of a link     -->
174    <!-- <A NAME="...">     Name of this anchor                             -->
175    <!-- <A HREF="...">     Address of link destination                     -->
176    <!-- <A URN="...">      Permanent address of destination                -->
177    <!-- <A REL=...>        Relationship of this anchor to destination      -->
178    <!-- <A REV=...>        Relationship of destination to this anchor      -->
179    <!-- <A TITLE="...">    Title of destination (advisory)                 -->
180    <!-- <A METHODS="...">  Operations allowed on destination (advisory)    -->
181    
182    
183  <!ELEMENT IMG    - O EMPTY --  Embedded image -->  <!--=================== Images ============================================-->
184    
185    <!ELEMENT IMG    - O EMPTY>
186  <!ATTLIST IMG  <!ATTLIST IMG
187          SRC %URL;  #IMPLIED     -- URL of document to embed --          SRC %URI;  #REQUIRED
188            ALT CDATA #IMPLIED
189            ALIGN (top|middle|bottom) #IMPLIED
190            ISMAP (ISMAP) #IMPLIED
191          >          >
192    
193    <!-- <IMG>              Image; icon, glyph or illustration      -->
194    <!-- <IMG SRC="...">    Address of image object                 -->
195    <!-- <IMG ALT="...">    Textual alternative                     -->
196    <!-- <IMG ALIGN=...>    Position relative to text               -->
197    <!-- <IMG ISMAP>        Each pixel can be a link                -->
198    
199  <!ELEMENT P     - O (%htext)+ -- paragraph -->  <!--=================== Paragraphs=========================================-->
 <!ELEMENT (HR|BR)    - O EMPTY -- horizontal rule -->  
200    
201  <!ELEMENT ( %heading )  - -  (%htext;)+>  <!ELEMENT P     - O (%text)+>
202    <!-- <P>        Paragraph       -->
203    
 <!ELEMENT DL    - -  (DT+, DD)+>  
 <!--    structured DL's  
   -->  
204    
205  <!ELEMENT DT    - O (%htext)+>  <!--=================== Headings, Titles, Sections ========================-->
 <!ELEMENT DD    - O (%htext|%block)+>  
206    
207  <!ELEMENT (%list) - -  (LI)+>  <!ELEMENT HR    - O EMPTY>
208    <!-- <HR>       Horizontal rule -->
209    
210  <!ATTLIST (%list)  <!ELEMENT ( %heading )  - -  (%text;)+>
211          COMPACT NAME #IMPLIED -- COMPACT, etc.--  <!-- <H1>       Heading, level 1 -->
212          >  <!-- <H2>       Heading, level 2 -->
213    <!-- <H3>       Heading, level 3 -->
214    <!-- <H4>       Heading, level 4 -->
215    <!-- <H5>       Heading, level 5 -->
216    <!-- <H6>       Heading, level 6 -->
217    
218    
219    <!--=================== Text Flows ========================================-->
220    
221    <![ %HTML.Forms [
222            <!ENTITY % block.forms "| FORM | ISINDEX">
223    ]]>
224    
225  <!ELEMENT LI    - O (%htext|%block)+>  <!ENTITY % block.forms "">
226    
227  <!ELEMENT BLOCKQUOTE - - (P+, ADDRESS?)+  <![ %HTML.Deprecated [
228          -- for quoting some other source -->          <!ENTITY % preformatted "PRE | XMP | LISTING">
229    ]]>
230    
231  <!ELEMENT ADDRESS - - (%htext;)+>  <!ENTITY % preformatted "PRE">
232    
233  <!ELEMENT PRE - - (#PCDATA | TT | B | I | U | A | P | BR)+>  <!ENTITY % block "P | %list | DL
234            | %preformatted
235            | BLOCKQUOTE %block.forms">
236    
237    <!ENTITY % flow "(%text|%block)*">
238    
239    <!ENTITY % pre.content "#PCDATA | A | HR | BR">
240    <!ELEMENT PRE - - (%pre.content)+>
241  <!ATTLIST PRE  <!ATTLIST PRE
242          WIDTH NUMBER #implied          WIDTH NUMBER #implied
243          >          >
244    
245  <!-- Mnemonic character entities. -->  <!-- <PRE>              Preformatted text               -->
246    <!-- <PRE WIDTH=...>    Maximum characters per line     -->
247    
248  <!ENTITY % ISOlat1 PUBLIC  <![ %HTML.Deprecated [
249    "ISO 8879:1986//ENTITIES Added Latin 1//EN">  
250  %ISOlat1;  <!ENTITY % literal "CDATA"
251            -- historical, non-conforming parsing mode where
252               the only markup signal is the end tag
253               in full
254            -->
255    
256    <!ELEMENT (XMP|LISTING) - -  %literal>
257    <!-- <XMP>              Example section         -->
258    <!-- <LISTING>          Computer listing        -->
259    
260    <!ELEMENT PLAINTEXT - O %literal>
261    <!-- <PLAINTEXT>        Plain text passage      -->
262    
263    ]]>
264    
265    
266    <!--=================== Lists =============================================-->
267    
268    <!ELEMENT DL    - -  (DT | DD)+>
269    <!ATTLIST DL
270            COMPACT (COMPACT) #IMPLIED>
271    
272    <!ELEMENT DT    - O (%text)+>
273    <!ELEMENT DD    - O %flow>
274    
275  <!ENTITY amp "&#38;"     -- ampersand -->  <!-- <DL>               Definition list, or glossary    -->
276  <!ENTITY gt "&#62;"      -- greater than -->  <!-- <DL COMPACT>       Compact style list              -->
277  <!ENTITY lt "&#60;"      -- less than -->  <!-- <DT>               Term in definition list         -->
278  <!ENTITY nbsp "&#32;"    --  @@should be NON_BREAKING space -->  <!-- <DD>               Definition of term              -->
 <!-- @@ should add entites for processing instructions  
         for line break, centering, etc. -->  
279    
280  <!-- deprecated elements -->  <!ELEMENT (OL|UL) - -  (LI)+>
281    <!ELEMENT (DIR|MENU) - -  (LI)+ -(%block)>
282    <!ATTLIST (%list)
283            COMPACT (COMPACT) #IMPLIED>
284    <!-- <UL>               Unordered list                  -->
285    <!-- <UL COMPACT>       Compact list style              -->
286    <!-- <OL>               Ordered, or numbered list       -->
287    <!-- <OL COMPACT>       Compact list style              -->
288    <!-- <DIR>              Directory list                  -->
289    <!-- <DIR COMPACT>      Compact list style              -->
290    <!-- <MENU>             Menu list                       -->
291    <!-- <MENU COMPACT>     Compact list style              -->
292    
293    <!ELEMENT LI    - O %flow>
294    
295    <!-- <LI>               List item                       -->
296    
297    <!--=================== Document Body =====================================-->
298    
299    <![ %HTML.Recommended [
300            <!ENTITY % body.content "(%heading|%block|HR|ADDRESS)*"
301            -- <h1>Heading</h1>
302               <p>Text ...
303                    is preferred to
304               <h1>Heading</h1>
305               Text ...
306            -->
307    ]]>
308    
309    <!ENTITY % body.content "(%heading | %text | %block | HR | ADDRESS)*">
310    
311    <!ELEMENT BODY O O  %body.content>
312    <!-- <BODY>     Document body   -->
313    
314    <!ELEMENT BLOCKQUOTE - - %body.content>
315    <!-- <BLOCKQUOTE>       Quoted passage  -->
316    
317    <!ELEMENT ADDRESS - - (%text|P)*>
318    <!-- <ADDRESS>  Address, signature, or byline for document or passage   -->
319    
320    
321    <!--================ Forms ===============================================-->
322    
323    <![ %HTML.Forms [
324    
325    <!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)>
326    <!ATTLIST FORM
327            ACTION %URI #IMPLIED
328            METHOD (%HTTP-Method) GET
329            ENCTYPE %Content-Type; "application/x-www-form-urlencoded"
330            >
331    
332    <!-- <FORM>                     Fill-out or data-entry form     -->
333    <!-- <FORM ACTION="...">        Address for completed form      -->
334    <!-- <FORM METHOD=...>          Method of submitting form       -->
335    <!-- <FORM ENCTYPE="...">       Representation of form data     -->
336    
337    <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX |
338                            RADIO | SUBMIT | RESET |
339                            IMAGE | HIDDEN )">
340    <!ELEMENT INPUT - O EMPTY>
341    <!ATTLIST INPUT
342            TYPE %InputType TEXT
343            NAME CDATA #IMPLIED
344            VALUE CDATA #IMPLIED
345            SRC %URI #IMPLIED
346            CHECKED (CHECKED) #IMPLIED
347            SIZE CDATA #IMPLIED
348            MAXLENGTH NUMBER #IMPLIED
349            ALIGN (top|middle|bottom) #IMPLIED
350            >
351    
352    <!-- <INPUT>                    Form input datum                -->
353    <!-- <INPUT TYPE=...>           Type of input interaction       -->
354    <!-- <INPUT TYPE=...>           Name of form datum              -->
355    <!-- <INPUT VALUE="...">        Default/initial/selected value  -->
356    <!-- <INPUT SRC="...">          Address of image                -->
357    <!-- <INPUT CHECKED>            Initial state is "on"           -->
358    <!-- <INPUT SIZE=...>           Field size hint                 -->
359    <!-- <INPUT MAXLENGTH=...>      Data length maximum             -->
360    <!-- <INPUT ALIGN=...>          Image alignment                 -->
361    
362    <!ELEMENT SELECT - - (OPTION+)>
363    <!ATTLIST SELECT
364            NAME CDATA #REQUIRED
365            SIZE NUMBER #IMPLIED
366            MULTIPLE (MULTIPLE) #IMPLIED
367            >
368    
369    <!-- <SELECT>                   Selection of option(s)                  -->
370    <!-- <SELECT NAME=...>          Name of form datum                      -->
371    <!-- <SELECT SIZE=...>          Number of options displayed at a time   -->
372    <!-- <SELECT MULTIPLE>          Multiple selections allowed             -->
373    
374    <!ELEMENT OPTION - O (#PCDATA)>
375    <!ATTLIST OPTION
376            SELECTED (SELECTED) #IMPLIED
377            VALUE CDATA #IMPLIED
378            >
379    
380    <!-- <OPTION>                   A selection option                      -->
381    <!-- <OPTION SELECTED>          Initial state                           -->
382    <!-- <OPTION VALUE>             Form datum value for this option        -->
383    
384    <!ELEMENT TEXTAREA - - (#PCDATA)>
385    <!ATTLIST TEXTAREA
386            NAME CDATA #REQUIRED
387            ROWS NUMBER #REQUIRED
388            COLS NUMBER #REQUIRED
389            >
390    
391    <!-- <TEXTAREA>                 An area for text input                  -->
392    <!-- <TEXTAREA NAME=...>        Name of form datum                      -->
393    <!-- <TEXTAREA ROWS=...>        Height of area                          -->
394    <!-- <TEXTAREA COLS=...>        Width of area                           -->
395    
396    ]]>
397    
398    
399    <!--================ Document Head ========================================-->
400    
401    <!ENTITY % head.link "& LINK*">
402    
403    <![ %HTML.Recommended [
404            <!ENTITY % head.nextid "">
405    ]]>
406    <!ENTITY % head.nextid "& NEXTID?">
407    
408    <!ENTITY % head.content "TITLE & ISINDEX? & BASE? & META*
409                             %head.nextid
410                             %head.link">
411    
412    <!ELEMENT HEAD O O  (%head.content)>
413    <!-- <HEAD>     Document head   -->
414    
415    <!ELEMENT TITLE - -  (#PCDATA)>
416    <!-- <TITLE>    Title of document -->
417    
418    <!ELEMENT LINK - O EMPTY>
419    <!ATTLIST LINK
420            HREF %URI #REQUIRED
421            %linkExtraAttributes; >
422    <!-- <LINK>             Link from this document                         -->
423    <!-- <LINK HREF="...">  Address of link destination                     -->
424    <!-- <LINK URN="...">   Lasting name of destination                     -->
425    <!-- <LINK REL=...>     Relationship of this document to destination    -->
426    <!-- <LINK REV=...>     Relationship of destination to this document    -->
427    <!-- <LINK TITLE="..."> Title of destination (advisory)                 -->
428    <!-- <LINK METHODS="..."> Operations allowed on destination (advisory)  -->
429    
430    <!ELEMENT ISINDEX - O EMPTY>
431    <!-- <ISINDEX>          Document is a searchable index          -->
432    
433    <!ELEMENT BASE - O EMPTY>
434    <!ATTLIST BASE
435            HREF %URI; #REQUIRED
436            >
437    <!-- <BASE>             Base context document                   -->
438    <!-- <BASE HREF="...">  Address for this document               -->
439    
440    <!ELEMENT NEXTID - O EMPTY>
441    <!ATTLIST NEXTID N %linkName #REQUIRED>
442    <!-- <NEXTID>           Next ID to use for link name                    -->
443    <!-- <NEXTID N=...>     Next ID to use for link name                    -->
444    
445    <!ELEMENT META - O EMPTY>
446    <!ATTLIST META
447            HTTP-EQUIV  NAME    #IMPLIED
448            NAME        NAME    #IMPLIED
449            CONTENT     CDATA   #REQUIRED
450            >
451    <!-- <META>                     Generic Metainformation         -->
452    <!-- <META HTTP-EQUIV=...>      HTTP response header name       -->
453    <!-- <META HTTP-EQUIV=...>      Metainformation name            -->
454    <!-- <META CONTENT="...">       Associated information          -->
455    
456    <!--================ Document Structure ===================================-->
457    
458    <![ %HTML.Deprecated [
459            <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?">
460    ]]>
461    <!ENTITY % html.content "HEAD, BODY">
462    
463    <!ELEMENT HTML O O  (%html.content)>
464    <!ENTITY % version.attr "VERSION CDATA #FIXED &#34;%HTML.Version;&#34;">
465    
466    <!ATTLIST HTML
467            %version.attr;
468            >
469    
470  <!ELEMENT (%literal) - -  CDATA>  <!-- <HTML>                     HyperText Markup Language Document      -->
471    <!-- <HTML VERSION="...">       Version of HTML specification           -->
472    
 <!ELEMENT PLAINTEXT - O EMPTY>  
473    

Legend:
Removed from v.1.7.2.2  
changed lines
  Added in v.1.21

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24