/[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.1 by connolly, Fri Apr 1 20:07:22 1994 UTC revision 1.20 by connolly, Mon Sep 26 16:10:19 1994 UTC
# Line 1  Line 1 
1  <!-- Jul 1 93 version, minus backward-compatibility stuff. -->  <!--    html.dtd
2    
3  <!-- DTD definitions -->          Document Type Definition for the HyperText Markup Language (HTML DTD)
4    
5            $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    <!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 % 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.)  
73          -->          -->
74    
 <!ENTITY % linkattributes  
         "NAME NMTOKEN #IMPLIED  
         HREF %URL;  #IMPLIED  
         REL CDATA #IMPLIED -- forward relationship type --  
         REV CDATA #IMPLIED -- reversed relationship type  
                               to referent data:  
75    
76                                  PARENT CHILD, SIBLING, NEXT, TOP,  <!-- DTD "macros" -->
77                                  DEFINITION, UPDATE, ORIGINAL etc. --  
78    <!ENTITY % heading "H1|H2|H3|H4|H5|H6">
79    
80    <!ENTITY % list " UL | OL | DIR | MENU " >
81    
82    
83    <!--================ Character mnemonic entities ==========================-->
84    
85    <!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    
94    
95    <!--=================== Text Markup =======================================-->
96    
97    <![ %HTML.Highlighting [
98    
99    <!ENTITY % font " TT | B | I ">
100    
101    <!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE ">
102    
103    <!ENTITY % text "#PCDATA | A | IMG | BR | %phrase | %font">
104    
105    <!ENTITY % pre.content "#PCDATA | A | HR | BR | %font | %phrase">
106    
107    <!ELEMENT (%font;|%phrase) - - (%text)+>
108    
109    ]]>
110    
111    <!ENTITY % text "#PCDATA | A | IMG | BR">
112    
113    <!ELEMENT BR    - O EMPTY>
114    
115    
116    <!--================== 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 --          URN CDATA #IMPLIED -- universal resource number --
132    
133          TITLE CDATA #IMPLIED -- advisory only --          TITLE CDATA #IMPLIED -- advisory only --
   
134          METHODS NAMES #IMPLIED -- supported public methods of the object:          METHODS NAMES #IMPLIED -- supported public methods of the object:
135                                          TEXTSEARCH, GET, HEAD, ... --                                          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    
150    <!ATTLIST A
151            HREF %URI #IMPLIED
152            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 -->
162    <!ATTLIST IMG
163            SRC %URI;  #REQUIRED     -- URI of document to embed --
164            ALT CDATA %img.alt.default;
165            ALIGN (top|middle|bottom) #IMPLIED
166            ISMAP (ISMAP) #IMPLIED
167            >
168    
169    
170    <!--=================== Paragraphs=========================================-->
171    
172  <!-- Document Element -->  <!ELEMENT P     - O (%text)+>
173    
 <!ELEMENT HTML O O  (HEAD, BODY)>  
174    
175  <!ELEMENT HEAD O O  ( TITLE?  & ISINDEX?  & NEXTID?  & LINK*  <!--=================== Headings, Titles, Sections ========================-->
176                                & BASE?)>  
177    <!ELEMENT HR    - O EMPTY -- horizontal rule -->
178    
179    <!ELEMENT ( %heading )  - -  (%text;)+>
180    
181  <!ELEMENT TITLE - -  (#PCDATA)  <!ELEMENT TITLE - -  (#PCDATA)
182            -- The TITLE element is not considered part of the flow of text.            -- The TITLE element is not considered part of the flow of text.
# Line 50  Line 184 
184               window title.               window title.
185            -->            -->
186    
 <!ELEMENT ISINDEX - O EMPTY  
           -- WWW clients should offer the option to perform a search on  
              documents containing ISINDEX.  
           -->  
187    
188  <!ELEMENT NEXTID - O EMPTY>  <!--=================== Text Flows ========================================-->
 <!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  
189    
190          HREF %URL; #IMPLIED  <![ %HTML.Forms [
191            <!ENTITY % block.forms "| FORM | ISINDEX">
192    ]]>
193    
194          >  <!ENTITY % block.forms "">
 <!ENTITY % inline "EM | TT | STRONG | B | I | U |  
                         CODE | SAMP | KBD | KEY | VAR | DFN | CITE "  
         >  
195    
196  <!ELEMENT (%inline;) - - (#PCDATA)>  <![ %HTML.Deprecated [
197            <!ENTITY % preformatted "PRE | XMP | LISTING">
198    ]]>
199    
200  <!ENTITY % text "#PCDATA | IMG | %inline;">  <!ENTITY % preformatted "PRE">
201    
202  <!ENTITY % htext "A | %text"    -- Plus links, no structure -->  <!ENTITY % block "P | %list | DL
203            | %preformatted
204            | BLOCKQUOTE %block.forms">
205    
206  <!ENTITY % stext                -- as htext but also nested structure --  <!ENTITY % flow "(%text|%block)*">
                         "P | HR | %list | DL | ADDRESS  
                         | PRE | BLOCKQUOTE  
                         | %literal | %htext">  
207    
208    <!ENTITY % pre.content "#PCDATA | A | HR | BR">
209    <!ELEMENT PRE - - (%pre.content)+>
210    
211  <!ELEMENT BODY O O  (%bodyelement|%htext;)*>  <!ATTLIST PRE
212            WIDTH NUMBER #implied
213            >
214    
215    <![ %HTML.Deprecated [
216    
217  <!ELEMENT A     - -  (%text)>  <!ENTITY % literal "CDATA"
218  <!ATTLIST A          -- special non-conforming parsing mode where
219          %linkattributes;             the only markup signal is the end tag
220          >             in full
221            -->
222    
223  <!ELEMENT IMG    - O EMPTY --  Embedded image -->  <!ELEMENT XMP - -  %literal>
224  <!ATTLIST IMG  <!ELEMENT LISTING - -  %literal>
225          SRC %URL;  #IMPLIED     -- URL of document to embed --  <!ELEMENT PLAINTEXT - O %literal>
         >  
226    
227    ]]>
228    
 <!ELEMENT P     - O EMPTY -- separates paragraphs -->  
 <!ELEMENT HR    - O EMPTY -- horizontal rule -->  
229    
230  <!ELEMENT ( %heading )  - -  (%htext;)+>  <!--=================== Lists =============================================-->
231    
232  <!ELEMENT DL    - -  (DT | DD | %stext;)*>  <!ELEMENT DL    - -  (DT*, DD?)+>
233  <!--    Content should match ((DT,(%htext;)+)+,(DD,(%stext;)+))  <!ATTLIST DL
234          But mixed content is messy.  -Dan Connolly          COMPACT (COMPACT) #IMPLIED>
235    -->  
236    <!ELEMENT DT    - O (%text)+>
237  <!ELEMENT DT    - O EMPTY>  <!ELEMENT DD    - O %flow>
238  <!ELEMENT DD    - O EMPTY>  
239    <!ELEMENT (OL|UL) - -  (LI)+>
240  <!ELEMENT (UL|OL) - -  (%htext;|LI|P)+>  <!ELEMENT (DIR|MENU) - -  (LI)+ -(%block)>
 <!ELEMENT (DIR|MENU) - -  (%htext;|LI)+>  
 <!--    Content should match ((LI,(%htext;)+)+)  
         But mixed content is messy.  
   -->  
241  <!ATTLIST (%list)  <!ATTLIST (%list)
242          COMPACT NAME #IMPLIED -- COMPACT, etc.--          COMPACT (COMPACT) #IMPLIED>
         >  
243    
244  <!ELEMENT LI    - O EMPTY>  <!ELEMENT LI    - O %flow>
245    
246  <!ELEMENT BLOCKQUOTE - - (%htext;|P)+  <!--=================== Document Body =====================================-->
         -- for quoting some other source -->  
247    
248  <!ELEMENT ADDRESS - - (%htext;|P)+>  <![ %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    <!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 SELECT - - (OPTION+)>
299    <!ATTLIST SELECT
300            NAME CDATA #REQUIRED
301            SIZE NUMBER #IMPLIED
302            MULTIPLE (MULTIPLE) #IMPLIED
303            >
304    
305    <!ELEMENT OPTION - O (#PCDATA)>
306    <!ATTLIST OPTION
307            SELECTED (SELECTED) #IMPLIED
308            VALUE CDATA #IMPLIED
309            >
310    
311    <!ELEMENT TEXTAREA - - (#PCDATA)>
312    <!ATTLIST TEXTAREA
313            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 PRE - - (#PCDATA|%inline|A|P)+>  <!ELEMENT HEAD O O  (%head.content)>
335  <!ATTLIST PRE  
336          WIDTH NUMBER #implied  <!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  <!-- Mnemonic character entities. -->  
359  <!ENTITY AElig "&#198;"  -- capital AE diphthong (ligature) -->  <!--================ Document Structure ===================================-->
360  <!ENTITY Aacute "&#193;" -- capital A, acute accent -->  
361  <!ENTITY Acirc "&#194;"  -- capital A, circumflex accent -->  <![ %HTML.Deprecated [
362  <!ENTITY Agrave "&#192;" -- capital A, grave accent -->          <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?">
363  <!ENTITY Aring "&#197;"  -- capital A, ring -->  ]]>
364  <!ENTITY Atilde "&#195;" -- capital A, tilde -->  <!ENTITY % html.content "HEAD, BODY">
365  <!ENTITY Auml "&#196;"   -- capital A, dieresis or umlaut mark -->  
366  <!ENTITY Ccedil "&#199;" -- capital C, cedilla -->  <!ELEMENT HTML O O  (%html.content)>
367  <!ENTITY ETH "&#208;"    -- capital Eth, Icelandic -->  <!ENTITY % version.attr "VERSION CDATA #FIXED &#34;%HTML.Version;&#34;">
368  <!ENTITY Eacute "&#201;" -- capital E, acute accent -->  
369  <!ENTITY Ecirc "&#202;"  -- capital E, circumflex accent -->  <!ATTLIST HTML
370  <!ENTITY Egrave "&#200;" -- capital E, grave accent -->          %version.attr;-- report DTD version to application --
371  <!ENTITY Euml "&#203;"   -- capital E, dieresis or umlaut mark -->          >
372  <!ENTITY Iacute "&#205;" -- capital I, acute accent -->  
373  <!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 -->  
   
 <!-- deprecated elements -->  
   
 <!ELEMENT (%literal) - -  CDATA>  
   
 <!ELEMENT PLAINTEXT - O EMPTY>  
   
 <!-- Local Variables: -->  
 <!-- mode: sgml -->  
 <!-- compile-command: "sgmls -s -p " -->  
 <!-- end: -->  

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24