/[pub]/test/html.dtd
Suika

Diff of /test/html.dtd

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

revision 1.13 by connolly, Wed May 18 17:23:29 1994 UTC revision 1.29 by connolly, Fri Aug 4 17:50:22 1995 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
4          as used by the World Wide Web (HTML DTD).                   (HTML DTD)
5    
6          $Id$          $Id$
7    
8          Author: Daniel W. Connolly <connolly@hal.com>          Author: Daniel W. Connolly <connolly@w3.org>
9          See Also: http://www.hal.com/%7Econnolly/html-spec/HTML.html          See Also: html.decl, html-1.dtd
10                    http://info.cern.ch/hypertext/WWW/MarkUp/MarkUp.html            http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html
11  -->  -->
12    
13  <!ENTITY HTML.Version  <!ENTITY % HTML.Version
14          "-//connolly hal.com//DTD WWW HTML $Date 1994/04/19 17:24:06 $//EN"          "-//IETF//DTD HTML 2.0//EN"
         -- public identifier for "current pracitice" version             --  
         -- actually, take the $'s out to get the real public identifer,  --  
         -- since $ is illegal in public identifier. When DTD stabilizes, --  
         -- we'll need to stop using RCS keywords to version the pub id   --  
15    
16          -- Typical usage:          -- Typical usage:
17    
18              <!DOCTYPE HTML PUBLIC "-//connolly hal.com//DTD WWW HTML              <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
19                                                  $Date$//EN">              <html>
20              <html>              ...
21              ...              </html>
22              </html>          --
23          --          >
         >  
24    
25    
26  <!-- Feature Test Entities -->  <!--============ Feature Test Entities ========================-->
27    
28  <!-- To use these, write your document like:  <!ENTITY % HTML.Recommended "IGNORE"
29          <!DOCTYPE HTML [          -- Certain features of the language are necessary for
30          <!ENTITY % HTML.Optional "INCLUDE">             compatibility with widespread usage, but they may
31          <!ENTITY % html PUBLIC "-//connolly hal.com//DTD WWW HTML 1.8//EN">             compromise the structural integrity of a document.
32          %html;             This feature test entity enables a more prescriptive
33          ]>             document type definition that eliminates
34          <TITLE>Here's my doc</TITLE>             those features.
         <p>It uses lots of optional features  
   
  In practice, if you're using sgmls to validate your docs,  
  you can stick the <!DOCTYPE [...]> in a separate file and  
  validate with:  
         sgmls -s doctype.sgml foo.html  
  -->  
   
 <!ENTITY % HTML.Minimal  "IGNORE">  
 <!ENTITY % HTML.Obsolete "IGNORE">  
 <!ENTITY % HTML.Prescriptive "IGNORE">  
   
 <![ %HTML.Minimal [  
         <!ENTITY % HTML.linkRelationships "IGNORE">  
         <!ENTITY % HTML.linkMethods "IGNORE">  
         <!ENTITY % HTML.linkRedundantInfo "IGNORE">  
         <!ENTITY % HTML.forms "IGNORE">  
         <!-- @@ nested lists -->  
         <!-- @@ phrases -->  
         <!-- @@ headers inside A -->  
         <!-- @@ nested phrases, fonts -->  
         ]]>  
           
 <![ %HTML.Obsolete [  
         <!ENTITY % HTML.titleCDATA "INCLUDE">  
         <!ENTITY % HTML.litCDATA "INCLUDE">  
         <!ENTITY % HTML.pSeparator "INCLUDE">  
         ]]>  
   
 <![ %HTML.Prescriptive [  
         <!--  
         This feature test entity prescribes that certain  
         idioms detract from the structural integrity of an  
         HTML document, and are therefore disallowed.  
         -->  
         <!ENTITY % HTML.font-phrase "IGNORE">  
         <!ENTITY % HTML.anchorNameCDATA "IGNORE">  
         <!ENTITY % HTML.PLAINTEXT "IGNORE">  
         <!ENTITY % HTML.bodyBlockOnly "INCLUDE">  
         ]]>  
   
 <!ENTITY % HTML.bodyBlockOnly "IGNORE"  
         -- only allow block elements in the BODY element  
         This means all paragraphs need to start with a <P> tag.  
35          -->          -->
36    
37  <!ENTITY % HTML.pSeparator "IGNORE"  <![ %HTML.Recommended [
38          -- use P element as paragraph separator, rather that container.          <!ENTITY % HTML.Deprecated "IGNORE">
39          -->  ]]>
40    
41  <!ENTITY % HTML.linkRelationships "INCLUDE"  <!ENTITY % HTML.Deprecated "INCLUDE"
42          -- Adding markup to links to show the relationship between          -- Certain features of the language are necessary for
43          ends of a link             compatibility with earlier versions of the specification,
44          see http://info.cern.ch/hypertext/WWW/MarkUp/Relationships.html             but they tend to be used an implemented inconsistently,
45          -->             and their use is deprecated. This feature test entity
46               enables a document type definition that eliminates
47               these features.
48            -->
49    
50    <!ENTITY % HTML.Highlighting "INCLUDE"
51            -- Use this feature test entity to validate that a
52               document uses no highlighting tags, which may be
53               ignored on minimal implementations.
54            -->
55    
56    <!ENTITY % HTML.Forms "INCLUDE"
57            -- Use this feature test entity to validate that a document
58               contains no forms, which may not be supported in minimal
59               implementations
60            -->
61    
62  <!ENTITY % HTML.linkMethods "INCLUDE"  <!--============== Imported Names ==============================-->
         -- Adding markup to links to show the methods supported  
         by the referent object  
         see http://info.cern.ch/hypertext/WWW/MarkUp/Elements/A.html  
         -->  
63    
64  <!ENTITY % HTML.linkRedundantInfo "INCLUDE"  <!ENTITY % Content-Type "CDATA"
65          -- Adding markup to links to give redundant information          -- meaning an internet media type
66          like URN, content type, title...             (aka MIME content type, as per RFC1521)
67          -->          -->
68    
69  <!ENTITY % HTML.anchorNameCDATA "INCLUDE"  <!ENTITY % HTTP-Method "GET | POST"
70          -- Anchor names should be distinct. SGML parser can validate          -- as per HTTP specification, in progress
71          this if the NAME attribute of the A element is declared as ID.          -->
         But that restricts the syntax of an anchor name to an SGML name,  
         i.e. a letter followed by letters, numbers, periods and dashes,  
         up to NAMELEN (34) characters long.  
         -->  
72    
73  <!ENTITY % HTML.PLAINTEXT "INCLUDE"  <!--========= DTD "Macros" =====================-->
         -- Support for the <PLAINTEXT> tag as a sign of the  
         end of th HTML data stream and the beginning of a stream  
         of text/plain data  
         -->  
74    
75  <!ENTITY % HTML.titleCDATA "IGNORE"  <!ENTITY % heading "H1|H2|H3|H4|H5|H6">
         -- Is the TITLE element #PCDATA, RCDATA, or CDATA content?  
         On Mosaic, it's #PCDATA, but in the linemode browser,  
         it's more like CDATA, but not quite.  
         -->  
76    
77  <!ENTITY % HTML.NEXTID "INCLUDE"  <!ENTITY % list " UL | OL | DIR | MENU " >
         -- Used by the NeXT implementation to keep track of the  
         next anchor id to use  
         -->  
78    
 <!ENTITY % HTML.font-phrase "INCLUDE"  
         -- allow B, I, TT, U outside PRE,  
         CITE, VAR, etc. inside PRE  
         -->  
79    
80  <!ENTITY % HTML.KEY "IGNORE"  <!--======= Character mnemonic entities =================-->
         -- There was once a KEY element, for keyboard keys, menu items,  
         buttons, etc. but it's not supported or widely documented  
         -->  
81    
82  <!ENTITY % HTML.U "IGNORE"  <!ENTITY % ISOlat1 PUBLIC
83          -- There was also a U element, but since it clashes with    "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML">
84          the common pracitce of underlining hypertext links, it is  %ISOlat1;
         not widely supported  
         -->  
85    
86  <!ENTITY % HTML.litCDATA "IGNORE"  <!ENTITY amp CDATA "&#38;"     -- ampersand          -->
87          -- treat XMP, LISTING as CDATA, as per linemodeWWW  <!ENTITY gt CDATA "&#62;"      -- greater than       -->
88          -->  <!ENTITY lt CDATA "&#60;"      -- less than          -->
89    <!ENTITY quot CDATA "&#34;"    -- double quote       -->
90    
91    
92    <!--========= SGML Document Access (SDA) Parameter Entities =====-->
93    
94    <!-- HTML 2.0 contains SGML Document Access (SDA) fixed attributes
95    in support of easy transformation to the International Committee
96    for Accessible Document Design (ICADD) DTD
97             "-//EC-USA-CDA/ICADD//DTD ICADD22//EN".
98    ICADD applications are designed to support usable access to
99    structured information by print-impaired individuals through
100    Braille, large print and voice synthesis.  For more information on
101    SDA & ICADD:  
102            - ISO 12083:1993, Annex A.8, Facilities for Braille,
103              large print and computer voice
104            - ICADD ListServ
105              <ICADD%ASUACAD.BITNET@ARIZVM1.ccit.arizona.edu>
106            - Usenet news group bit.listserv.easi
107            - Recording for the Blind, +1 800 221 4792
108    -->
109    
110  <!ENTITY % HTML.forms "INCLUDE"  <!ENTITY % SDAFORM  "SDAFORM  CDATA  #FIXED"
111          -- Support for forms as per            -- one to one mapping        -->
112  http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/fill-out-forms/overview.html  <!ENTITY % SDARULE  "SDARULE  CDATA  #FIXED"
113          -->            -- context-sensitive mapping -->
114    <!ENTITY % SDAPREF  "SDAPREF  CDATA  #FIXED"
115              -- generated text prefix     -->
116    <!ENTITY % SDASUFF  "SDASUFF  CDATA  #FIXED"
117              -- generated text suffix     -->
118    <!ENTITY % SDASUSP  "SDASUSP  NAME   #FIXED"
119              -- suspend transform process -->
120    
 <!-- DTD definitions -->  
121    
122  <!ENTITY % heading "H1|H2|H3|H4|H5|H6" >  <!--========== Text Markup =====================-->
 <!ENTITY % list " UL | OL | DIR | MENU ">  
 <!ENTITY % literal " XMP | LISTING ">  
   
 <!ENTITY % URI "CDATA"  
         -- The term URI means a CDATA attribute  
            whose value is a Uniform Resource Identifier,  
            as defined by  
         "Universal Resource Identifiers" by Tim Berners-Lee  
         aka http://info.cern.ch/hypertext/WWW/Addressing/URL/URI_Overview.html  
   
         Note that CDATA attributes are limited by the LITLEN  
         capacity (1024 in the current version of html.decl),  
         so that URIs in HTML have a bounded length.  
123    
124          @@ Need to discuss relative addresses.  <![ %HTML.Highlighting [
         -->  
125    
126  <!ENTITY % Content-Type "CDATA"  <!ENTITY % font " TT | B | I ">
         -- meaning a MIME content type, as per RFC1521  
         -->  
127    
128  <![ %HTML.anchorNameCDATA [ <!ENTITY % anchor-name "CDATA"> ]]>  <!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE ">
 <!ENTITY % anchor-name "ID">  
129    
130  <![ %HTML.linkRelationships [ <!ENTITY % linkRelAttrs "  <!ENTITY % text "#PCDATA | A | IMG | BR | %phrase | %font">
         REL CDATA #IMPLIED -- forward relationship type --  
         REV CDATA #IMPLIED -- reversed relationship type  
                               to referent data:  
   
                                 PARENT CHILD, SIBLING, NEXT, TOP,  
                                 DEFINITION, UPDATE, ORIGINAL etc. --  
         "> ]]>  
 <!ENTITY % linkRelAttrs "">  
   
 <![ %HTML.linkRedundantInfo [ <!ENTITY % linkRedundantAttrs "  
         URN CDATA #IMPLIED -- universal resource number --  
   
         TITLE CDATA #IMPLIED -- advisory only --  
         "> ]]>  
 <!ENTITY % linkRedundantAttrs "">  
   
 <![ %HTML.linkMethods [ <!ENTITY % linkMethodAttrs "  
         METHODS NAMES #IMPLIED -- supported public methods of the object:  
                                         TEXTSEARCH, GET, HEAD, ... --  
         "> ]]>  
 <!ENTITY % linkMethodAttrs "">  
   
 <!ENTITY % linkattributes  
         "NAME %anchor-name #IMPLIED  
         HREF %URI;  #IMPLIED  
         %linkRelAttrs;  
         %linkRedundantAttrs;  
         %linkMethodAttrs;  
         ">  
131    
132    <!ELEMENT (%font;|%phrase) - - (%text)*>
133    <!ATTLIST ( TT | CODE | SAMP | KBD | VAR )
134            %SDAFORM; "Lit"
135            >
136    <!ATTLIST ( B | STRONG )
137            %SDAFORM; "B"
138            >
139    <!ATTLIST ( I | EM | CITE )
140            %SDAFORM; "It"
141            >
142    
143  <!-- Document Element -->  <!-- <TT>       Typewriter text                         -->
144    <!-- <B>        Bold text                               -->
145    <!-- <I>        Italic text                             -->
146    
147    <!-- <EM>       Emphasized phrase                       -->
148    <!-- <STRONG>   Strong emphais                          -->
149    <!-- <CODE>     Source code phrase                      -->
150    <!-- <SAMP>     Sample text or characters               -->
151    <!-- <KBD>      Keyboard phrase, e.g. user input        -->
152    <!-- <VAR>      Variable phrase or substituable         -->
153    <!-- <CITE>     Name or title of cited work             -->
154    
155    <!ENTITY % pre.content "#PCDATA | A | HR | BR | %font | %phrase">
156    
157  <![ %HTML.PLAINTEXT [ <!ENTITY % obsolete-plaintext ", PLAINTEXT?"> ]]>  ]]>
 <!ENTITY % obsolete-plaintext "">  
158    
159  <!ENTITY % html-content "HEAD, BODY %obsolete-plaintext;">  <!ENTITY % text "#PCDATA | A | IMG | BR">
 <!ELEMENT HTML O O  (%html-content)>  
160    
161  <![ %HTML.NEXTID [  <!ENTITY % head-content "TITLE? & ISINDEX? & LINK* & BASE?  <!ELEMENT BR    - O EMPTY>
162                          & NEXTID?"> ]]>  <!ATTLIST BR
163  <!ENTITY % head-content "TITLE & ISINDEX? & LINK* & BASE?">          %SDAPREF; "&#RE;"
164  <!ELEMENT HEAD O O  (%head-content)>          >
   
 <![ %HTML.titleCDATA [ <!ENTITY % title-content "CDATA"> ]]>  
 <!ENTITY % title-content "(#PCDATA)">  
 <!ELEMENT TITLE - -  %title-content  
           -- 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.  
           -->  
165    
166  <!ELEMENT NEXTID - O EMPTY>  <!-- <BR>       Line break      -->
167  <!ATTLIST NEXTID N %anchor-name #REQUIRED  
168            -- The number should be a name suitable for use  
169               for the ID of a new element. When used, the value  <!--========= Link Markup ======================-->
170               has its numeric part incremented. EG Z67 becomes Z68  
171            -->  <!ENTITY % linkType "NAMES">
172  <!ELEMENT LINK - O EMPTY>  
173  <!ATTLIST LINK  <!ENTITY % linkExtraAttributes
174          %linkattributes>          "REL %linkType #IMPLIED
175                    REV %linkType #IMPLIED
176  <!ELEMENT BASE - O EMPTY    -- Reference context for URIs -->          URN CDATA #IMPLIED
177  <!ATTLIST BASE          TITLE CDATA #IMPLIED
178            METHODS NAMES #IMPLIED
179            ">
180    
181    <![ %HTML.Recommended [
182            <!ENTITY % A.content   "(%text)*"
183            -- <H1><a name="xxx">Heading</a></H1>
184                    is preferred to
185               <a name="xxx"><H1>Heading</H1></a>
186            -->
187    ]]>
188    
189          HREF %URI; #REQUIRED  <!ENTITY % A.content   "(%heading|%text)*">
190    
191    <!ELEMENT A     - - %A.content -(A)>
192    <!ATTLIST A
193            HREF CDATA #IMPLIED
194            NAME CDATA #IMPLIED
195            %linkExtraAttributes;
196            %SDAPREF; "<Anchor: #AttList>"
197          >          >
198    <!-- <A>                Anchor; source/destination of link      -->
199    <!-- <A NAME="...">     Name of this anchor                     -->
200    <!-- <A HREF="...">     Address of link destination             -->
201    <!-- <A URN="...">      Permanent address of destination        -->
202    <!-- <A REL=...>        Relationship to destination             -->
203    <!-- <A REV=...>        Relationship of destination to this     -->
204    <!-- <A TITLE="...">    Title of destination (advisory)         -->
205    <!-- <A METHODS="...">  Operations on destination (advisory)    -->
206    
207    
208  <![ %HTML.KEY [  <!--========== Images ==========================-->
         <!ENTITY % key-emph "| KEY">  
         ]]>  
 <!ENTITY % key-emph "">  
209    
210  <![ %HTML.U [  <!ELEMENT IMG    - O EMPTY>
211          <!ENTITY % u-font "| U">  <!ATTLIST IMG
212          ]]>          SRC CDATA  #REQUIRED
213  <!ENTITY % u-font "">          ALT CDATA #IMPLIED
214            ALIGN (top|middle|bottom) #IMPLIED
215            ISMAP (ISMAP) #IMPLIED
216            %SDAPREF; "<Fig><?SDATrans Img: #AttList>#AttVal(Alt)</Fig>"
217            >
218    
219  <!ENTITY % font "TT | B | I %u-font">  <!-- <IMG>              Image; icon, glyph or illustration      -->
220  <!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | DFN | CITE  <!-- <IMG SRC="...">    Address of image object                 -->
221           | STRIKE %key-emph">  <!-- <IMG ALT="...">    Textual alternative                     -->
222    <!-- <IMG ALIGN=...>    Position relative to text               -->
223    <!-- <IMG ISMAP>        Each pixel can be a link                -->
224    
225    <!--========== Paragraphs=======================-->
226    
227    <!ELEMENT P     - O (%text)*>
228    <!ATTLIST P
229            %SDAFORM; "Para"
230            >
231    
232    <!-- <P>        Paragraph       -->
233    
 <![ %HTML.font-phrase [  
         <!ENTITY % obsolete-font "| %font">  
         <!ENTITY % obsolete-phrase "| %phrase">  
         ]]>  
 <!ENTITY % obsolete-font "">  
 <!ENTITY % obsolete-phrase "">  
 <![ %HTML.pSeparator [  
         <!ENTITY % obsolete-p "| P">  
         ]]>  
 <!ENTITY % obsolete-p "">  
234    
235  <!ENTITY % inline "%phrase %obsolete-font">  <!--========== Headings, Titles, Sections ===============-->
 <!ENTITY % pre-inline "%font %obsolete-phrase %obsolete-p">  
236    
237  <!ENTITY % text "#PCDATA | IMG | %inline | BR %obsolete-p">  <!ELEMENT HR    - O EMPTY>
238    <!ATTLIST HR
239            %SDAPREF; "&#RE;&#RE;"
240            >
241    
242  <!ENTITY % htext "A | %text"    -- Plus links, no structure -->  <!-- <HR>       Horizontal rule -->
243    
244  <![ %HTML.font-phrase [ <!ENTITY % font-content "(%htext)+"> ]]>  <!ELEMENT ( %heading )  - -  (%text;)*>
245  <!ENTITY % font-content "#PCDATA">  <!ATTLIST H1
246  <!ELEMENT (%font;) - - (%font-content;)>          %SDAFORM; "H1"
247            >
248    <!ATTLIST H2
249            %SDAFORM; "H2"
250            >
251    <!ATTLIST H3
252            %SDAFORM; "H3"
253            >
254    <!ATTLIST H4
255            %SDAFORM; "H4"
256            >
257    <!ATTLIST H5
258            %SDAFORM; "H5"
259            >
260    <!ATTLIST H6
261            %SDAFORM; "H6"
262            >
263    
264  <!ELEMENT (%phrase;) - - (%htext)+>  <!-- <H1>       Heading, level 1 -->
265    <!-- <H2>       Heading, level 2 -->
266    <!-- <H3>       Heading, level 3 -->
267    <!-- <H4>       Heading, level 4 -->
268    <!-- <H5>       Heading, level 5 -->
269    <!-- <H6>       Heading, level 6 -->
270    
 <!ENTITY % pre "PRE | XMP | LISTING">  
271    
272  <![ %HTML.forms [ <!ENTITY % block-form "| FORM | ISINDEX"> ]]>  <!--========== Text Flows ======================-->
 <!ENTITY % block-form "">  
273    
274  <![ %HTML.pSeparator [  <![ %HTML.Forms [
275          <!ENTITY % obsolete-htext "| %htext">          <!ENTITY % block.forms "BLOCKQUOTE | FORM | ISINDEX">
276          <!ENTITY % block-p "">  ]]>
         ]]>  
 <!ENTITY % obsolete-htext "| A">  
 <!ENTITY % block-p "| P ">  
277    
278  <!ENTITY % block "HR | %list | DL  <!ENTITY % block.forms "BLOCKQUOTE">
                 | %pre | BLOCKQUOTE | ADDRESS  
                 %block-form %block-p">  
279    
280    <![ %HTML.Deprecated [
281            <!ENTITY % preformatted "PRE | XMP | LISTING">
282    ]]>
283    
284  <![ %HTML.bodyBlockOnly [  <!ENTITY % preformatted "PRE">
         <!ENTITY % current-htext "">  
         ]]>  
 <!ENTITY % current-htext "| %htext">  
285    
286  <!ENTITY % body-content "%heading | %block %current-htext">  <!ENTITY % block "P | %list | DL
287  <!ELEMENT BODY O O  (%body-content)*>          | %preformatted
288            | %block.forms">
289    
290    <!ENTITY % flow "(%text|%block)*">
291    
292  <!ELEMENT A     - - (%heading|%block|%text)+ -(A)  <!ENTITY % pre.content "#PCDATA | A | HR | BR">
293          -- @# Technically, this allows silliness like:  <!ELEMENT PRE - - (%pre.content)*>
294                  <H2><A>xyz<H1>h1</H1></A></H2>  <!ATTLIST PRE
295          The right way to do anchors outside of %htext is more like:          WIDTH NUMBER #implied
296                  <as id=z1><H2>lkjlkj</h2><ae start=z1>          %SDAFORM; "Lit"
         -->  
 <!ATTLIST A  
         %linkattributes;  
297          >          >
298    
299  <!ELEMENT IMG    - O EMPTY --  Embedded image -->  <!-- <PRE>              Preformatted text               -->
300  <!ATTLIST IMG  <!-- <PRE WIDTH=...>    Maximum characters per line     -->
301          SRC %URI;  #IMPLIED     -- URI of document to embed --  
302          ALT CDATA #IMPLIED  <![ %HTML.Deprecated [
303          ALIGN (top|middle|bottom) #IMPLIED  
304          ISMAP (ISMAP) #IMPLIED  <!ENTITY % literal "CDATA"
305            -- historical, non-conforming parsing mode where
306               the only markup signal is the end tag
307               in full
308            -->
309    
310    <!ELEMENT (XMP|LISTING) - -  %literal>
311    <!ATTLIST XMP
312            %SDAFORM; "Lit"
313            %SDAPREF; "Example:&#RE;"
314            >
315    <!ATTLIST LISTING
316            %SDAFORM; "Lit"
317            %SDAPREF; "Listing:&#RE;"
318          >          >
319    
320    <!-- <XMP>              Example section         -->
321    <!-- <LISTING>          Computer listing        -->
322    
323    <!ELEMENT PLAINTEXT - O %literal>
324    <!-- <PLAINTEXT>        Plain text passage      -->
325    
326    <!ATTLIST PLAINTEXT
327            %SDAFORM; "Lit"
328            >
329    ]]>
330    
 <![ %HTML.pSeparator [ <!ENTITY % p-content "EMPTY"> ]]>  
 <!ENTITY % p-content "(%htext)+">  
 <!ELEMENT P     - O %p-content>  
 <!ELEMENT HR    - O EMPTY -- horizontal rule -->  
 <!ELEMENT BR    - O EMPTY -- @# BR -> &br; -->  
331    
332  <!ELEMENT ( %heading )  - -  (%htext;)+>  <!--========== Lists ==================-->
333    
334  <!ELEMENT DL    - -  (DT*, DD?)+>  <!ELEMENT DL    - -  (DT | DD)+>
335  <!ATTLIST DL  <!ATTLIST DL
336          COMPACT (COMPACT) #IMPLIED>          COMPACT (COMPACT) #IMPLIED
337            %SDAFORM; "List"
338            %SDAPREF; "Definition List:"
339            >
340    
341  <!ELEMENT DT    - O (%htext)+>  <!ELEMENT DT    - O (%text)*>
342  <!ELEMENT DD    - O (%htext|%block)+>  <!ATTLIST DT
343            %SDAFORM; "Term"
344            >
345    
346  <!ELEMENT (%list) - -  (LI)+>  <!ELEMENT DD    - O %flow>
347    <!ATTLIST DD
348            %SDAFORM; "LItem"
349            >
350    
351  <!ELEMENT LI    - O (%htext|%block)+>  <!-- <DL>               Definition list, or glossary    -->
352    <!-- <DL COMPACT>       Compact style list              -->
353    <!-- <DT>               Term in definition list         -->
354    <!-- <DD>               Definition of term              -->
355    
356    <!ELEMENT (OL|UL) - -  (LI)+>
357    <!ATTLIST OL
358            COMPACT (COMPACT) #IMPLIED
359            %SDAFORM; "List"
360            >
361    <!ATTLIST UL
362            COMPACT (COMPACT) #IMPLIED
363            %SDAFORM; "List"
364            >
365    <!-- <UL>               Unordered list                  -->
366    <!-- <UL COMPACT>       Compact list style              -->
367    <!-- <OL>               Ordered, or numbered list       -->
368    <!-- <OL COMPACT>       Compact list style              -->
369    
 <!ELEMENT BLOCKQUOTE - - (%htext|%block)+ -- @# Hmm... --  
         -- for quoting some other source -->  
370    
371  <!ELEMENT ADDRESS - - (%htext;|%block)+>  <!ELEMENT (DIR|MENU) - -  (LI)+ -(%block)>
372    <!ATTLIST DIR
373            COMPACT (COMPACT) #IMPLIED
374            %SDAFORM; "List"
375            %SDAPREF; "<LHead>Directory</LHead>"
376            >
377    <!ATTLIST MENU
378            COMPACT (COMPACT) #IMPLIED
379            %SDAFORM; "List"
380            %SDAPREF; "<LHead>Menu</LHead>"
381            >
382    
383  <!ELEMENT PRE - - (#PCDATA|%pre-inline|A)+>  <!-- <DIR>              Directory list                  -->
384  <!ATTLIST PRE  <!-- <DIR COMPACT>      Compact list style              -->
385          WIDTH NUMBER #implied  <!-- <MENU>             Menu list                       -->
386    <!-- <MENU COMPACT>     Compact list style              -->
387    
388    <!ELEMENT LI    - O %flow>
389    <!ATTLIST LI
390            %SDAFORM; "LItem"
391          >          >
392    
393  <!-- Mnemonic character entities. -->  <!-- <LI>               List item                       -->
394    
395  <!ENTITY % ISOlat1 PUBLIC  <!--========== Document Body ===================-->
396    "ISO 8879:1986//ENTITIES Added Latin 1//EN">  
397  %ISOlat1;  <![ %HTML.Recommended [
398            <!ENTITY % body.content "(%heading|%block|HR|ADDRESS|IMG)*"
399            -- <h1>Heading</h1>
400               <p>Text ...
401                    is preferred to
402               <h1>Heading</h1>
403               Text ...
404            -->
405    ]]>
406    
407    <!ENTITY % body.content "(%heading | %text | %block |
408                                     HR | ADDRESS)*">
409    
410    <!ELEMENT BODY O O  %body.content>
411    
412  <!ENTITY #DEFAULT SDATA "&#38;unkown;" --display the markup-->  <!-- <BODY>     Document body   -->
 <!ENTITY amp CDATA "&#38;"     -- ampersand -->  
 <!ENTITY gt CDATA "&#62;"      -- greater than -->  
 <!ENTITY lt CDATA "&#60;"      -- less than -->  
 <!ENTITY quot CDATA "&#34;"    -- double quote -->  
413    
414  <!-- Processing Entities -->  <!ELEMENT BLOCKQUOTE - - %body.content>
415    <!ATTLIST BLOCKQUOTE
416            %SDAFORM; "BQ"
417            >
418    
419    <!-- <BLOCKQUOTE>       Quoted passage  -->
420    
421    <!ELEMENT ADDRESS - - (%text|P)*>
422    <!ATTLIST  ADDRESS
423            %SDAFORM; "Lit"
424            %SDAPREF; "Address:&#RE;"
425            >
426    
427  <!ENTITY nbsp "<? nonbreaking-space>">  <!-- <ADDRESS>  Address, signature, or byline   -->
 <!-- @# should add entites for processing instructions  
         for line break, centering, etc. -->  
428    
429    
430  <!-- Forms  -->  <!--======= Forms ====================-->
 <![ %HTML.forms [  
431    
432  <!ENTITY % HTTP-Method "(GET | POST)">  <![ %HTML.Forms [
433  <!ELEMENT FORM - - (%body-content)* -(FORM) +(INPUT|SELECT|TEXTAREA)>  
434    <!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)>
435  <!ATTLIST FORM  <!ATTLIST FORM
436          ACTION %URI #REQUIRED          ACTION CDATA #IMPLIED
437          METHOD %HTTP-Method #IMPLIED -- @# MAILTO? --          METHOD (%HTTP-Method) GET
438          ENCTYPE %Content-Type; #IMPLIED          ENCTYPE %Content-Type; "application/x-www-form-urlencoded"
439          >          %SDAPREF; "<Para>Form:</Para>"
440            %SDASUFF; "<Para>Form End.</Para>"
441            >
442    
443    <!-- <FORM>                     Fill-out or data-entry form     -->
444    <!-- <FORM ACTION="...">        Address for completed form      -->
445    <!-- <FORM METHOD=...>          Method of submitting form       -->
446    <!-- <FORM ENCTYPE="...">       Representation of form data     -->
447    
448  <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX |  <!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX |
449                          RADIO | SUBMIT | RESET |                          RADIO | SUBMIT | RESET |
450                          IMAGE | HIDDEN )">                          IMAGE | HIDDEN )">
451  <!ELEMENT INPUT - O EMPTY>  <!ELEMENT INPUT - O EMPTY>
452  <!ATTLIST INPUT  <!ATTLIST INPUT
453          TYPE %InputType #IMPLIED -- @# defaults to TEXT?? --          TYPE %InputType TEXT
454          NAME CDATA #IMPLIED -- required for all but submit and reset --          NAME CDATA #IMPLIED
455          VALUE CDATA #IMPLIED          VALUE CDATA #IMPLIED
456          SRC %URI #IMPLIED -- for image inputs --          SRC CDATA #IMPLIED
457          CHECKED (CHECKED) #IMPLIED          CHECKED (CHECKED) #IMPLIED
458          SIZE CDATA #IMPLIED -- @# should be NUMBERS: delimit with space, not comma --          SIZE CDATA #IMPLIED
459          MAXLENGTH NUMBER #IMPLIED          MAXLENGTH NUMBER #IMPLIED
460          ALIGN (top|middle|bottom|left|center|right) #IMPLIED --@#supported?--          ALIGN (top|middle|bottom) #IMPLIED
461            %SDAPREF; "Input: "
462          >          >
463    
464  <!ELEMENT SELECT - - (OPTION+)>  <!-- <INPUT>                    Form input datum                -->
465    <!-- <INPUT TYPE=...>           Type of input interaction       -->
466    <!-- <INPUT NAME=...>           Name of form datum              -->
467    <!-- <INPUT VALUE="...">        Default/initial/selected value  -->
468    <!-- <INPUT SRC="...">          Address of image                -->
469    <!-- <INPUT CHECKED>            Initial state is "on"           -->
470    <!-- <INPUT SIZE=...>           Field size hint                 -->
471    <!-- <INPUT MAXLENGTH=...>      Data length maximum             -->
472    <!-- <INPUT ALIGN=...>          Image alignment                 -->
473    
474    <!ELEMENT SELECT - - (OPTION+) -(INPUT|SELECT|TEXTAREA)>
475  <!ATTLIST SELECT  <!ATTLIST SELECT
476          NAME CDATA #REQUIRED          NAME CDATA #REQUIRED
477          SIZE NUMBER #IMPLIED          SIZE NUMBER #IMPLIED
478          MULTIPLE (MULTIPLE) #IMPLIED          MULTIPLE (MULTIPLE) #IMPLIED
479            %SDAFORM; "List"
480            %SDAPREF;
481            "<LHead>Select #AttVal(Multiple)</LHead>"
482          >          >
483    
484  <!ELEMENT OPTION - O (#PCDATA)>  <!-- <SELECT>                   Selection of option(s)          -->
485    <!-- <SELECT NAME=...>          Name of form datum              -->
486    <!-- <SELECT SIZE=...>          Options displayed at a time     -->
487    <!-- <SELECT MULTIPLE>          Multiple selections allowed     -->
488    
489    <!ELEMENT OPTION - O (#PCDATA)*>
490  <!ATTLIST OPTION  <!ATTLIST OPTION
491          SELECTED (SELECTED) #IMPLIED          SELECTED (SELECTED) #IMPLIED
492          VALUE CDATA #IMPLIED          VALUE CDATA #IMPLIED
493            %SDAFORM; "LItem"
494            %SDAPREF;
495            "Option: #AttVal(Value) #AttVal(Selected)"
496          >          >
497    
498  <!ELEMENT TEXTAREA - - (#PCDATA)>  <!-- <OPTION>                   A selection option              -->
499    <!-- <OPTION SELECTED>          Initial state                   -->
500    <!-- <OPTION VALUE="...">       Form datum value for this option-->
501    
502    <!ELEMENT TEXTAREA - - (#PCDATA)* -(INPUT|SELECT|TEXTAREA)>
503  <!ATTLIST TEXTAREA  <!ATTLIST TEXTAREA
504          NAME CDATA #REQUIRED          NAME CDATA #REQUIRED
505          ROWS NUMBER #REQUIRED -- @#implied? --          ROWS NUMBER #REQUIRED
506          COLS NUMBER #REQUIRED          COLS NUMBER #REQUIRED
507          >          %SDAFORM; "Para"
508            %SDAPREF; "Input Text -- #AttVal(Name): "
509            >
510    
511    <!-- <TEXTAREA>                 An area for text input          -->
512    <!-- <TEXTAREA NAME=...>        Name of form datum              -->
513    <!-- <TEXTAREA ROWS=...>        Height of area                  -->
514    <!-- <TEXTAREA COLS=...>        Width of area                   -->
515    
516    ]]>
517    
518    
519    <!--======= Document Head ======================-->
520    
521    <![ %HTML.Recommended [
522            <!ENTITY % head.extra "">
523  ]]>  ]]>
524    <!ENTITY % head.extra "& NEXTID?">
525    
526    <!ENTITY % head.content "TITLE & ISINDEX? & BASE? %head.extra">
527    
528    <!ELEMENT HEAD O O  (%head.content) +(META|LINK)>
529    
530    <!-- <HEAD>     Document head   -->
531    
532  <!-- Obsolete Elements  -->  <!ELEMENT TITLE - -  (#PCDATA)*>
533    <!ATTLIST TITLE
534            %SDAFORM; "Ti"    >
535    
536  <![ %HTML.litCDATA [ <!ENTITY % lit-content "CDATA"> ]]>  <!-- <TITLE>    Title of document -->
 <!ENTITY % lit-content "RCDATA">  
 <!ELEMENT (%literal) - -  %lit-content>  
537    
538  <![ %HTML.PLAINTEXT [  <!ELEMENT LINK - O EMPTY>
539  <!ELEMENT PLAINTEXT - O EMPTY>  <!ATTLIST LINK
540            HREF CDATA #REQUIRED
541            %linkExtraAttributes;
542            %SDAPREF; "Linked to : #AttVal (TITLE) (URN) (HREF)>"    >
543    
544    <!-- <LINK>             Link from this document                 -->
545    <!-- <LINK HREF="...">  Address of link destination             -->
546    <!-- <LINK URN="...">   Lasting name of destination             -->
547    <!-- <LINK REL=...>     Relationship to destination             -->
548    <!-- <LINK REV=...>     Relationship of destination to this     -->
549    <!-- <LINK TITLE="..."> Title of destination (advisory)         -->
550    <!-- <LINK METHODS="..."> Operations allowed (advisory)         -->
551    
552    <!ELEMENT ISINDEX - O EMPTY>
553    <!ATTLIST ISINDEX
554            %SDAPREF;
555       "<Para>[Document is indexed/searchable.]</Para>">
556    
557    <!-- <ISINDEX>          Document is a searchable index          -->
558    
559    <!ELEMENT BASE - O EMPTY>
560    <!ATTLIST BASE
561            HREF CDATA #REQUIRED     >
562    
563    <!-- <BASE>             Base context document                   -->
564    <!-- <BASE HREF="...">  Address for this document               -->
565    
566    <!ELEMENT NEXTID - O EMPTY>
567    <!ATTLIST NEXTID
568            N CDATA #REQUIRED     >
569    
570    <!-- <NEXTID>           Next ID to use for link name            -->
571    <!-- <NEXTID N=...>     Next ID to use for link name            -->
572    
573    <!ELEMENT META - O EMPTY>
574    <!ATTLIST META
575            HTTP-EQUIV  NAME    #IMPLIED
576            NAME        NAME    #IMPLIED
577            CONTENT     CDATA   #REQUIRED    >
578    
579    <!-- <META>                     Generic Metainformation         -->
580    <!-- <META HTTP-EQUIV=...>      HTTP response header name       -->
581    <!-- <META NAME=...>            Metainformation name            -->
582    <!-- <META CONTENT="...">       Associated information          -->
583    
584    <!--======= Document Structure =================-->
585    
586    <![ %HTML.Deprecated [
587            <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?">
588  ]]>  ]]>
589    <!ENTITY % html.content "HEAD, BODY">
590    
591    <!ELEMENT HTML O O  (%html.content)>
592    <!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'">
593    
594    <!ATTLIST HTML
595            %version.attr;
596            %SDAFORM; "Book"
597            >
598    
599    <!-- <HTML>                     HTML Document   -->

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.29

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24