/[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.2 by connolly, Fri Apr 1 20:30:17 1994 UTC revision 1.11 by connolly, Sat Apr 30 03:17:56 1994 UTC
# Line 3  Line 3 
3          Document Type Definition for the HyperText Markup Language          Document Type Definition for the HyperText Markup Language
4          as used by the World Wide Web application (HTML DTD).          as used by the World Wide Web application (HTML DTD).
5    
6          $Id$          $Id$
7    
8  -->  -->
9    
10    <!-- Feature Test Entities -->
11    
12    <!-- To use these, write your document like:
13            <!DOCTYPE HTML [
14            <!ENTITY % HTML.Optional "INCLUDE">
15            <!ENTITY % html PUBLIC "-//connolly hal.com//DTD WWW HTML 1.8//EN">
16            %html;
17            ]>
18            <TITLE>Here's my doc</TITLE>
19            <p>It uses lots of optional features
20    
21     In practice, if you're using sgmls to validate your docs,
22     you can stick the <!DOCTYPE [...]> in a separate file and
23     validate with:
24            sgmls -s doctype.sgml foo.html
25     -->
26    
27    <!ENTITY % HTML.Minimal  "IGNORE">
28    <!ENTITY % HTML.Obsolete "IGNORE">
29    <!ENTITY % HTML.Prescriptive "IGNORE">
30    
31    <![ %HTML.Minimal [
32            <!ENTITY % HTML.linkRelationships "IGNORE">
33            <!ENTITY % HTML.linkMethods "IGNORE">
34            <!ENTITY % HTML.linkRedundantInfo "IGNORE">
35            <!ENTITY % HTML.forms "IGNORE">
36            <!-- @@ nested lists -->
37            <!-- @@ phrases -->
38            <!-- @@ headers inside A -->
39            <!-- @@ nested phrases, fonts -->
40            ]]>
41            
42    <![ %HTML.Obsolete [
43            <!ENTITY % HTML.titleCDATA "INCLUDE">
44            <!ENTITY % HTML.litCDATA "INCLUDE">
45            <!ENTITY % HTML.pSeparator "INCLUDE">
46            ]]>
47    
48    <![ %HTML.Prescriptive [
49            <!ENTITY % HTML.font-phrase "IGNORE">
50            <!ENTITY % HTML.anchorNameCDATA "IGNORE">
51            <!ENTITY % HTML.PLAINTEXT "IGNORE">
52            <!ENTITY HTML.Version
53            "-//connolly hal.com//DTD WWW HTML
54                     $Date 1994/04/19 17:24:06 $ Prescriptive//EN">
55            ]]>
56    
57    <!ENTITY HTML.Version
58            "-//connolly hal.com//DTD WWW HTML $Date 1994/04/19 17:24:06 $//EN"
59            -- public identifier for "default" version                       --
60            -- actually, take the $'s out to get the real public identifer,  --
61            -- since $ is illegal in public identifier. When DTD stabilizes, --
62            -- we'll need to stop using RCS keywords to version the pub id   --
63            >
64    
65    <!ENTITY % HTML.GO "IGNORE"
66            -- The GO element used in ORA GNN. What is this??? -->
67    
68    <!ENTITY % HTML.aEndOmissable "IGNORE"
69            -- infer </A> tags, as in ORA GNN stuff -->
70    
71    <!ENTITY % HTML.isindexAtEnd "IGNORE"
72            -- allow ISINDEX after HEAD and BODY, as in ORA GNN stuff -->
73    
74    <!ENTITY % HTML.pSeparator "IGNORE"
75            -- use P element as paragraph separator, rather that container.
76            This means not all paragraphs need to start with a <P> tag.
77            -->
78    
79    <!ENTITY % HTML.linkRelationships "INCLUDE"
80            -- Adding markup to links to show the relationship between
81            ends of a link
82            see http://info.cern.ch/hypertext/WWW/MarkUp/Relationships.html
83            -->
84    
85    <!ENTITY % HTML.linkMethods "INCLUDE"
86            -- Adding markup to links to show the methods supported
87            by the referent object
88            see http://info.cern.ch/hypertext/WWW/MarkUp/Elements/A.html
89            -->
90    
91    <!ENTITY % HTML.linkRedundantInfo "INCLUDE"
92            -- Adding markup to links to give redundant information
93            like URN, content type, title...
94            -->
95    
96    <!ENTITY % HTML.anchorNameCDATA "INCLUDE"
97            -- Anchor names should be distinct. SGML parser can validate
98            this if the NAME attribute of the A element is declared as ID.
99            But that restricts the syntax of an anchor name to an SGML name,
100            i.e. a letter followed by letters, numbers, periods and dashes,
101            up to NAMELEN (34) characters long.
102            -->
103    
104    <!ENTITY % HTML.PLAINTEXT "INCLUDE"
105            -- Support for the <PLAINTEXT> tag as a sign of the
106            end of th HTML data stream and the beginning of a stream
107            of text/plain data
108            -->
109    
110    <!ENTITY % HTML.titleCDATA "IGNORE"
111            -- Is the TITLE element #PCDATA, RCDATA, or CDATA content?
112            On Mosaic, it's #PCDATA, but in the linemode browser,
113            it's more like CDATA, but not quite.
114            -->
115    
116    <!ENTITY % HTML.NEXTID "INCLUDE"
117            -- Used by the NeXT implementation to keep track of the
118            next anchor id to use
119            -->
120    
121    <!ENTITY % HTML.font-phrase "INCLUDE"
122            -- allow B, I, TT, U outside PRE,
123            CITE, VAR, etc. inside PRE
124            -->
125    
126    <!ENTITY % HTML.litCDATA "IGNORE"
127            -- treat XMP, LISTING as CDATA, as per linemodeWWW
128            -->
129    
130    <!ENTITY % HTML.forms "INCLUDE"
131            -- Support for forms as per
132    http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/fill-out-forms/overview.html
133            -->
134    
135  <!-- DTD definitions -->  <!-- DTD definitions -->
136    
# Line 13  Line 138 
138  <!ENTITY % list " UL | OL | DIR | MENU ">  <!ENTITY % list " UL | OL | DIR | MENU ">
139  <!ENTITY % literal " XMP | LISTING ">  <!ENTITY % literal " XMP | LISTING ">
140    
141  <!ENTITY % bodyelement  <!ENTITY % URI "CDATA"
142           "P | HR | %heading |          -- The term URI means a CDATA attribute
143           %list | DL | ADDRESS | PRE | BLOCKQUOTE             whose value is a Uniform Resource Identifier,
144          | %literal">             as defined by
145            "Universal Resource Identifiers" by Tim Berners-Lee
146  <!ENTITY % URL "CDATA"          aka http://info.cern.ch/hypertext/WWW/Addressing/URL/URI_Overview.html
147          -- The term URL means a CDATA attribute  
148             whose value is a Uniform Resource Locator,          Note that CDATA attributes are limited by the LITLEN
149             as defined. (A URN may also be usable here when defined.)          capacity (1024 in the current version of html.decl),
150            so that URIs in HTML have a bounded length.
151          -->          -->
152    
153  <!ENTITY % linkattributes  <!ENTITY % Content-Type "CDATA"
154          "NAME NMTOKEN #IMPLIED          -- meaning a MIME content type, as per RFC1341 or any of its updates.
155          HREF %URL;  #IMPLIED          -->
156    
157    <![ %HTML.anchorNameCDATA [ <!ENTITY % anchor-name "CDATA"> ]]>
158    <!ENTITY % anchor-name "ID">
159    
160    <![ %HTML.linkRelationships [ <!ENTITY % linkRelAttrs "
161          REL CDATA #IMPLIED -- forward relationship type --          REL CDATA #IMPLIED -- forward relationship type --
162          REV CDATA #IMPLIED -- reversed relationship type          REV CDATA #IMPLIED -- reversed relationship type
163                                to referent data:                                to referent data:
164    
165                                  PARENT CHILD, SIBLING, NEXT, TOP,                                  PARENT CHILD, SIBLING, NEXT, TOP,
166                                  DEFINITION, UPDATE, ORIGINAL etc. --                                  DEFINITION, UPDATE, ORIGINAL etc. --
167            "> ]]>
168    <!ENTITY % linkRelAttrs "">
169    
170    <![ %HTML.linkRedundantInfo [ <!ENTITY % linkRedundantAttrs "
171          URN CDATA #IMPLIED -- universal resource number --          URN CDATA #IMPLIED -- universal resource number --
172    
173          TITLE CDATA #IMPLIED -- advisory only --          TITLE CDATA #IMPLIED -- advisory only --
174            "> ]]>
175    <!ENTITY % linkRedundantAttrs "">
176    
177    <![ %HTML.linkMethods [ <!ENTITY % linkMethodAttrs "
178          METHODS NAMES #IMPLIED -- supported public methods of the object:          METHODS NAMES #IMPLIED -- supported public methods of the object:
179                                          TEXTSEARCH, GET, HEAD, ... --                                          TEXTSEARCH, GET, HEAD, ... --
180            "> ]]>
181    <!ENTITY % linkMethodAttrs "">
182    
183    <!ENTITY % linkattributes
184            "NAME %anchor-name #IMPLIED
185            HREF %URI;  #IMPLIED
186            %linkRelAttrs;
187            %linkRedundantAttrs;
188            %linkMethodAttrs;
189          ">          ">
190    
191    
192  <!-- Document Element -->  <!-- Document Element -->
193    
 <!ELEMENT HTML O O  (HEAD, BODY)>  
   
 <!ELEMENT HEAD O O  ( TITLE?  & ISINDEX?  & NEXTID?  & LINK*  
                               & BASE?)>  
194    
195  <!ELEMENT TITLE - -  (#PCDATA)  <![ %HTML.PLAINTEXT [ <!ENTITY % obsolete-plaintext ", PLAINTEXT?"> ]]>
196    <!ENTITY % obsolete-plaintext "">
197    <![ %HTML.isindexAtEnd [ <!ENTITY % end-isindex ", ISINDEX?"> ]]>
198    <!ENTITY % end-isindex "">
199    
200    <!ENTITY % html-content "HEAD, BODY %obsolete-plaintext; %end-isindex">
201    <!ELEMENT HTML O O  (%html-content)>
202    
203    <![ %HTML.NEXTID [  <!ENTITY % head-content "TITLE? & ISINDEX? & LINK* & BASE?
204                            & NEXTID?"> ]]>
205    <!ENTITY % head-content "TITLE & ISINDEX? & LINK* & BASE?">
206    <!ELEMENT HEAD O O  (%head-content)>
207    
208    <![ %HTML.titleCDATA [ <!ENTITY % title-content "CDATA"> ]]>
209    <!ENTITY % title-content "(#PCDATA)">
210    <!ELEMENT TITLE - -  %title-content
211            -- The TITLE element is not considered part of the flow of text.            -- The TITLE element is not considered part of the flow of text.
212               It should be displayed, for example as the page header or               It should be displayed, for example as the page header or
213               window title.               window title.
# Line 62  Line 218 
218               documents containing ISINDEX.               documents containing ISINDEX.
219            -->            -->
220    
221    <!ELEMENT NEXTID - O EMPTY>
222    <!ATTLIST NEXTID N %anchor-name #REQUIRED
223              -- The number should be a name suitable for use
224                 for the ID of a new element. When used, the value
225                 has its numeric part incremented. EG Z67 becomes Z68
226              -->
227  <!ELEMENT LINK - O EMPTY>  <!ELEMENT LINK - O EMPTY>
228  <!ATTLIST LINK  <!ATTLIST LINK
229          %linkattributes>          %linkattributes>
230                    
231  <!ELEMENT BASE - O EMPTY    -- Reference context for URLS -->  <!ELEMENT BASE - O EMPTY    -- Reference context for URIs -->
232  <!ATTLIST BASE  <!ATTLIST BASE
233    
234          HREF %URL; #IMPLIED          HREF %URI; #IMPLIED
235    
236          >          >
 <!ENTITY % inline "EM | STRONG |  
                         CODE | SAMP | KBD | KEY | VAR | DFN | CITE "  
         >  
237    
238  <!ELEMENT (%inline;) - - (#PCDATA | A)+>  <!ENTITY % font "TT | B | I | U ">
239    <!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | KEY | VAR | DFN | CITE">
240    
241    <![ %HTML.font-phrase [
242            <!ENTITY % obsolete-font "| %font">
243            <!ENTITY % obsolete-phrase "| %phrase">
244            ]]>
245    <!ENTITY % obsolete-font "">
246    <!ENTITY % obsolete-phrase "">
247    <![ %HTML.pSeparator [
248            <!ENTITY % obsolete-p "| P">
249            ]]>
250    <!ENTITY % obsolete-p "">
251    
252    <!ENTITY % inline "%phrase %obsolete-font">
253    <!ENTITY % pre-inline "%font %obsolete-phrase %obsolete-p">
254    
255    <![ %HTML.GO [
256            <!ELEMENT GO - O EMPTY>
257            <!ENTITY % go-text "| GO">
258            ]]>
259    <!ENTITY % go-text "">
260    
261  <!ENTITY % text "#PCDATA | IMG | %inline; | BR">  <!ENTITY % text "#PCDATA | IMG | %inline | BR %go-text %obsolete-p">
262    
263  <!ENTITY % htext "A | %text"    -- Plus links, no structure -->  <!ENTITY % htext "A | %text"    -- Plus links, no structure -->
264    
265  <!ENTITY % stext                -- as htext but also nested structure --  <![ %HTML.font-phrase [ <!ENTITY % font-content "(%htext)+"> ]]>
266                          "P | HR | %list | DL | ADDRESS  <!ENTITY % font-content "#PCDATA">
267                          | PRE | BLOCKQUOTE  <!ELEMENT (%font;) - - (%font-content;)>
                         | %literal | %htext">  
268    
269  <!ENTITY % block                -- as htext but also nested structure --  <!ELEMENT (%phrase;) - - (%htext)+>
                         "P | HR | %list | DL  
                         | PRE | BLOCKQUOTE  
                         | %literal">  
270    
271    <!ENTITY % pre "PRE | XMP | LISTING">
272    
273  <!ELEMENT BODY O O  (%heading | %block)+>  <![ %HTML.forms [ <!ENTITY % block-form "| FORM | ISINDEX"> ]]>
274    <!ENTITY % block-form "">
275    
276    <![ %HTML.pSeparator [
277            <!ENTITY % obsolete-htext "| %htext">
278            <!ENTITY % block-p "">
279            ]]>
280    <!ENTITY % obsolete-htext "| A">
281    <!ENTITY % block-p "| P ">
282    
283  <!ELEMENT A     - -  ANY>  <!ENTITY % block "HR | %list | DL
284                    | %pre | BLOCKQUOTE | ADDRESS
285                    %block-form %block-p">
286    
287    
288    <!ENTITY % body-content "%heading | %block | %htext">
289    <!ELEMENT BODY O O  (%body-content)*>
290    
291    
292    <![ %HTML.aEndOmissable [ <!ENTITY % a-end "O"> ]]>
293    <!ENTITY % a-end "-">
294    
295    <!ELEMENT A     - %a-end (%heading|%block|%text)+ -(A)
296            -- @# Technically, this allows silliness like:
297                    <H2><A>xyz<H1>h1</H1></A></H2>
298            The right way to do anchors outside of %htext is more like:
299                    <as id=z1><H2>lkjlkj</h2><ae start=z1>
300            -->
301  <!ATTLIST A  <!ATTLIST A
302          %linkattributes;          %linkattributes;
303          >          >
304    
305  <!ELEMENT IMG    - O EMPTY --  Embedded image -->  <!ELEMENT IMG    - O EMPTY --  Embedded image -->
306  <!ATTLIST IMG  <!ATTLIST IMG
307          SRC %URL;  #IMPLIED     -- URL of document to embed --          SRC %URI;  #IMPLIED     -- URI of document to embed --
308            ALT CDATA #IMPLIED
309            ALIGN (top|middle|bottom) #IMPLIED
310            ISMAP (ISMAP) #IMPLIED
311          >          >
312    
313    
314  <!ELEMENT P     - O (%htext)+ -- paragraph -->  <![ %HTML.pSeparator [ <!ENTITY % p-content "EMPTY"> ]]>
315  <!ELEMENT (HR|BR)    - O EMPTY -- horizontal rule -->  <!ENTITY % p-content "(%htext)+">
316    <!ELEMENT P     - O %p-content>
317    <!ELEMENT HR    - O EMPTY -- horizontal rule -->
318    <!ELEMENT BR    - O EMPTY -- @# BR -> &br; -->
319    
320  <!ELEMENT ( %heading )  - -  (%htext;)+>  <!ELEMENT ( %heading )  - -  (%htext;)+>
321    
322  <!ELEMENT DL    - -  (DT+, DD)+>  <!ELEMENT DL    - -  (DT*, DD?)+>
323  <!--    structured DL's  <!ATTLIST DL
324    -->          COMPACT (COMPACT) #IMPLIED>
325    
326  <!ELEMENT DT    - O (%htext)+>  <!ELEMENT DT    - O (%htext)+>
327  <!ELEMENT DD    - O (%htext|%block)+>  <!ELEMENT DD    - O (%htext|%block)+>
328    
329  <!ELEMENT (%list) - -  (LI)+>  <!ELEMENT (%list) - -  (LI)+>
330    
 <!ATTLIST (%list)  
         COMPACT NAME #IMPLIED -- COMPACT, etc.--  
         >  
   
331  <!ELEMENT LI    - O (%htext|%block)+>  <!ELEMENT LI    - O (%htext|%block)+>
332    
333  <!ELEMENT BLOCKQUOTE - - (P+, ADDRESS?)+  <!ELEMENT BLOCKQUOTE - - (%htext|%block)+ -- @# Hmm... --
334          -- for quoting some other source -->          -- for quoting some other source -->
335    
336  <!ELEMENT ADDRESS - - (%htext;)+>  <!ELEMENT ADDRESS - - (%htext;|%block)+>
337    
338  <!ELEMENT PRE - - (#PCDATA | TT | B | I | U | A | P | BR)+>  <!ELEMENT PRE - - (#PCDATA|%pre-inline|A)+>
339  <!ATTLIST PRE  <!ATTLIST PRE
340          WIDTH NUMBER #implied          WIDTH NUMBER #implied
341          >          >
# Line 143  Line 346 
346    "ISO 8879:1986//ENTITIES Added Latin 1//EN">    "ISO 8879:1986//ENTITIES Added Latin 1//EN">
347  %ISOlat1;  %ISOlat1;
348    
349    <!ENTITY #DEFAULT SDATA "&#38;unkown;" --display the markup-->
350  <!ENTITY amp "&#38;"     -- ampersand -->  <!ENTITY amp "&#38;"     -- ampersand -->
351  <!ENTITY gt "&#62;"      -- greater than -->  <!ENTITY gt "&#62;"      -- greater than -->
352  <!ENTITY lt "&#60;"      -- less than -->  <!ENTITY lt "&#60;"      -- less than -->
353  <!ENTITY nbsp "&#32;"    --  @@should be NON_BREAKING space -->  <!ENTITY quot "&#34;"      -- less than -->
354  <!-- @@ should add entites for processing instructions  <!ENTITY nbsp "<? nonbreaking-space>">
355    <!-- @# should add entites for processing instructions
356          for line break, centering, etc. -->          for line break, centering, etc. -->
357    
 <!-- deprecated elements -->  
358    
359  <!ELEMENT (%literal) - -  CDATA>  <![ %HTML.litCDATA [ <!ENTITY % lit-content "CDATA"> ]]>
360    <!ENTITY % lit-content "RCDATA">
361    <!ELEMENT (%literal) - -  %lit-content>
362    
363    <![ %HTML.PLAINTEXT [
364  <!ELEMENT PLAINTEXT - O EMPTY>  <!ELEMENT PLAINTEXT - O EMPTY>
365    ]]>
366    
367    
368    <!-- Forms  -->
369    <![ %HTML.forms [
370    
371    <!ENTITY % HTTP-Method "(GET | POST)">
372    <!ELEMENT FORM - - (%body-content)* -(FORM) +(INPUT|SELECT|TEXTAREA)>
373    <!ATTLIST FORM
374            ACTION %URI #REQUIRED
375            METHOD %HTTP-Method #IMPLIED -- @# MAILTO? --
376            ENCTYPE %Content-Type; #IMPLIED
377            >
378    
379    <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX |
380                            RADIO | SUBMIT | RESET |
381                            IMAGE | HIDDEN )">
382    <!ELEMENT INPUT - O EMPTY>
383    <!ATTLIST INPUT
384            TYPE %InputType #IMPLIED -- @# defaults to TEXT?? --
385            NAME CDATA #IMPLIED -- required for all but submit and reset --
386            VALUE CDATA #IMPLIED
387            SRC %URI #IMPLIED -- for image inputs --
388            CHECKED (CHECKED) #IMPLIED
389            SIZE CDATA #IMPLIED -- @# should be NUMBERS: delimit with space, not comma --
390            MAXLENGTH NUMBER #IMPLIED
391            ALIGN (top|middle|bottom|left|center|right) #IMPLIED --@#supported?--
392            >
393    
394    <!ELEMENT SELECT - - (OPTION+)>
395    <!ATTLIST SELECT
396            NAME CDATA #REQUIRED
397            SIZE NUMBER #IMPLIED
398            MULTIPLE (MULTIPLE) #IMPLIED
399            >
400    
401    <!ELEMENT OPTION - O (#PCDATA)>
402    <!ATTLIST OPTION
403            SELECTED (SELECTED) #IMPLIED
404            VALUE CDATA #IMPLIED
405            >
406    
407    <!ELEMENT TEXTAREA - - (#PCDATA)>
408    <!ATTLIST TEXTAREA
409            NAME CDATA #REQUIRED
410            ROWS NUMBER #REQUIRED -- @#implied? --
411            COLS NUMBER #REQUIRED
412            >
413    ]]>
414    

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

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24