http://www.w3.org/MarkUp/html-spec/html.dtd,v

Scripting is disabled and therefore annotations cannot be shown.
head	1.30;
access;
symbols
	python:1.18
	terry:1.13.0.2
	timbl-review:1.13
	connolly:1.7.0.2
	draft-iiir-html-01:1.6;
locks; strict;
comment	@# @;


1.30
date	95.09.21.23.30.19;	author connolly;	state Exp;
branches;
next	1.29;

1.29
date	95.08.04.17.50.22;	author connolly;	state Exp;
branches;
next	1.28;

1.28
date	95.06.16.18.54.22;	author connolly;	state Exp;
branches;
next	1.27;

1.27
date	95.06.15.20.17.03;	author connolly;	state Exp;
branches;
next	1.26;

1.26
date	95.06.02.08.00.02;	author connolly;	state Exp;
branches;
next	1.25;

1.25
date	95.03.29.18.53.13;	author connolly;	state Exp;
branches;
next	1.24;

1.24
date	95.02.06.21.28.45;	author connolly;	state Exp;
branches;
next	1.23;

1.23
date	95.01.28.05.59.34;	author connolly;	state Exp;
branches;
next	1.22;

1.22
date	94.11.30.23.45.40;	author connolly;	state Exp;
branches;
next	1.21;

1.21
date	94.11.15.19.54.38;	author connolly;	state Exp;
branches;
next	1.20;

1.20
date	94.09.26.16.10.19;	author connolly;	state Exp;
branches;
next	1.19;

1.19
date	94.09.23.22.46.51;	author connolly;	state Exp;
branches;
next	1.18;

1.18
date	94.07.20.16.24.43;	author connolly;	state Exp;
branches;
next	1.17;

1.17
date	94.07.20.15.46.38;	author connolly;	state Exp;
branches;
next	1.16;

1.16
date	94.06.13.20.55.50;	author connolly;	state Exp;
branches;
next	1.15;

1.15
date	94.06.03.22.09.14;	author connolly;	state Exp;
branches;
next	1.14;

1.14
date	94.06.03.20.02.52;	author connolly;	state Exp;
branches;
next	1.13;

1.13
date	94.05.18.17.23.29;	author connolly;	state Exp;
branches;
next	1.12;

1.12
date	94.05.17.21.07.53;	author connolly;	state Exp;
branches;
next	1.11;

1.11
date	94.04.30.03.17.56;	author connolly;	state Exp;
branches;
next	1.10;

1.10
date	94.04.19.17.24.06;	author connolly;	state Exp;
branches;
next	1.9;

1.9
date	94.04.14.01.23.26;	author connolly;	state Exp;
branches;
next	1.8;

1.8
date	94.04.09.01.02.10;	author connolly;	state Exp;
branches;
next	1.7;

1.7
date	94.04.01.19.21.25;	author connolly;	state Exp;
branches
	1.7.2.1;
next	1.6;

1.6
date	94.03.30.02.29.15;	author connolly;	state Exp;
branches;
next	1.5;

1.5
date	94.03.30.02.28.06;	author connolly;	state Exp;
branches;
next	1.4;

1.4
date	93.02.03.21.30.13;	author connolly;	state Exp;
branches;
next	1.3;

1.3
date	93.01.07.00.38.36;	author connolly;	state Exp;
branches;
next	1.2;

1.2
date	92.12.03.02.04.29;	author connolly;	state Exp;
branches;
next	;

1.7.2.1
date	94.04.01.20.07.22;	author connolly;	state Exp;
branches;
next	1.7.2.2;

1.7.2.2
date	94.04.01.20.30.17;	author connolly;	state Exp;
branches;
next	1.7.2.3;

1.7.2.3
date	94.04.04.23.58.38;	author connolly;	state Exp;
branches;
next	1.7.2.4;

1.7.2.4
date	94.04.07.00.33.25;	author connolly;	state Exp;
branches;
next	;


desc
@formal specification of HTML
@


1.30
log
@,changes
@
text
@<!--    html.dtd

        Document Type Definition for the HyperText Markup Language
		 (HTML DTD)

	$Id: html.dtd,v 1.29 1995/08/04 17:50:22 connolly Exp $

	Author: Daniel W. Connolly <connolly@@w3.org>
	See Also: html.decl, html-1.dtd
	  http://www.w3.org/hypertext/WWW/MarkUp/MarkUp.html
-->

<!ENTITY % HTML.Version
        "-//IETF//DTD HTML 2.0//EN"

        -- Typical usage:

            <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
            <html>
            ...
            </html>
        --
        >


<!--============ Feature Test Entities ========================-->

<!ENTITY % HTML.Recommended "IGNORE"
	-- Certain features of the language are necessary for
	   compatibility with widespread usage, but they may
	   compromise the structural integrity of a document.
	   This feature test entity enables a more prescriptive
	   document type definition that eliminates
	   those features.
	-->

<![ %HTML.Recommended [
        <!ENTITY % HTML.Deprecated "IGNORE">
]]>

<!ENTITY % HTML.Deprecated "INCLUDE"
	-- Certain features of the language are necessary for
	   compatibility with earlier versions of the specification,
	   but they tend to be used and implemented inconsistently,
	   and their use is deprecated. This feature test entity
	   enables a document type definition that eliminates
	   these features.
	-->

<!ENTITY % HTML.Highlighting "INCLUDE"
	-- Use this feature test entity to validate that a
	   document uses no highlighting tags, which may be
	   ignored on minimal implementations.
	-->

<!ENTITY % HTML.Forms "INCLUDE"
        -- Use this feature test entity to validate that a document
           contains no forms, which may not be supported in minimal
           implementations
        -->

<!--============== Imported Names ==============================-->

<!ENTITY % Content-Type "CDATA"
        -- meaning an internet media type
           (aka MIME content type, as per RFC1521)
        -->

<!ENTITY % HTTP-Method "GET | POST"
        -- as per HTTP specification, in progress
        -->

<!--========= DTD "Macros" =====================-->

<!ENTITY % heading "H1|H2|H3|H4|H5|H6">

<!ENTITY % list " UL | OL | DIR | MENU " >


<!--======= Character mnemonic entities =================-->

<!ENTITY % ISOlat1 PUBLIC
  "ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML">
%ISOlat1;

<!ENTITY amp CDATA "&#38;"     -- ampersand          -->
<!ENTITY gt CDATA "&#62;"      -- greater than       -->
<!ENTITY lt CDATA "&#60;"      -- less than          -->
<!ENTITY quot CDATA "&#34;"    -- double quote       -->


<!--========= SGML Document Access (SDA) Parameter Entities =====-->

<!-- HTML 2.0 contains SGML Document Access (SDA) fixed attributes
in support of easy transformation to the International Committee
for Accessible Document Design (ICADD) DTD
	 "-//EC-USA-CDA/ICADD//DTD ICADD22//EN".
ICADD applications are designed to support usable access to
structured information by print-impaired individuals through
Braille, large print and voice synthesis.  For more information on
SDA & ICADD:  
        - ISO 12083:1993, Annex A.8, Facilities for Braille,
	  large print and computer voice
        - ICADD ListServ
	  <ICADD%ASUACAD.BITNET@@ARIZVM1.ccit.arizona.edu>
        - Usenet news group bit.listserv.easi
        - Recording for the Blind, +1 800 221 4792
-->

<!ENTITY % SDAFORM  "SDAFORM  CDATA  #FIXED"
	  -- one to one mapping        -->
<!ENTITY % SDARULE  "SDARULE  CDATA  #FIXED"
	  -- context-sensitive mapping -->
<!ENTITY % SDAPREF  "SDAPREF  CDATA  #FIXED"
	  -- generated text prefix     -->
<!ENTITY % SDASUFF  "SDASUFF  CDATA  #FIXED"
	  -- generated text suffix     -->
<!ENTITY % SDASUSP  "SDASUSP  NAME   #FIXED"
	  -- suspend transform process -->


<!--========== Text Markup =====================-->

<![ %HTML.Highlighting [

<!ENTITY % font " TT | B | I ">

<!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | CITE ">

<!ENTITY % text "#PCDATA | A | IMG | BR | %phrase | %font">

<!ELEMENT (%font;|%phrase) - - (%text)*>
<!ATTLIST ( TT | CODE | SAMP | KBD | VAR )
        %SDAFORM; "Lit"
        >
<!ATTLIST ( B | STRONG )
        %SDAFORM; "B"
        >
<!ATTLIST ( I | EM | CITE )
        %SDAFORM; "It"
        >

<!-- <TT>       Typewriter text                         -->
<!-- <B>        Bold text                               -->
<!-- <I>        Italic text                             -->

<!-- <EM>       Emphasized phrase                       -->
<!-- <STRONG>   Strong emphasis                         -->
<!-- <CODE>     Source code phrase                      -->
<!-- <SAMP>     Sample text or characters               -->
<!-- <KBD>      Keyboard phrase, e.g. user input        -->
<!-- <VAR>      Variable phrase or substitutable        -->
<!-- <CITE>     Name or title of cited work             -->

<!ENTITY % pre.content "#PCDATA | A | HR | BR | %font | %phrase">

]]>

<!ENTITY % text "#PCDATA | A | IMG | BR">

<!ELEMENT BR    - O EMPTY>
<!ATTLIST BR
        %SDAPREF; "&#RE;"
        >

<!-- <BR>       Line break      -->


<!--========= Link Markup ======================-->

<!ENTITY % linkType "NAMES">

<!ENTITY % linkExtraAttributes
        "REL %linkType #IMPLIED
        REV %linkType #IMPLIED
        URN CDATA #IMPLIED
        TITLE CDATA #IMPLIED
        METHODS NAMES #IMPLIED
        ">

<![ %HTML.Recommended [
        <!ENTITY % A.content   "(%text)*"
        -- <H1><a name="xxx">Heading</a></H1>
                is preferred to
           <a name="xxx"><H1>Heading</H1></a>
        -->
]]>

<!ENTITY % A.content   "(%heading|%text)*">

<!ELEMENT A     - - %A.content -(A)>
<!ATTLIST A
        HREF CDATA #IMPLIED
        NAME CDATA #IMPLIED
        %linkExtraAttributes;
        %SDAPREF; "<Anchor: #AttList>"
        >
<!-- <A>		Anchor; source/destination of link	-->
<!-- <A NAME="...">	Name of this anchor			-->
<!-- <A HREF="...">	Address of link destination		-->
<!-- <A URN="...">	Permanent address of destination	-->
<!-- <A REL=...>	Relationship to destination		-->
<!-- <A REV=...>	Relationship of destination to this 	-->
<!-- <A TITLE="...">	Title of destination (advisory)	 	-->
<!-- <A METHODS="...">	Operations on destination (advisory)	-->


<!--========== Images ==========================-->

<!ELEMENT IMG    - O EMPTY>
<!ATTLIST IMG
        SRC CDATA  #REQUIRED
        ALT CDATA #IMPLIED
        ALIGN (top|middle|bottom) #IMPLIED
        ISMAP (ISMAP) #IMPLIED
        %SDAPREF; "<Fig><?SDATrans Img: #AttList>#AttVal(Alt)</Fig>"
        >

<!-- <IMG>              Image; icon, glyph or illustration      -->
<!-- <IMG SRC="...">    Address of image object                 -->
<!-- <IMG ALT="...">    Textual alternative                     -->
<!-- <IMG ALIGN=...>    Position relative to text               -->
<!-- <IMG ISMAP>        Each pixel can be a link                -->

<!--========== Paragraphs=======================-->

<!ELEMENT P     - O (%text)*>
<!ATTLIST P
        %SDAFORM; "Para"
        >

<!-- <P>        Paragraph       -->


<!--========== Headings, Titles, Sections ===============-->

<!ELEMENT HR    - O EMPTY>
<!ATTLIST HR
        %SDAPREF; "&#RE;&#RE;"
        >

<!-- <HR>       Horizontal rule -->

<!ELEMENT ( %heading )  - -  (%text;)*>
<!ATTLIST H1
        %SDAFORM; "H1"
        >
<!ATTLIST H2
        %SDAFORM; "H2"
        >
<!ATTLIST H3
        %SDAFORM; "H3"
        >
<!ATTLIST H4
        %SDAFORM; "H4"
        >
<!ATTLIST H5
        %SDAFORM; "H5"
        >
<!ATTLIST H6
        %SDAFORM; "H6"
        >

<!-- <H1>       Heading, level 1 -->
<!-- <H2>       Heading, level 2 -->
<!-- <H3>       Heading, level 3 -->
<!-- <H4>       Heading, level 4 -->
<!-- <H5>       Heading, level 5 -->
<!-- <H6>       Heading, level 6 -->


<!--========== Text Flows ======================-->

<![ %HTML.Forms [
        <!ENTITY % block.forms "BLOCKQUOTE | FORM | ISINDEX">
]]>

<!ENTITY % block.forms "BLOCKQUOTE">

<![ %HTML.Deprecated [
        <!ENTITY % preformatted "PRE | XMP | LISTING">
]]>

<!ENTITY % preformatted "PRE">

<!ENTITY % block "P | %list | DL
        | %preformatted
        | %block.forms">

<!ENTITY % flow "(%text|%block)*">

<!ENTITY % pre.content "#PCDATA | A | HR | BR">
<!ELEMENT PRE - - (%pre.content)*>
<!ATTLIST PRE
        WIDTH NUMBER #implied
        %SDAFORM; "Lit"
        >

<!-- <PRE>              Preformatted text               -->
<!-- <PRE WIDTH=...>    Maximum characters per line     -->

<![ %HTML.Deprecated [

<!ENTITY % literal "CDATA"
        -- historical, non-conforming parsing mode where
           the only markup signal is the end tag
           in full
        -->

<!ELEMENT (XMP|LISTING) - -  %literal>
<!ATTLIST XMP
        %SDAFORM; "Lit"
        %SDAPREF; "Example:&#RE;"
        >
<!ATTLIST LISTING
        %SDAFORM; "Lit"
        %SDAPREF; "Listing:&#RE;"
        >

<!-- <XMP>              Example section         -->
<!-- <LISTING>          Computer listing        -->

<!ELEMENT PLAINTEXT - O %literal>
<!-- <PLAINTEXT>        Plain text passage      -->

<!ATTLIST PLAINTEXT
        %SDAFORM; "Lit"
        >
]]>


<!--========== Lists ==================-->

<!ELEMENT DL    - -  (DT | DD)+>
<!ATTLIST DL
        COMPACT (COMPACT) #IMPLIED
        %SDAFORM; "List"
        %SDAPREF; "Definition List:"
        >

<!ELEMENT DT    - O (%text)*>
<!ATTLIST DT
        %SDAFORM; "Term"
        >

<!ELEMENT DD    - O %flow>
<!ATTLIST DD
        %SDAFORM; "LItem"
        >

<!-- <DL>               Definition list, or glossary    -->
<!-- <DL COMPACT>       Compact style list              -->
<!-- <DT>               Term in definition list         -->
<!-- <DD>               Definition of term              -->

<!ELEMENT (OL|UL) - -  (LI)+>
<!ATTLIST OL
        COMPACT (COMPACT) #IMPLIED
        %SDAFORM; "List"
        >
<!ATTLIST UL
        COMPACT (COMPACT) #IMPLIED
        %SDAFORM; "List"
        >
<!-- <UL>               Unordered list                  -->
<!-- <UL COMPACT>       Compact list style              -->
<!-- <OL>               Ordered, or numbered list       -->
<!-- <OL COMPACT>       Compact list style              -->


<!ELEMENT (DIR|MENU) - -  (LI)+ -(%block)>
<!ATTLIST DIR
        COMPACT (COMPACT) #IMPLIED
        %SDAFORM; "List"
        %SDAPREF; "<LHead>Directory</LHead>"
        >
<!ATTLIST MENU
        COMPACT (COMPACT) #IMPLIED
        %SDAFORM; "List"
        %SDAPREF; "<LHead>Menu</LHead>"
        >

<!-- <DIR>              Directory list                  -->
<!-- <DIR COMPACT>      Compact list style              -->
<!-- <MENU>             Menu list                       -->
<!-- <MENU COMPACT>     Compact list style              -->

<!ELEMENT LI    - O %flow>
<!ATTLIST LI
        %SDAFORM; "LItem"
        >

<!-- <LI>               List item                       -->

<!--========== Document Body ===================-->

<![ %HTML.Recommended [
	<!ENTITY % body.content "(%heading|%block|HR|ADDRESS|IMG)*"
	-- <h1>Heading</h1>
	   <p>Text ...
		is preferred to
	   <h1>Heading</h1>
	   Text ...
	-->
]]>

<!ENTITY % body.content "(%heading | %text | %block |
				 HR | ADDRESS)*">

<!ELEMENT BODY O O  %body.content>

<!-- <BODY>     Document body   -->

<!ELEMENT BLOCKQUOTE - - %body.content>
<!ATTLIST BLOCKQUOTE
        %SDAFORM; "BQ"
        >

<!-- <BLOCKQUOTE>       Quoted passage  -->

<!ELEMENT ADDRESS - - (%text|P)*>
<!ATTLIST  ADDRESS
        %SDAFORM; "Lit"
        %SDAPREF; "Address:&#RE;"
        >

<!-- <ADDRESS>	Address, signature, or byline	-->


<!--======= Forms ====================-->

<![ %HTML.Forms [

<!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)>
<!ATTLIST FORM
        ACTION CDATA #IMPLIED
        METHOD (%HTTP-Method) GET
        ENCTYPE %Content-Type; "application/x-www-form-urlencoded"
        %SDAPREF; "<Para>Form:</Para>"
        %SDASUFF; "<Para>Form End.</Para>"
        >

<!-- <FORM>                     Fill-out or data-entry form     -->
<!-- <FORM ACTION="...">        Address for completed form      -->
<!-- <FORM METHOD=...>          Method of submitting form       -->
<!-- <FORM ENCTYPE="...">       Representation of form data     -->

<!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX |
                        RADIO | SUBMIT | RESET |
                        IMAGE | HIDDEN )">
<!ELEMENT INPUT - O EMPTY>
<!ATTLIST INPUT
	TYPE %InputType TEXT
	NAME CDATA #IMPLIED
	VALUE CDATA #IMPLIED
	SRC CDATA #IMPLIED
	CHECKED (CHECKED) #IMPLIED
	SIZE CDATA #IMPLIED
	MAXLENGTH NUMBER #IMPLIED
	ALIGN (top|middle|bottom) #IMPLIED
        %SDAPREF; "Input: "
	>

<!-- <INPUT>			Form input datum		-->
<!-- <INPUT TYPE=...>		Type of input interaction	-->
<!-- <INPUT NAME=...>		Name of form datum		-->
<!-- <INPUT VALUE="...">	Default/initial/selected value	-->
<!-- <INPUT SRC="...">		Address of image		-->
<!-- <INPUT CHECKED>		Initial state is "on"		-->
<!-- <INPUT SIZE=...>		Field size hint			-->
<!-- <INPUT MAXLENGTH=...>	Data length maximum		-->
<!-- <INPUT ALIGN=...>		Image alignment			-->

<!ELEMENT SELECT - - (OPTION+) -(INPUT|SELECT|TEXTAREA)>
<!ATTLIST SELECT
        NAME CDATA #REQUIRED
        SIZE NUMBER #IMPLIED
        MULTIPLE (MULTIPLE) #IMPLIED
        %SDAFORM; "List"
        %SDAPREF;
        "<LHead>Select #AttVal(Multiple)</LHead>"
	>

<!-- <SELECT>			Selection of option(s)		-->
<!-- <SELECT NAME=...>		Name of form datum		-->
<!-- <SELECT SIZE=...>		Options displayed at a time	-->
<!-- <SELECT MULTIPLE>		Multiple selections allowed	-->

<!ELEMENT OPTION - O (#PCDATA)*>
<!ATTLIST OPTION
        SELECTED (SELECTED) #IMPLIED
        VALUE CDATA #IMPLIED
        %SDAFORM; "LItem"
        %SDAPREF;
        "Option: #AttVal(Value) #AttVal(Selected)"
	>

<!-- <OPTION>			A selection option		-->
<!-- <OPTION SELECTED>		Initial state			-->
<!-- <OPTION VALUE="...">	Form datum value for this option-->

<!ELEMENT TEXTAREA - - (#PCDATA)* -(INPUT|SELECT|TEXTAREA)>
<!ATTLIST TEXTAREA
        NAME CDATA #REQUIRED
        ROWS NUMBER #REQUIRED
        COLS NUMBER #REQUIRED
        %SDAFORM; "Para"
        %SDAPREF; "Input Text -- #AttVal(Name): "
        >

<!-- <TEXTAREA>			An area for text input		-->
<!-- <TEXTAREA NAME=...>	Name of form datum		-->
<!-- <TEXTAREA ROWS=...>	Height of area			-->
<!-- <TEXTAREA COLS=...>	Width of area			-->

]]>


<!--======= Document Head ======================-->

<![ %HTML.Recommended [
	<!ENTITY % head.extra "">
]]>
<!ENTITY % head.extra "& NEXTID?">

<!ENTITY % head.content "TITLE & ISINDEX? & BASE? %head.extra">

<!ELEMENT HEAD O O  (%head.content) +(META|LINK)>

<!-- <HEAD>     Document head   -->

<!ELEMENT TITLE - -  (#PCDATA)*  -(META|LINK)>
<!ATTLIST TITLE
        %SDAFORM; "Ti"    >

<!-- <TITLE>    Title of document -->

<!ELEMENT LINK - O EMPTY>
<!ATTLIST LINK
        HREF CDATA #REQUIRED
        %linkExtraAttributes;
        %SDAPREF; "Linked to : #AttVal (TITLE) (URN) (HREF)>"    >

<!-- <LINK>		Link from this document			-->
<!-- <LINK HREF="...">	Address of link destination		-->
<!-- <LINK URN="...">	Lasting name of destination		-->
<!-- <LINK REL=...>	Relationship to destination		-->
<!-- <LINK REV=...>	Relationship of destination to this 	-->
<!-- <LINK TITLE="...">	Title of destination (advisory)	 	-->
<!-- <LINK METHODS="..."> Operations allowed (advisory)		-->

<!ELEMENT ISINDEX - O EMPTY>
<!ATTLIST ISINDEX
        %SDAPREF;
   "<Para>[Document is indexed/searchable.]</Para>">

<!-- <ISINDEX>          Document is a searchable index          -->

<!ELEMENT BASE - O EMPTY>
<!ATTLIST BASE
        HREF CDATA #REQUIRED     >

<!-- <BASE>             Base context document                   -->
<!-- <BASE HREF="...">  Address for this document               -->

<!ELEMENT NEXTID - O EMPTY>
<!ATTLIST NEXTID
        N CDATA #REQUIRED     >

<!-- <NEXTID>		Next ID to use for link name		-->
<!-- <NEXTID N=...>	Next ID to use for link name		-->

<!ELEMENT META - O EMPTY>
<!ATTLIST META
        HTTP-EQUIV  NAME    #IMPLIED
        NAME        NAME    #IMPLIED
        CONTENT     CDATA   #REQUIRED    >

<!-- <META>                     Generic Meta-information        -->
<!-- <META HTTP-EQUIV=...>      HTTP response header name       -->
<!-- <META NAME=...>      	Meta-information name           -->
<!-- <META CONTENT="...">       Associated information          -->

<!--======= Document Structure =================-->

<![ %HTML.Deprecated [
        <!ENTITY % html.content "HEAD, BODY, PLAINTEXT?">
]]>
<!ENTITY % html.content "HEAD, BODY">

<!ELEMENT HTML O O  (%html.content)>
<!ENTITY % version.attr "VERSION CDATA #FIXED '%HTML.Version;'">

<!ATTLIST HTML
        %version.attr;
        %SDAFORM; "Book"
        >

<!-- <HTML>			HTML Document	-->
@


1.29
log
@FORMS: fixed typo, info on multiple values, as per
http://www.acl.lanl.gov/HTML_WG/html-wg-95q2.messages/1546.html
Paul Burchard (burchard@@horizon.math.utah.edu)
Sun, 16 Jul 95 20:10:35 EDT

Terms: revised URI, base URI definitions a bit as a result of BASE
thread on html-wg

BASE: restored some old wording about base, as per
 Message-Id: <9508041145.AA13604@@plato.ansa.co.uk>
 From: Owen Rees <rtor@@ansa.co.uk>
 Subject: Re: Is this use of BASE kosher?

Public Identifiers: s/should/must/, since user agents are only
required to support the lists declarations, conforming documents
_must_ use them.

Removed URI defintion from DTD, since it's in the prose of
the spec.

Fixed REL/REV linktypes as per
http://www.acl.lanl.gov/HTML_WG/html-wg-95q3.messages/0171.html
Roy Fielding's suggestion

Revised hyperlink section, especially treatment of base URI.

Updated references, since [RELURL] is now RFC1808
@
text
@d6 1
a6 1
	$Id: html.dtd,v 1.28 1995/06/16 18:54:22 connolly Exp $
d44 1
a44 1
	   but they tend to be used an implemented inconsistently,
d148 1
a148 1
<!-- <STRONG>   Strong emphais                          -->
d152 1
a152 1
<!-- <VAR>      Variable phrase or substituable         -->
d532 1
a532 1
<!ELEMENT TITLE - -  (#PCDATA)*>
d579 1
a579 1
<!-- <META>                     Generic Metainformation         -->
d581 1
a581 1
<!-- <META NAME=...>      	Metainformation name            -->
@


1.28
log
@Fixed bug in DTD.
@
text
@d6 1
a6 1
	$Id: html.dtd,v 1.27 1995/06/15 20:17:03 connolly Exp $
a72 14
<!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 RFC 1630

	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.

        -->


d171 1
a171 1
<!ENTITY % linkType "NAME">
d193 1
a193 1
        HREF %URI #IMPLIED
d212 1
a212 1
        SRC %URI;  #REQUIRED
d436 1
a436 1
        ACTION %URI #IMPLIED
d456 1
a456 1
	SRC %URI #IMPLIED
d540 1
a540 1
        HREF %URI #REQUIRED
d561 1
a561 1
        HREF %URI; #REQUIRED     >
@


1.27
log
@* changed HEAD content model to allow sprinkled LINK, META

* included &#160; in character table

* discussion of INPUT tag turned inside out: organized by TYPE now.
  Added (and tested) several examples.

* Moved security considerations out of MIME section into its own section.

* moved TOC after abstract

* moved TERMS after Intro

* TEXTAREA added to lots of places that mention PRE as preformatted

* ISO-8859-1 doesn't include control characters, so the coded
  character set that I was calling ISO-8859-1 is now just
  called the HTML document character set, which includes ISO-8859-1.

* Discussed level 2 in user agent conformance section

* Added some detailed references to sections of the SGML spec
  where HTML syntax details were lacking.

* Some verbiage about block structuring elements clarified
	(headings are not block structuring elements)

* Cleared up NAMELEN and LITLEN verbiage by pointing to the decl

* Explained feature test entities a little better

* Added a little verbiage about link METHODS and URNs

* BASE verbiage clarified

* META verbiage fixed

* NEXTID toned down

* added verbiage about DT, DD when they don't occur in pairs

* fixed hyperlink terminology in Terms section

* Various editorial wording changes as per peer review

* em dashes fixed
@
text
@d6 1
a6 1
	$Id: html.dtd,v 1.26 1995/06/02 08:00:02 connolly Exp $
d184 2
@


1.26
log
@* no more A4 paper: html-spec.style

* don't build .txt at all (don't clobber JEnglish's version!)

* remove vestigates of "version=" parameter

* remove list of WG members from acknowledgements

* remove <tag// markup from section titles, as it messes up xrefs

* a few typos

* "selected" latin 1 characters

* fix <!doctypes> in examples

* reword forms intro paragraph to mention form field defaults

* indent list of TYPE values

* give list of TEXTAREA attributes

* flush out LINK element description

* add error handling info for numeric character references

* fix & markup delimiter description

* @@@@ temporarily removed obsolete/proposed stuff. Need to revise it.

* updated comments in DTD,decl; info.cern.ch -> www.w3.org

* @@@@ began revising hyperlink discussion. Needs more work.

* put CR (13) in ISO latin 1 coded character set.

* revised IMG ALT verbage

* added reference to dexter model of hypertext
@
text
@d6 1
a6 1
	$Id: html.dtd,v 1.25 1995/03/29 18:53:13 connolly Exp $
a184 9
<![ %HTML.Recommended [
        <!ENTITY % linkName "ID">
]]>

<!ENTITY % linkName "CDATA">

<!ENTITY % linkType "NAME"
        -- a list of these will be specified at a later date -->

d206 1
a206 1
        NAME %linkName #IMPLIED
d534 1
a534 1
	<!ENTITY % head.extra "META* & LINK*">
d536 1
d538 1
a538 4
<!ENTITY % head.extra "NEXTID? & META* & LINK*">

<!ENTITY % head.content "TITLE & ISINDEX? & BASE? &
			 (%head.extra)">
d540 1
a540 1
<!ELEMENT HEAD O O  (%head.content)>
d580 1
a580 1
        N %linkName #REQUIRED     >
@


1.25
log
@Updated author info, fixed a typo in META comment
@
text
@d6 1
a6 1
	$Id: html.dtd,v 1.24 1995/02/06 21:28:45 connolly Exp $
d9 2
a10 2
	See Also: html.decl, html-0.dtd, html-1.dtd
	  http://info.cern.ch/hypertext/WWW/MarkUp/MarkUp.html
@


1.24
log
@Merge in some SDA changes from yuri@@sq.com
@
text
@d6 1
a6 1
	$Id: html.dtd,v 1.23 1995/01/28 05:59:34 connolly Exp $
d8 1
a8 1
	Author: Daniel W. Connolly <connolly@@hal.com>
d10 1
a10 2
	  http://www.hal.com/%7Econnolly/html-spec/index.html
	  http://info.cern.ch/hypertext/WWW/MarkUp2/MarkUp.html
d604 1
a604 1
<!-- <META HTTP-EQUIV=...>      Metainformation name            -->
@


1.23
log
@Spacing changes in DTD to meet production needs.
Some parameter entity changes for errors that SGMLs doesn't detect.
@
text
@d1 1
a1 1
<!--	html.dtd
d6 1
a6 1
	$Id: html.dtd,v 1.22 1994/11/30 23:45:40 connolly Exp $
d15 1
a15 1
	"-//IETF//DTD HTML 2.0//EN"
d20 5
a24 5
	    <html>
	    ...
	    </html>
	--
	>
d39 1
a39 1
	<!ENTITY % HTML.Deprecated "IGNORE">
d58 4
a61 4
	-- Use this feature test entity to validate that a document
	   contains no forms, which may not be supported in minimal
	   implementations
	-->
d66 3
a68 3
	-- meaning an internet media type
	   (aka MIME content type, as per RFC1521)
	-->
d71 2
a72 2
	-- as per HTTP specification, in progress
	-->
d158 11
a168 11
<!-- <TT>	Typewriter text				-->
<!-- <B>	Bold text				-->
<!-- <I>	Italic text				-->

<!-- <EM>	Emphasized phrase			-->
<!-- <STRONG>	Strong emphais				-->
<!-- <CODE>	Source code phrase			-->
<!-- <SAMP>	Sample text or characters		-->
<!-- <KBD>	Keyboard phrase, e.g. user input	-->
<!-- <VAR>	Variable phrase or substituable		-->
<!-- <CITE>	Name or title of cited work		-->
d181 1
a181 1
<!-- <BR>	Line break	-->
d187 1
a187 1
	<!ENTITY % linkName "ID">
d193 1
a193 1
	-- a list of these will be specified at a later date -->
d204 5
a208 5
	<!ENTITY % A.content   "(%text)*"
	-- <H1><a name="xxx">Heading</a></H1>
		is preferred to
	   <a name="xxx"><H1>Heading</H1></a>
	-->
d215 2
a216 2
	HREF %URI #IMPLIED
	NAME %linkName #IMPLIED
d218 1
a218 1
        %SDAPREF; "<?SDATrans A: #AttList>"
d235 3
a237 3
	ALT CDATA #IMPLIED
	ALIGN (top|middle|bottom) #IMPLIED
	ISMAP (ISMAP) #IMPLIED
d241 5
a245 5
<!-- <IMG>		Image; icon, glyph or illustration	-->
<!-- <IMG SRC="...">	Address of image object	 		-->
<!-- <IMG ALT="...">	Textual alternative 			-->
<!-- <IMG ALIGN=...>	Position relative to text 		-->
<!-- <IMG ISMAP>	Each pixel can be a link		-->
d254 1
a254 1
<!-- <P>	Paragraph	-->
d261 1
a261 1
        %SDAPREF; "<Para><?SDATrans HR: #AttList></Para>"
d264 1
a264 1
<!-- <HR>	Horizontal rule -->
d286 6
a291 6
<!-- <H1>	Heading, level 1 -->
<!-- <H2>	Heading, level 2 -->
<!-- <H3>	Heading, level 3 -->
<!-- <H4>	Heading, level 4 -->
<!-- <H5>	Heading, level 5 -->
<!-- <H6>	Heading, level 6 -->
d297 1
a297 1
	<!ENTITY % block.forms "BLOCKQUOTE | FORM | ISINDEX">
d303 1
a303 1
	<!ENTITY % preformatted "PRE | XMP | LISTING">
d309 2
a310 2
	| %preformatted
	| %block.forms">
a318 1
        %SDAPREF; "<?SDATrans Pre: #AttList>"
d321 2
a322 2
<!-- <PRE>		Preformatted text		-->
<!-- <PRE WIDTH=...>	Maximum characters per line	-->
d327 4
a330 4
	-- historical, non-conforming parsing mode where
	   the only markup signal is the end tag
	   in full
	-->
d342 2
a343 2
<!-- <XMP>		Example section		-->
<!-- <LISTING>		Computer listing	-->
d346 1
a346 1
<!-- <PLAINTEXT>	Plain text passage	-->
d358 1
a358 1
	COMPACT (COMPACT) #IMPLIED
d360 2
a361 2
        %SDAPREF; "<?SDATrans DL: #AttList>"
	>
d373 4
a376 4
<!-- <DL>		Definition list, or glossary	-->
<!-- <DL COMPACT>	Compact style list		-->
<!-- <DT>		Term in definition list		-->
<!-- <DD>		Definition of term		-->
a381 1
        %SDAPREF; "<?SDATrans OL: #AttList>"
a385 1
        %SDAPREF; "<?SDATrans UL: #AttList>"
d387 4
a390 4
<!-- <UL>		Unordered list			-->
<!-- <UL COMPACT>	Compact list style		-->
<!-- <OL>		Ordered, or numbered list	-->
<!-- <OL COMPACT>	Compact list style		-->
d397 1
a397 2
        %SDAPREF;
	 "<?SDATrans Dir: #AttList><LHead>Directory</LHead>"
d402 1
a402 1
        %SDAPREF; "<?SDATrans Menu: #AttList><LHead>Menu</LHead>"
d405 4
a408 4
<!-- <DIR>		Directory list			-->
<!-- <DIR COMPACT>	Compact list style		-->
<!-- <MENU>		Menu list			-->
<!-- <MENU COMPACT>	Compact list style		-->
d415 1
a415 1
<!-- <LI>		List item			-->
a432 3
<!ATTLIST BODY
        %SDAPREF; "<?SDATrans Body: #AttList>"
        >
d434 1
a434 1
<!-- <BODY>	Document body	-->
d441 1
a441 1
<!-- <BLOCKQUOTE>	Quoted passage	-->
d458 6
a463 6
	ACTION %URI #IMPLIED
	METHOD (%HTTP-Method) GET
	ENCTYPE %Content-Type; "application/x-www-form-urlencoded"
        %SDAPREF; "<Para><?SDATrans Form: #AttList>Form:</Para>"
        %SDASUFF; "<Para><?SDATrans Form: #End>Form End.</Para>"
	>
d465 4
a468 4
<!-- <FORM>			Fill-out or data-entry form	-->
<!-- <FORM ACTION="...">	Address for completed form	-->
<!-- <FORM METHOD=...>		Method of submitting form	-->
<!-- <FORM ENCTYPE="...">	Representation of form data	-->
d471 2
a472 2
			RADIO | SUBMIT | RESET |
			IMAGE | HIDDEN )">
d483 1
a483 1
        %SDAPREF; "<?SDATrans Input: #AttList>"
d498 3
a500 3
	NAME CDATA #REQUIRED
	SIZE NUMBER #IMPLIED
	MULTIPLE (MULTIPLE) #IMPLIED
d503 1
a503 2
	"<?SDATrans Select:
		 #AttList><LHead>Select #AttVal(Multiple)</LHead>"
d513 2
a514 2
	SELECTED (SELECTED) #IMPLIED
	VALUE CDATA #IMPLIED
d517 1
a517 2
        "<?SDATrans Option:
	 #AttList>#AttVal(Value) #AttVal(Selected)"
d526 3
a528 3
	NAME CDATA #REQUIRED
	ROWS NUMBER #REQUIRED
	COLS NUMBER #REQUIRED
d530 2
a531 2
        %SDAPREF; "<?SDATrans TextArea: #AttList>#AttVal(Name): "
	>
a552 3
<!ATTLIST HEAD
        %SDAPREF; "<?SDATrans Head: #AttList>"
      >
d554 1
a554 1
<!-- <HEAD>	Document head	-->
d558 1
a558 2
        %SDAFORM; "Ti"
      >
d560 1
a560 1
<!-- <TITLE>	Title of document -->
d564 1
a564 1
	HREF %URI #REQUIRED
d566 1
a566 2
        %SDAPREF; "<?SDATrans Link: #AttList>"
        >
d579 1
a579 2
   "<Para><?SDATrans
	IsIndex: #AttList>[Document indexed/searchable.]</Para>">
d581 1
a581 1
<!-- <ISINDEX>		Document is a searchable index		-->
d585 1
a585 3
        HREF %URI; #REQUIRED
        %SDAPREF; "<?SDATrans Base: #AttList>"
        >
d587 2
a588 2
<!-- <BASE>		Base context document			-->
<!-- <BASE HREF="...">	Address for this document		-->
d592 1
a592 3
        N %linkName #REQUIRED
        %SDAPREF; "<?SDATrans NextID: #AttList>"
        >
d601 1
a601 3
        CONTENT     CDATA   #REQUIRED
        %SDAPREF; "<?SDATrans Meta: #AttList>"
        >
d603 4
a606 4
<!-- <META>			Generic Metainformation		-->
<!-- <META HTTP-EQUIV=...>	HTTP response header name	-->
<!-- <META HTTP-EQUIV=...>	Metainformation name		-->
<!-- <META CONTENT="...">	Associated information		-->
d611 1
a611 1
	<!ENTITY % html.content "HEAD, BODY, PLAINTEXT?">
d619 1
a619 1
	%version.attr;
d621 1
a621 2
        %SDAPREF; "<?SDATrans HTML: #AttList>"
	>
@


1.22
log
@ o Integrated ICADD SDA attributes and APPINFO (Thanks
   to Jeff Suttor)
 o Updated catalog etc. with new FPIs (formal public
   identifiers).
   Old format: "-//IETF//DTD HTML//EN//2.0"
   New format: "-//IETF//DTD 2.0 HTML//EN"
 o Changed FUNCTION character syntax: uncommented the
   real one, commented out the hack version.
 o Added FPI's and public text for "Strict" versions of the
   DTD (e.g. "-//IETF//DTD HTML Strict Level
   1//EN" maps to html-1s.dtd)
 o Changed FPI used to reference ISO latin 1 entities.
 o Changed a bunch of + occurence indicators to * for clarity
 o Changed some parameter entities to comply with SGML
   tokenization rules.
@
text
@d3 2
a4 1
        Document Type Definition for the HyperText Markup Language (HTML DTD)
d6 1
a6 1
	$Id: html.dtd,v 1.21 1994/11/15 19:54:38 connolly Exp $
d10 2
a11 2
		  http://www.hal.com/%7Econnolly/html-spec/index.html
		  http://info.cern.ch/hypertext/WWW/MarkUp2/MarkUp.html
d27 1
a27 1
<!--================== Feature Test Entities ==============================-->
d30 5
a34 4
	-- Certain features of the language are necessary for compatibility
	   with widespread usage, but they may compromise the structural
	   integrity of a document. This feature test entity enables
	   a more prescriptive document type definition that eliminates
d43 6
a48 5
	-- Certain features of the language are necessary for compatibility
	   with earlier versions of the specification, but they tend
	   to be used an implemented inconsistently, and their use is
	   deprecated. This feature test entity enables a document type
	   definition that eliminates these features.
d52 3
a54 3
	-- Use this feature test entity to validate that a document
	   uses no highlighting tags, which may be ignored on minimal
	   implementations.
d63 1
a63 1
<!--================== Imported Names =====================================-->
a78 1
	aka http://info.cern.ch/hypertext/WWW/Addressing/URL/URI_Overview.html
d88 1
a88 1
<!--================== DTD "Macros" =======================================-->
d95 1
a95 1
<!--================ Character mnemonic entities ==========================-->
d107 1
a107 1
<!--=================== SGML Document Access (SDA) Parameter Entities =====-->
d109 12
a120 9
<!-- HTML 2.0 contains SGML Document Access (SDA) fixed attributes in 
support of easy transformation to the International Committee for 
Accessible Document Design (ICADD) DTD "-//EC-USA-CDA/ICADD//DTD 
ICADD22//EN".  ICADD applications are designed to support usable access 
to structured information by print-impaired individuals through Braille, 
large print and voice synthesis.  For more information on SDA & ICADD:  
        - ISO 12083:1993, Annex A.8, Facilities for Braille, large print
          and computer voice
        - ICADD ListServ <ICADD%ASUACAD.BITNET@@ARIZVM1.ccit.arizona.edu>
d125 10
a134 5
<!ENTITY % SDAFORM  "SDAFORM  CDATA  #FIXED"  -- one to one mapping        -->
<!ENTITY % SDARULE  "SDARULE  CDATA  #FIXED"  -- context-sensitive mapping -->
<!ENTITY % SDAPREF  "SDAPREF  CDATA  #FIXED"  -- generated text prefix     -->
<!ENTITY % SDASUFF  "SDASUFF  CDATA  #FIXED"  -- generated text suffix     -->
<!ENTITY % SDASUSP  "SDASUSP  NAME   #FIXED"  -- suspend transform process -->
d137 1
a137 1
<!--=================== Text Markup =======================================-->
d184 1
a184 1
<!--================== Link Markup ========================================-->
d220 8
a227 8
<!-- <A>		Anchor; source and/or destination of a link	-->
<!-- <A NAME="...">	Name of this anchor				-->
<!-- <A HREF="...">	Address of link destination			-->
<!-- <A URN="...">	Permanent address of destination	 	-->
<!-- <A REL=...>	Relationship of this anchor to destination	-->
<!-- <A REV=...>	Relationship of destination to this anchor 	-->
<!-- <A TITLE="...">	Title of destination (advisory)	 		-->
<!-- <A METHODS="...">	Operations allowed on destination (advisory)	-->
d230 1
a230 1
<!--=================== Images ============================================-->
d247 1
a247 1
<!--=================== Paragraphs=========================================-->
d257 1
a257 1
<!--=================== Headings, Titles, Sections ========================-->
d294 1
a294 1
<!--=================== Text Flows ========================================-->
d355 1
a355 1
<!--=================== Lists =============================================-->
d400 2
a401 1
        %SDAPREF; "<?SDATrans Dir: #AttList><LHead>Directory</LHead>"
d421 1
a421 1
<!--=================== Document Body =====================================-->
d424 1
a424 1
	<!ENTITY % body.content "(%heading|%block|HR|ADDRESS)*"
d433 2
a434 1
<!ENTITY % body.content "(%heading | %text | %block | HR | ADDRESS)*">
d456 1
a456 1
<!-- <ADDRESS>	Address, signature, or byline for document or passage	-->
d459 1
a459 1
<!--================ Forms ===============================================-->
d495 1
a495 1
<!-- <INPUT TYPE=...>		Name of form datum		-->
d503 1
a503 1
<!ELEMENT SELECT - - (OPTION+)>
d510 2
a511 1
        "<?SDATrans Select: #AttList><LHead>Select #AttVal(Multiple)</LHead>"
d514 4
a517 4
<!-- <SELECT>			Selection of option(s)			-->
<!-- <SELECT NAME=...>		Name of form datum			-->
<!-- <SELECT SIZE=...>		Number of options displayed at a time	-->
<!-- <SELECT MULTIPLE>		Multiple selections allowed		-->
d525 2
a526 1
        "<?SDATrans Option: #AttList>#AttVal(Value) #AttVal(Selected)"
d529 3
a531 3
<!-- <OPTION>			A selection option			-->
<!-- <OPTION SELECTED>		Initial state				-->
<!-- <OPTION VALUE="...">	Form datum value for this option	-->
d533 1
a533 1
<!ELEMENT TEXTAREA - - (#PCDATA)*>
d542 4
a545 4
<!-- <TEXTAREA>			An area for text input			-->
<!-- <TEXTAREA NAME=...>	Name of form datum			-->
<!-- <TEXTAREA ROWS=...>	Height of area				-->
<!-- <TEXTAREA COLS=...>	Width of area				-->
d550 1
a550 3
<!--================ Document Head ========================================-->

<!ENTITY % head.link "& LINK*">
d553 1
a553 1
	<!ENTITY % head.nextid "">
a554 1
<!ENTITY % head.nextid "& NEXTID?">
d556 4
a559 3
<!ENTITY % head.content "TITLE & ISINDEX? & BASE? & META*
			 %head.nextid
			 %head.link">
d582 7
a588 7
<!-- <LINK>		Link from this document				-->
<!-- <LINK HREF="...">	Address of link destination			-->
<!-- <LINK URN="...">	Lasting name of destination		 	-->
<!-- <LINK REL=...>	Relationship of this document to destination	-->
<!-- <LINK REV=...>	Relationship of destination to this document 	-->
<!-- <LINK TITLE="...">	Title of destination (advisory)	 		-->
<!-- <LINK METHODS="..."> Operations allowed on destination (advisory)	-->
d593 2
a594 1
   "<Para><?SDATrans IsIndex: #AttList>[Document indexed/searchable.]</Para>">
d613 2
a614 2
<!-- <NEXTID>		Next ID to use for link name			-->
<!-- <NEXTID N=...>	Next ID to use for link name			-->
d629 1
a629 1
<!--================ Document Structure ===================================-->
d645 1
a645 1
<!-- <HTML>			HyperText Markup Language Document	-->
@


1.21
log
@Added one-line comment for each element and attribute in the DTD.
Removed some other comments

ALT is no longer required in level 0: some images are completely
inessential.

Changed DL content model to (DT | DD)+

ADDRESS content model is always (%text|P)*

FORM ACTION attribute is #IMPLIED (defaults to address of document)

Removed remaining references to World-Wide Web
@
text
@d5 1
a5 1
	$Id: html.dtd,v 1.20 1994/09/26 16:10:19 connolly Exp $
d14 1
a14 1
	"-//IETF//DTD HTML//EN//2.0"
d96 1
a96 1
  "-//IETF//ENTITIES Added Latin 1 for HTML//EN">
d105 22
d137 11
a147 1
<!ELEMENT (%font;|%phrase) - - (%text)+>
d167 4
d194 1
a194 1
	<!ENTITY % A.content   "(%text)+"
d201 1
a201 1
<!ENTITY % A.content   "(%heading|%text)+">
d208 1
d228 1
d239 5
a243 1
<!ELEMENT P     - O (%text)+>
d250 4
d256 20
a275 1
<!ELEMENT ( %heading )  - -  (%text;)+>
d287 1
a287 1
	<!ENTITY % block.forms "| FORM | ISINDEX">
d290 1
a290 1
<!ENTITY % block.forms "">
d300 1
a300 1
	| BLOCKQUOTE %block.forms">
d305 1
a305 1
<!ELEMENT PRE - - (%pre.content)+>
d308 2
d324 9
d339 3
d349 9
a357 1
	COMPACT (COMPACT) #IMPLIED>
a358 1
<!ELEMENT DT    - O (%text)+>
d360 3
d370 10
a379 3
<!ELEMENT (DIR|MENU) - -  (LI)+ -(%block)>
<!ATTLIST (%list)
	COMPACT (COMPACT) #IMPLIED>
d384 14
d404 3
d425 4
d432 4
d439 5
d456 2
d478 1
d496 3
d506 1
a506 1
<!ELEMENT OPTION - O (#PCDATA)>
d510 3
d517 1
a517 1
<!-- <OPTION VALUE>		Form datum value for this option	-->
d519 1
a519 1
<!ELEMENT TEXTAREA - - (#PCDATA)>
d524 2
d550 4
d556 5
a560 1
<!ELEMENT TITLE - -  (#PCDATA)>
d566 4
a569 1
        %linkExtraAttributes; >
d579 4
d588 1
d590 1
d595 5
a599 1
<!ATTLIST NEXTID N %linkName #REQUIRED>
d608 1
d610 1
d624 1
a624 1
<!ENTITY % version.attr "VERSION CDATA #FIXED &#34;%HTML.Version;&#34;">
d628 2
a632 3
<!-- <HTML VERSION="...">	Version of HTML specification		-->


@


1.20
log
@Fixed a typo in one of the Reommended sections
@
text
@d5 1
a5 1
	$Id: html.dtd,v 1.19 1994/09/23 22:46:51 connolly Exp $
d33 1
a33 1
	   the above features.
d48 11
a58 2
<!ENTITY % HTML.Highlighting "INCLUDE">
<!ENTITY % HTML.Forms "INCLUDE">
d63 2
a64 1
	-- meaning a MIME content type, as per RFC1521
d68 1
a68 1
	-- as per HTTP specification
d86 1
a86 1
<!-- DTD "macros" -->
d115 13
a129 2
<!ELEMENT (%font;|%phrase) - - (%text)+>

d135 1
d150 5
a154 8
        "REL %linkType #IMPLIED -- forward relationship type --
        REV %linkType #IMPLIED -- reversed relationship type
                              to referent data --
        URN CDATA #IMPLIED -- universal resource number --

        TITLE CDATA #IMPLIED -- advisory only --
        METHODS NAMES #IMPLIED -- supported public methods of the object:
                                        TEXTSEARCH, GET, HEAD, ... --
a167 1

d173 9
d185 1
a185 4
<!ENTITY % img.alt.default "#IMPLIED"
	-- ALT attribute required in Level 0 docs -->

<!ELEMENT IMG    - O EMPTY --  Embedded image -->
d187 2
a188 2
        SRC %URI;  #REQUIRED     -- URI of document to embed --
	ALT CDATA %img.alt.default;
d193 5
d202 1
d207 2
a208 1
<!ELEMENT HR    - O EMPTY -- horizontal rule -->
d211 6
a217 5
<!ELEMENT TITLE - -  (#PCDATA)
          -- 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.
          -->
a218 1

a240 1

d245 3
d251 1
a251 1
	-- special non-conforming parsing mode where
d256 4
a259 2
<!ELEMENT XMP - -  %literal>
<!ELEMENT LISTING - -  %literal>
d261 1
d268 1
a268 1
<!ELEMENT DL    - -  (DT*, DD?)+>
d275 5
d284 8
d295 2
d312 1
d315 1
d317 2
a318 5
<![ %HTML.Recommended [
	<!ENTITY % address.content "(%text)*">
]]>
<!ENTITY % address.content "(%text|P)*">
<!ELEMENT ADDRESS - - %address.content>
d327 1
a327 1
	ACTION %URI #REQUIRED
d332 5
d343 1
a343 1
	NAME CDATA #IMPLIED -- required for all but submit and reset --
d345 1
a345 1
	SRC %URI #IMPLIED -- for image inputs -- 
d347 1
a347 2
	SIZE CDATA #IMPLIED -- like NUMBERS,
				 but delimited with comma, not space --
d352 10
d369 5
d380 4
d391 5
d413 1
d415 3
d422 7
d431 1
d437 2
d442 2
d445 1
a445 1
<!ELEMENT META - O EMPTY    -- Generic Metainformation -->
d447 3
a449 3
        HTTP-EQUIV  NAME    #IMPLIED  -- HTTP response header name  --
        NAME        NAME    #IMPLIED  -- metainformation name       --
        CONTENT     CDATA   #REQUIRED -- associated information     --
d451 4
a454 1

d467 1
a467 1
	%version.attr;-- report DTD version to application --
d469 3
@


1.19
log
@* changed public text owner from ISBN... to IETF

* Prescriptive --> Recommended

* Obsolete --> Deprecated

* 3 files --> 1 plus switches in html-0.dtd and html-1.dtd

* DIR, MENU -(%block)

* META is std.

* no %body in A

* ISOLat1 reference is now the HTML specific one
@
text
@d5 1
a5 1
	$Id: html.dtd,v 1.18 1994/07/20 16:24:43 connolly Exp $
d249 1
a249 1
	<!ENTITY % body.content "(%heading|%block|HR|ADDRESS)*">
@


1.18
log
@Changed HTML.version to a parameter entity, added #fixed attribute
on HTML element to report version to application
@
text
@d5 1
a5 1
	$Id: html.dtd,v 1.17 1994/07/20 15:46:38 connolly Exp $
d14 1
a14 1
	"+//ISBN 82-7640-037::WWW//DTD HTML//EN//2.0"
d18 1
a18 1
            <!DOCTYPE HTML PUBLIC "+//ISBN 82-7640-037::WWW//DTD HTML//EN">
d26 1
a26 1
<!-- Imported Names -->
d28 25
d57 202
a258 1
<!ENTITY % HTTP-Method "GET | POST">
d260 1
d262 1
a262 1
<!-- Include level 1 DTD + block extensions -->
d264 5
a268 1
<!ENTITY % block-2 "| FORM | ISINDEX">
a269 2
<!ENTITY % html-1 PUBLIC "+//ISBN 82-7640-037::WWW//DTD HTML Level 1//EN//2.0">
%html-1;
d271 1
d273 1
a273 1
<!-- Forms  -->
d318 54
@


1.17
log
@* Changed public identifiers to use registered owner, courtesy
	of Erik Naggum

* IMG allowed in Level 0, with #REQUIRED alt attribute

* Deleted editorial comments

* DIR and MENU no longer obsolete

* COMPACT attributed restored on %list elements

* WIDTH attribute of PRE relegated to Level 1

* NEXTID no longer obsolete

* META VALUE attr changed to CONTENT

* Added default values for some forms attributes
@
text
@d5 1
a5 1
	$Id: html.dtd,v 1.16 1994/06/13 20:55:50 connolly Exp $
d13 1
a13 1
<!ENTITY HTML.Version
@


1.16
log
@Split HTML DTD into three parts:
	html.dtd -- level 2 version, which includes
		html-1.dtd -- level 1 version, which includes
			html-2.dtd -- level 0 version
@
text
@d5 1
a5 1
	$Id: html.dtd,v 1.15 1994/06/03 22:09:14 connolly Exp $
d14 1
a14 1
	"-//W3O//DTD WWW HTML 2.0//EN"
d18 1
a18 1
            <!DOCTYPE HTML PUBLIC "-//W3O//DTD WWW HTML 2.0//EN">
d37 1
a37 2
<!ENTITY % block-2 "| FORM | ISINDEX"
	--@@# ISINDEX in BODY? -->
d39 1
a39 1
<!ENTITY % html-1 PUBLIC "-//W3O//DTD WWW HTML 2.0 Level 1//EN">
d48 2
a49 2
	METHOD (%HTTP-Method) #IMPLIED -- @@# MAILTO? --
	ENCTYPE %Content-Type; #IMPLIED
d57 1
a57 1
	TYPE %InputType #IMPLIED -- @@# defaults to TEXT?? --
d62 2
a63 1
	SIZE CDATA #IMPLIED -- @@# should be NUMBERS: delimit with space, not comma --
d65 1
a65 1
	ALIGN (top|middle|bottom|left|center|right) #IMPLIED --@@#supported?--
d84 1
a84 1
	ROWS NUMBER #REQUIRED -- @@#implied? --
@


1.15
log
@backed out some HTML.phrase stuff cuz it excercises a bug
in one of my tools.
@
text
@d3 1
a3 2
        Document Type Definition for the HyperText Markup Language
        as used by the World Wide Web (HTML DTD).
d5 1
a5 1
	$Id: html.dtd,v 1.14 1994/06/03 20:02:52 connolly Exp $
d8 2
a9 1
	See Also: http://www.hal.com/%7Econnolly/html-spec/HTML.html
a14 1
	-- public identifier for "current pracitice" version             -- 
d26 1
a26 1
<!-- Feature Test Entities -->
a27 150
<!-- To use these, write your document like:
	<!DOCTYPE HTML [
	<!ENTITY % HTML.Optional "INCLUDE">
	<!ENTITY % html PUBLIC "-//connolly hal.com//DTD WWW HTML 1.8//EN">
	%html;
	]>
	<TITLE>Here's my doc</TITLE>
	<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.Level0  "IGNORE">
<!ENTITY % HTML.Obsolete "IGNORE">
<!ENTITY % HTML.Prescriptive "IGNORE">

<![ %HTML.Level0 [
	<!ENTITY % HTML.linkRelationships "IGNORE">
	<!ENTITY % HTML.linkMethods "IGNORE">
	<!ENTITY % HTML.linkRedundantInfo "IGNORE">
	<!ENTITY % HTML.forms "IGNORE">
	<!ENTITY % HTML.phrase "IGNORE">
	<!ENTITY % HTML.NEXTID "IGNORE">
	<!-- @@# Are the following required for conformance? -->
	<!-- @@# nested lists -->
	<!-- @@# IMG -->
	<!-- @@# 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.phrase "INCLUDE"
	-- phrase markup, ala TeXinfo: TT, EM, etc.
	-->

<!ENTITY % HTML.bodyBlockOnly "IGNORE"
	-- only allow block elements in the BODY element
	This means all paragraphs need to start with a <P> tag.
	-->

<!ENTITY % HTML.pSeparator "IGNORE"
	-- use P element as paragraph separator, rather	that container.
	-->

<!ENTITY % HTML.linkRelationships "INCLUDE"
	-- Adding markup to links to show the relationship between
	ends of a link
	see http://info.cern.ch/hypertext/WWW/MarkUp/Relationships.html
	-->

<!ENTITY % HTML.linkMethods "INCLUDE"
	-- Adding markup to links to show the methods supported
	by the referent object
	see http://info.cern.ch/hypertext/WWW/MarkUp/Elements/A.html
	-->

<!ENTITY % HTML.linkRedundantInfo "INCLUDE"
	-- Adding markup to links to give redundant information
	like URN, content type, title...
	-->

<!ENTITY % HTML.anchorNameCDATA "INCLUDE"
	-- Anchor names should be distinct. SGML parser can validate
	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.
	-->

<!ENTITY % HTML.PLAINTEXT "INCLUDE"
	-- 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
	-->

<!ENTITY % HTML.titleCDATA "IGNORE"
	-- 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.
	-->

<!ENTITY % HTML.NEXTID "INCLUDE"
	-- Used by the NeXT implementation to keep track of the
	next anchor id to use
	-->

<!ENTITY % HTML.font-phrase "INCLUDE"
	-- allow B, I, TT, U outside PRE,
	CITE, VAR, etc. inside PRE
	-->

<!ENTITY % HTML.KEY "IGNORE"
	-- There was once a KEY element, for keyboard keys, menu items,
	buttons, etc. but it's not supported or widely documented
	-->

<!ENTITY % HTML.U "IGNORE"
	-- There was also a U element, but since it clashes with
	the common pracitce of underlining hypertext links, it is
	not widely supported
	-->

<!ENTITY % HTML.litCDATA "IGNORE"
	-- treat XMP, LISTING as CDATA, as per linemodeWWW
	-->

<!ENTITY % HTML.forms "INCLUDE"
	-- Support for forms as per
http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/fill-out-forms/overview.html
	-->

<!-- DTD definitions -->

<!ENTITY % heading "H1|H2|H3|H4|H5|H6" >
<!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.

        -->

d32 1
a32 198
<![ %HTML.anchorNameCDATA [ <!ENTITY % anchor-name "CDATA"> ]]>
<!ENTITY % anchor-name "ID">

<![ %HTML.linkRelationships [ <!ENTITY % linkRelAttrs "
        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;
        ">


<!-- Document Element -->


<![ %HTML.PLAINTEXT [ <!ENTITY % obsolete-plaintext ", PLAINTEXT?"> ]]>
<!ENTITY % obsolete-plaintext "">

<!ENTITY % html-content "HEAD, BODY %obsolete-plaintext;">
<!ELEMENT HTML O O  (%html-content)>

<![ %HTML.NEXTID [  <!ENTITY % head-content "TITLE? & ISINDEX? & LINK* & BASE?
			& NEXTID?"> ]]>
<!ENTITY % head-content "TITLE & ISINDEX? & LINK* & BASE?">
<!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.
          -->

<!ELEMENT NEXTID - O EMPTY>
<!ATTLIST NEXTID N %anchor-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 URIs -->
<!ATTLIST BASE

        HREF %URI; #REQUIRED

        >

<![ %HTML.KEY [
	<!ENTITY % key-emph "| KEY">
	]]>
<!ENTITY % key-emph "">

<![ %HTML.U [
	<!ENTITY % u-font "| U">
	]]>
<!ENTITY % u-font "">

<!ENTITY % font "TT | B | I %u-font">
<!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | VAR | DFN | CITE
	 | STRIKE %key-emph">


<![ %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 "">

<!ENTITY % inline "%phrase %obsolete-font">
<!ENTITY % pre-inline "%font %obsolete-phrase %obsolete-p">

<!ENTITY % inline "">
<!ENTITY % pre-inline "">

<!ENTITY % text "#PCDATA | IMG | %inline | BR %obsolete-p">

<!ENTITY % htext "A | %text"    -- Plus links, no structure -->

<![ %HTML.font-phrase [ <!ENTITY % font-content "(%htext)+"> ]]>
<!ENTITY % font-content "#PCDATA">
<!ELEMENT (%font;) - - (%font-content;)>

<![ %HTML.phrase [
<!ELEMENT (%phrase;) - - (%htext)+>
]]>

<!ENTITY % pre "PRE | XMP | LISTING">

<![ %HTML.forms [ <!ENTITY % block-form "| FORM | ISINDEX"> ]]>
<!ENTITY % block-form "">

<![ %HTML.pSeparator [
	<!ENTITY % obsolete-htext "| %htext">
	<!ENTITY % block-p "">
	]]>
<!ENTITY % obsolete-htext "| A">
<!ENTITY % block-p "| P ">

<!ENTITY % block "HR | %list | DL
		| %pre | BLOCKQUOTE | ADDRESS 
		%block-form %block-p">


<![ %HTML.bodyBlockOnly [
	<!ENTITY % current-htext "">
	]]>
<!ENTITY % current-htext "| %htext">

<!ENTITY % body-content "%heading | %block %current-htext">
<!ELEMENT BODY O O  (%body-content)*>


<!ELEMENT A     - - (%heading|%block|%text)+ -(A)
	-- @@# Technically, this allows silliness like:
		<H2><A>xyz<H1>h1</H1></A></H2>
	The right way to do anchors outside of %htext is more like:
		<as id=z1><H2>lkjlkj</h2><ae start=z1>
	-->
<!ATTLIST A
        %linkattributes;
        >

<!ELEMENT IMG    - O EMPTY --  Embedded image -->
<!ATTLIST IMG
        SRC %URI;  #IMPLIED     -- URI of document to embed --
	ALT CDATA #IMPLIED
	ALIGN (top|middle|bottom) #IMPLIED
	ISMAP (ISMAP) #IMPLIED
        >


<![ %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; -->

<!ELEMENT ( %heading )  - -  (%htext;)+>

<!ELEMENT DL    - -  (DT*, DD?)+>
<!ATTLIST DL
	COMPACT (COMPACT) #IMPLIED>

<!ELEMENT DT    - O (%htext)+>
<!ELEMENT DD    - O (%htext|%block)+>

<!ELEMENT (%list) - -  (LI)+>

<!ELEMENT LI    - O (%htext|%block)+>

<!ELEMENT BLOCKQUOTE - - (%htext|%block)+ -- @@# Hmm... --
        -- for quoting some other source -->

<!ELEMENT ADDRESS - - (%htext;|%block)+>

<!ELEMENT PRE - - (#PCDATA|%pre-inline|A)+>
<!ATTLIST PRE
        WIDTH NUMBER #implied
        >

<!-- Mnemonic character entities. -->
a33 3
<!ENTITY % ISOlat1 PUBLIC
  "ISO 8879:1986//ENTITIES Added Latin 1//EN">
%ISOlat1;
d35 1
a35 5
<!ENTITY #DEFAULT SDATA "&#38;unkown;" --display the markup-->
<!ENTITY amp CDATA "&#38;"     -- ampersand -->
<!ENTITY gt CDATA "&#62;"      -- greater than -->
<!ENTITY lt CDATA "&#60;"      -- less than -->
<!ENTITY quot CDATA "&#34;"    -- double quote -->
d37 2
a38 1
<!-- Processing Entities -->
d40 2
a41 3
<!ENTITY nbsp "<? nonbreaking-space>">
<!-- @@# should add entites for processing instructions
	for line break, centering, etc. -->
a44 1
<![ %HTML.forms [
d46 1
a46 2
<!ENTITY % HTTP-Method "(GET | POST)">
<!ELEMENT FORM - - (%body-content)* -(FORM) +(INPUT|SELECT|TEXTAREA)>
d49 1
a49 1
	METHOD %HTTP-Method #IMPLIED -- @@# MAILTO? --
a86 1
]]>
a87 1
<!-- Obsolete Elements  -->
a88 3
<![ %HTML.litCDATA [ <!ENTITY % lit-content "CDATA"> ]]>
<!ENTITY % lit-content "RCDATA">
<!ELEMENT (%literal) - -  %lit-content>
a89 3
<![ %HTML.PLAINTEXT [
<!ELEMENT PLAINTEXT - O EMPTY>
]]>
@


1.14
log
@* Changed public identifier to W30

* Started messing with Level0 feature test entities.
@
text
@d6 1
a6 1
	$Id: html.dtd,v 1.13 1994/05/18 17:23:29 connolly Exp $
a271 1
<![ %HTML.phrase [
a289 1
]]>
@


1.13
log
@diff -b -w -u -r1.5 html.decl
diff -b -w -u -r1.12 html.dtd

* Revised comments
* Moved HTML.Version to top of html.dtd
@
text
@d6 1
a6 1
	$Id: html.dtd,v 1.12 1994/05/17 21:07:53 connolly Exp $
d10 1
a10 1
		  http://info.cern.ch/hypertext/WWW/MarkUp/MarkUp.html
d14 1
a14 1
	"-//connolly hal.com//DTD WWW HTML $Date 1994/04/19 17:24:06 $//EN"
a15 3
	-- 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   --
d19 1
a19 2
            <!DOCTYPE HTML PUBLIC "-//connolly hal.com//DTD WWW HTML
						$Date$//EN">
d44 1
a44 1
<!ENTITY % HTML.Minimal  "IGNORE">
d48 1
a48 1
<![ %HTML.Minimal [
d53 7
a59 4
	<!-- @@@@ nested lists -->
	<!-- @@@@ phrases -->
	<!-- @@@@ headers inside A -->
	<!-- @@@@ nested phrases, fonts -->
d80 4
a176 1
	@@@@ Need to discuss relative addresses.
d272 1
d291 4
d304 1
d306 1
@


1.12
log
@ISOlat1: changed entities from text entities (which get parsed
redundantly) to CDATA entities, which matches the semantics
of the implementation I'm developing.

README.html:
Removed references to doctype-mosaic.
Changed public identifier to reference no particular version of the
DTD (sneaky...)

Added links to a few interesting things.


html.decl:

removed "255 1 UNUSED" stuff, as per somebody's suggestion...
WEK or somebody... can't exactly remember.

Added comment about RE vs SEPCHAR stuff...


html.dtd:

* Added comments in the HTML.Prescriptive marked section
  moved bogus second public identifier to another file...

* Removed bogus isindexatend, HTML.GO, HTML.aEndOmissable stuff

* added bodyBlockOnly feature test

* changed KEY, U to feature-test-controlled elements

* added a @@@@ note about relative HREF's

* changed BASE HREF attr to be required

* changed amp, lt, etc. entities to be CDATA entities,
so they don't get parsed at runtime.

* moved obsolete elements after forms


optional.html:
updated w.r.t KEY, U
@
text
@d4 1
a4 1
        as used by the World Wide Web application (HTML DTD).
d6 1
a6 1
	$Id: html.dtd,v 1.11 1994/04/30 03:17:56 connolly Exp $
d8 3
d13 18
a79 8

<!ENTITY HTML.Version
	"-//connolly hal.com//DTD WWW HTML $Date 1994/04/19 17:24:06 $//EN"
	-- public identifier for "default" 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   --
	>
@


1.11
log
@Makefile:
* doctype-mosaic.sgml is obsolete: The "default" version of
the DTD parses everything now... (after a few tweaks here and there)

html.dtd:
* Changed BODY to allow %htext, making <P> start tags not necessary,
but keeping <P> as a container. This means I don't really need
a separate mosaid mode any more.

* Moved several of the features that are incompatible with extant
docs under a %HTML.Prescriptive feature set.

* Added HTML.Version entity, for use by code generation tools.
This entity varies according to the feature set used.

* Changed the "default" mode of some features:
+<!ENTITY % HTML.anchorNameCDATA "INCLUDE"
+<!ENTITY % HTML.PLAINTEXT "INCLUDE"
+<!ENTITY % HTML.font-phrase "INCLUDE"

* Changed several attribute names to coincide with their
values, for a hacked version of attribute minimization
support in libwww.

* Added %block to ADDRESS content


* Added a #DEFAULT entity so that undefined entities are legal
(Hmmm...)
@
text
@d6 1
a6 1
	$Id: html.dtd,v 1.10 1994/04/19 17:24:06 connolly Exp $
d49 5
d57 1
a57 3
	<!ENTITY HTML.Version
	"-//connolly hal.com//DTD WWW HTML
		 $Date 1994/04/19 17:24:06 $ Prescriptive//EN">
d68 4
a71 5
<!ENTITY % HTML.GO "IGNORE"
	-- The GO element used in ORA GNN. What is this??? -->

<!ENTITY % HTML.aEndOmissable "IGNORE"
	-- infer </A> tags, as in ORA GNN stuff -->
a72 3
<!ENTITY % HTML.isindexAtEnd "IGNORE"
	-- allow ISINDEX after HEAD and BODY, as in ORA GNN stuff -->

a74 1
	This means not all paragraphs need to start with a <P> tag.
d124 11
d160 2
d165 1
a165 1
	-- meaning a MIME content type, as per RFC1341 or any of its updates.
a207 2
<![ %HTML.isindexAtEnd [ <!ENTITY % end-isindex ", ISINDEX?"> ]]>
<!ENTITY % end-isindex "">
d209 1
a209 1
<!ENTITY % html-content "HEAD, BODY %obsolete-plaintext; %end-isindex">
d243 1
a243 1
        HREF %URI; #IMPLIED
d247 13
a259 2
<!ENTITY % font "TT | B | I | U ">
<!ENTITY % phrase "EM | STRONG | CODE | SAMP | KBD | KEY | VAR | DFN | CITE">
d261 1
d276 1
a276 7
<![ %HTML.GO [
	<!ELEMENT GO - O EMPTY>
	<!ENTITY % go-text "| GO">
	]]>
<!ENTITY % go-text "">

<!ENTITY % text "#PCDATA | IMG | %inline | BR %go-text %obsolete-p">
d303 6
a308 1
<!ENTITY % body-content "%heading | %block | %htext">
d312 1
a312 4
<![ %HTML.aEndOmissable [ <!ENTITY % a-end "O"> ]]>
<!ENTITY % a-end "-">

<!ELEMENT A     - %a-end (%heading|%block|%text)+ -(A)
d367 7
a373 4
<!ENTITY amp "&#38;"     -- ampersand -->
<!ENTITY gt "&#62;"      -- greater than -->
<!ENTITY lt "&#60;"      -- less than -->
<!ENTITY quot "&#34;"      -- less than -->
a378 9
<![ %HTML.litCDATA [ <!ENTITY % lit-content "CDATA"> ]]>
<!ENTITY % lit-content "RCDATA">
<!ELEMENT (%literal) - -  %lit-content>

<![ %HTML.PLAINTEXT [
<!ELEMENT PLAINTEXT - O EMPTY>
]]>


d426 9
@


1.10
log
@added &quot;
@
text
@d6 2
a7 1
	$Id: html.dtd,v 1.9 1994/04/14 01:23:26 connolly Exp $
d29 1
d38 2
a42 1
	<!ENTITY % HTML.PLAINTEXT "INCLUDE">
a44 2
	<!ENTITY % HTML.font-phrase "INCLUDE">
	<!ENTITY % HTML.anchorNameCDATA "INCLUDE">
d48 17
d96 1
a96 1
<!ENTITY % HTML.anchorNameCDATA "IGNORE"
d104 1
a104 1
<!ENTITY % HTML.PLAINTEXT "IGNORE"
d121 1
a121 1
<!ENTITY % HTML.font-phrase "IGNORE"
d288 1
a288 1
<!ENTITY % body-content "%heading | %block %obsolete-htext">
d324 1
a324 1
	STYLE (COMPACT) #IMPLIED>
d336 1
a336 1
<!ELEMENT ADDRESS - - (%htext;)+>
d349 1
d388 1
a388 1
	STATE (CHECKED) #IMPLIED
d398 1
a398 1
	SELECTIONS (MULTIPLE) #IMPLIED
d403 1
a403 1
	STATE (SELECTED) #IMPLIED
@


1.9
log
@After testing a few more files, inc. some from ORA GNN.

Added a few new feature test entities:
> 	-- The GO element used in ORA GNN. What is this??? -->
>
> <!ENTITY % HTML.aEndOmissable "IGNORE"
> 	-- infer </A> tags, as in ORA GNN stuff -->
>
> <!ENTITY % HTML.isindexAtEnd "IGNORE"
> 	-- allow ISINDEX after HEAD and BODY, as in ORA GNN stuff -->

NEXTID is "on" by default -- it doesn't hurt anything, I guess.

ISINDEX is allowed in %body-content if HTML.forms is "on"
@@@@ Hmmm... this means one must search the whole doc, not just
the head, to see if it's an index. Bad.

Expanded the BLOCKQUOTE content model to include all sorts
of %block stuff -- not just P and ADDRESS.

Fixed missing * in FORM content model.
@
text
@d6 1
a6 1
	$Id: html.dtd,v 1.8 1994/04/09 01:02:10 connolly Exp $
d334 1
@


1.8
log
@* Added feature test entities for stuff that's handled different ways
by different HTML implementations or specifications.

* Removed %headelement, %bodyelement, %oldstyle, in favor of
using OMITTAG to infer <HEAD>, <BODY> tags.

* Changed %URL to %URI, and cited specification

* Revamped %linkattributes in light of feature test entities

* Revamped HTML, HEAD, elements in light of feature test entities

* Anchor names may or may not be ID's based on the HTML.anchorNameID
feature-test entity.

* Changed %inline to be composed of %phrase and %font, where
%font is controlled by %HTML.font-phrase

* Changed EM, CODE, SAMP, etc. from (#PCDATA) to (%htext)+

* Added P, BR to %text

* replaced %stext with %block and %htext

* Changed BODY, A content models.

* Added BR element

* Changed DL content model to (DT*, DD?)+, changed DT, DD from EMPTY
to containers with omissable end tags. This match all the cases I
found during testing.

* Changed OL, UL, etc. similarly

* Replaced ISO latin 1 entity declarations with an entity reference

* Added FORMs

* Removed emacs local-variable cruft
@
text
@d6 1
a6 1
	$Id: html.dtd,v 1.7 1994/04/01 19:21:25 connolly Exp $
a41 1
	<!ENTITY % HTML.NEXTID "INCLUDE">
d47 9
d98 1
a98 1
<!ENTITY % HTML.NEXTID "IGNORE"
d177 6
a182 2
<![ %HTML.PLAINTEXT [ <!ENTITY % html-content "(HEAD, BODY), PLAINTEXT?"> ]]>
<!ENTITY % html-content "HEAD, BODY">
d237 7
a243 1
<!ENTITY % text "#PCDATA | IMG | %inline | BR %obsolete-p">
d255 1
a255 1
<![ %HTML.forms [ <!ENTITY % block-form "| FORM"> ]]>
d274 4
a277 1
<!ELEMENT A     - -  (%heading|%block|%text)+ -(A)
d315 1
a315 1
<!ELEMENT BLOCKQUOTE - - ((%htext)+, ADDRESS?)+ -- @@# Hmm... --
d352 1
a352 1
<!ELEMENT FORM - - (%body-content) -(FORM) +(INPUT|SELECT|TEXTAREA)>
@


1.7
log
@Extracted the DTD from the <!SGML .. ><!DOCTYPE [ ...DTD... ]>
stuff, and put the SGML declaration in a separate file.

The DTD can now be used in the more traditional:

	<!DOCTYPE HTML SYSTEM "html.dtd">
	<title>
	<h1>
	...

style.
@
text
@d6 1
a6 1
	$Id$
d9 100
d115 15
a129 2
<!ENTITY % headelement
         " TITLE | NEXTID |ISINDEX" >
d131 2
a132 12
<!ENTITY % bodyelement
         "P | HR | %heading |
         %list | DL | ADDRESS | PRE | BLOCKQUOTE
        | %literal">

<!ENTITY % oldstyle "%headelement | %bodyelement | #PCDATA">

<!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.)
        -->
d134 1
a134 3
<!ENTITY % linkattributes
        "NAME NMTOKEN #IMPLIED
        HREF %URL;  #IMPLIED
d141 2
d144 1
d148 2
d151 1
d154 2
d157 6
a167 4
<!ELEMENT HTML O O  (( HEAD | BODY | %oldstyle )*, PLAINTEXT?)>

<!ELEMENT HEAD - -  ( TITLE?  & ISINDEX?  & NEXTID?  & LINK*
                              & BASE?)>
d169 12
a180 1
<!ELEMENT TITLE - -  RCDATA
d192 1
a192 1
<!ATTLIST NEXTID N NAME #REQUIRED
d201 1
a201 1
<!ELEMENT BASE - O EMPTY    -- Reference context for URLS -->
d204 1
a204 1
        HREF %URL; #IMPLIED
d207 14
a220 3
<!ENTITY % inline "EM | TT | STRONG | B | I | U |
                        CODE | SAMP | KBD | KEY | VAR | DFN | CITE "
        >
d222 2
a223 1
<!ELEMENT (%inline;) - - (#PCDATA)>
d225 1
a225 1
<!ENTITY % text "#PCDATA | IMG | %inline;">
d229 5
a233 4
<!ENTITY % stext                -- as htext but also nested structure --
                        "P | HR | %list | DL | ADDRESS
                        | PRE | BLOCKQUOTE
                        | %literal | %htext">
d235 1
d237 2
a238 1
<!ELEMENT BODY - -  (%bodyelement|%htext;)*>
d240 6
d247 15
a261 1
<!ELEMENT A     - -  (%text)>
d268 4
a271 1
        SRC %URL;  #IMPLIED     -- URL of document to embed --
d275 3
a277 1
<!ELEMENT P     - O EMPTY -- separates paragraphs -->
d279 1
d283 8
a290 16
<!ELEMENT DL    - -  (DT | DD | %stext;)*>
<!--    Content should match ((DT,(%htext;)+)+,(DD,(%stext;)+))
        But mixed content is messy.  -Dan Connolly
  -->

<!ELEMENT DT    - O EMPTY>
<!ELEMENT DD    - O EMPTY>

<!ELEMENT (UL|OL) - -  (%htext;|LI|P)+>
<!ELEMENT (DIR|MENU) - -  (%htext;|LI)+>
<!--    Content should match ((LI,(%htext;)+)+)
        But mixed content is messy.
  -->
<!ATTLIST (%list)
        COMPACT NAME #IMPLIED -- COMPACT, etc.--
        >
d292 1
a292 1
<!ELEMENT LI    - O EMPTY>
d294 1
a294 1
<!ELEMENT BLOCKQUOTE - - (%htext;|P)+
d297 1
a297 1
<!ELEMENT ADDRESS - - (%htext;|P)+>
d299 1
a299 1
<!ELEMENT PRE - - (#PCDATA|%inline|A|P)+>
d305 5
a309 34
<!ENTITY AElig "&#198;"  -- capital AE diphthong (ligature) -->
<!ENTITY Aacute "&#193;" -- capital A, acute accent -->
<!ENTITY Acirc "&#194;"  -- capital A, circumflex accent -->
<!ENTITY Agrave "&#192;" -- capital A, grave accent -->
<!ENTITY Aring "&#197;"  -- capital A, ring -->
<!ENTITY Atilde "&#195;" -- capital A, tilde -->
<!ENTITY Auml "&#196;"   -- capital A, dieresis or umlaut mark -->
<!ENTITY Ccedil "&#199;" -- capital C, cedilla -->
<!ENTITY ETH "&#208;"    -- capital Eth, Icelandic -->
<!ENTITY Eacute "&#201;" -- capital E, acute accent -->
<!ENTITY Ecirc "&#202;"  -- capital E, circumflex accent -->
<!ENTITY Egrave "&#200;" -- capital E, grave accent -->
<!ENTITY Euml "&#203;"   -- capital E, dieresis or umlaut mark -->
<!ENTITY Iacute "&#205;" -- capital I, acute accent -->
<!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 -->
a310 9
<!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 -->
a311 4
<!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 -->
d313 3
a315 16
<!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 -->
a316 1
<!-- deprecated elements -->
d318 3
a320 1
<!ELEMENT (%literal) - -  CDATA>
d322 1
d324 49
a373 4
<!-- Local Variables: -->
<!-- mode: sgml -->
<!-- compile-command: "sgmls -s -p " -->
<!-- end: -->
@


1.7.2.1
log
@took out a few obsolete features... moved them to html-compat-doc.sgml
@
text
@d1 1
a1 1
<!-- Jul 1 93 version, minus backward-compatibility stuff. -->
d3 6
d15 3
d23 2
d53 1
a53 1
<!ELEMENT HTML O O  (HEAD, BODY)>
d55 1
a55 1
<!ELEMENT HEAD O O  ( TITLE?  & ISINDEX?  & NEXTID?  & LINK*
d58 1
a58 1
<!ELEMENT TITLE - -  (#PCDATA)
d101 1
a101 1
<!ELEMENT BODY O O  (%bodyelement|%htext;)*>
@


1.7.2.2
log
@Changed P, LI, DT, DD from EMPTY to containers.

Changed BODY, DL, etc. to have ELEMENT content.

Changed lists to allow embeded lists.

Removed NEXTID element -- should be a processing instruction.

Note: The BR feature should be represented as an entity &br;
that expands to a processing instruction <? break line>
rather than an element <br>.

The PRE style newline handling should be a different
NOTATION.

Changed content model of %inline elements to inlcude A.

Changed content model of A to ANY.

B, I, U, TT only allowed inside PRE. EM, STRONG, etc.
not allowed inside PRE.

ISOLat1 stuff moved to separate file.

removed emacs local variables.
@
text
@d1 1
a1 1
<!--	html.dtd
a2 7
        Document Type Definition for the HyperText Markup Language
        as used by the World Wide Web application (HTML DTD).

        $Id: html.dtd,v 1.7 1994/04/01 19:21:25 connolly Exp $
-->


d58 6
d74 1
a74 1
<!ENTITY % inline "EM | STRONG |
d78 1
a78 1
<!ELEMENT (%inline;) - - (#PCDATA | A)+>
d80 1
a80 1
<!ENTITY % text "#PCDATA | IMG | %inline; | BR">
a88 5
<!ENTITY % block                -- as htext but also nested structure --
                        "P | HR | %list | DL
                        | PRE | BLOCKQUOTE
                        | %literal">

d90 1
a90 1
<!ELEMENT BODY O O  (%heading | %block)+>
d93 1
a93 1
<!ELEMENT A     - -  ANY>
d104 2
a105 2
<!ELEMENT P     - O (%htext)+ -- paragraph -->
<!ELEMENT (HR|BR)    - O EMPTY -- horizontal rule -->
d109 3
a111 2
<!ELEMENT DL    - -  (DT+, DD)+>
<!--    structured DL's
d114 2
a115 2
<!ELEMENT DT    - O (%htext)+>
<!ELEMENT DD    - O (%htext|%block)+>
d117 5
a121 2
<!ELEMENT (%list) - -  (LI)+>

d126 1
a126 1
<!ELEMENT LI    - O (%htext|%block)+>
d128 1
a128 1
<!ELEMENT BLOCKQUOTE - - (P+, ADDRESS?)+
d131 1
a131 1
<!ELEMENT ADDRESS - - (%htext;)+>
d133 1
a133 1
<!ELEMENT PRE - - (#PCDATA | TT | B | I | U | A | P | BR)+>
d139 34
a172 5

<!ENTITY % ISOlat1 PUBLIC
  "ISO 8879:1986//ENTITIES Added Latin 1//EN">
%ISOlat1;

d174 9
d184 4
d189 16
a204 3
<!ENTITY nbsp "&#32;"    --  @@@@should be NON_BREAKING space -->
<!-- @@@@ should add entites for processing instructions
	for line break, centering, etc. -->
d212 4
@


1.7.2.3
log
@Fixed a couple wierdo's with ADDRESS and such.
@
text
@d6 1
a6 1
        $Id: html.dtd,v 1.7.2.2 1994/04/01 20:30:17 connolly Exp $
a79 1
<!ELEMENT (B | I | U | TT) - - (#PCDATA | A)+>
d92 1
a92 1
                        | PRE | BLOCKQUOTE | ADDRESS
d115 1
a115 1
<!ELEMENT DL    - -  (DT+, DD+)+>
d130 1
a130 1
<!ELEMENT BLOCKQUOTE - - ((%htext|P)+, ADDRESS?)+
@


1.7.2.4
log
@This DTD represents current practice as represented
by a random sampling of docs, mostly from NCSA.

Added forms
Changed <A NAME= attr to NMTOKEN (yuk!)
Rearranged lots of stuff.
@
text
@d6 1
a6 1
        $Id: html.dtd,v 1.7.2.3 1994/04/04 23:58:38 connolly Exp $
d12 9
a26 2
<!ENTITY % Content-Type "CDATA" -- meaning a MIME content type -->

d28 2
a29 1
        "HREF %URL;  #IMPLIED
a43 1
	--@@# content-type --
d51 1
a51 3
<!-- Head -->

<!ELEMENT HEAD O O  ( TITLE?  & ISINDEX? & NEXTID? & LINK*
a53 4
<!ELEMENT NEXTID - O EMPTY -- @@# obsolete -->
<!ATTLIST NEXTID
	N ID #REQUIRED -- next available id -->

d67 1
a67 2
        %linkattributes
	>
d71 1
d73 4
d79 2
d82 1
a82 1
<!-- Body -->
d84 1
a84 1
<!ELEMENT BODY O O  ANY -- empty P version @@# -->
d86 4
a89 1
<!-- Text -->
d91 4
a94 4
<!ENTITY % inline "EM | STRONG |
                        CODE | SAMP | KBD | KEY | VAR | DFN | CITE "
        >
<!ENTITY % fonts "B | I | U | TT">
a95 4
<!ENTITY % text "#PCDATA | IMG | %inline; | %fonts; | BR | P"
	-- @@# yuk: P in textflows --
	 --@@# BR -> &br; --
	 --@@# yuk: fonts -- >
d97 1
a97 1
<!ENTITY % htext "A | %text"    -- Plus links, no structure -->
a98 2
<!ELEMENT (%inline;) - - (%htext)+>
<!ELEMENT (%fonts;)  - - (%htext)+>
d100 1
a100 1
<!ELEMENT A     - -  ANY -(A)>
d102 1
a102 2
	NAME NMTOKEN #IMPLIED -- @@# dangit! this should be ID! --
	%linkattributes;
a107 2
	ALT CDATA #IMPLIED
	ALIGN (top|middle|bottom|left|center|right) #IMPLIED --@@#supported?--
d111 2
a112 3
<!ELEMENT P     - O EMPTY -- paragraph separator @@# -->
<!ELEMENT HR    - O EMPTY -- horizontal rule -->
<!ELEMENT BR    - O EMPTY -- @@# BR -> &br; -->
a113 3
<!-- Headings -->

<!ENTITY % heading "H1|H2|H3|H4|H5|H6" >
d116 3
d120 2
a121 1
<!-- Pre-formatted Text -->
d123 1
a123 1
<!ENTITY % pre "PRE | XMP | LISTING" -- @@# treat XMP like pre? -->
d125 2
a126 8
<!ELEMENT PRE - - (#PCDATA | %fonts | %inline | A | BR)+>
		<!-- @@# yuk: VAR, CITE etc. in PRE -->
		<!-- @@# P in PRE ??-->
		<!-- @@# BR -> &br; -->
<!ELEMENT (XMP|LISTING) - - RCDATA>
<!-- @@# PLAINTEXT?? -->
<!ATTLIST (%pre;)
        WIDTH NUMBER #implied
a128 17
<!-- Block Elements -->

<!ENTITY % list " UL | OL | DIR | MENU ">

<!ENTITY % block                -- as htext but also nested structure --
                        "HR | %list | DL
                        | %pre; | BLOCKQUOTE | FIG | ADDRESS 
			| FORM">

<!ELEMENT DL    - -  (DT*, DD?)+>
<!ATTLIST DL
	STYLE (COMPACT) #IMPLIED>

<!ELEMENT DT    - O (%htext)+>
<!ELEMENT DD    - O (%htext|%block)+>

<!ELEMENT (%list) - -  (LI)+>
d131 1
a131 1
<!ELEMENT BLOCKQUOTE - - ((%htext)+, ADDRESS?)+ -- @@# Hmm... --
d136 4
a139 1
<!ELEMENT FIG - - (%htext;)+>
a140 45
<!-- Forms  -->

<!ENTITY % HTTP-Method "(GET | POST)">
<!ELEMENT FORM - - ANY -(FORM) +(INPUT|SELECT|TEXTAREA)>
<!ATTLIST FORM
	ACTION %URL #REQUIRED
	METHOD %HTTP-Method #IMPLIED -- @@# MAILTO? --
	ENCTYPE %Content-Type; #IMPLIED
	>

<!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX |
			RADIO | SUBMIT | RESET |
			IMAGE | HIDDEN )">
<!ELEMENT INPUT - O EMPTY>
<!ATTLIST INPUT
	TYPE %InputType #IMPLIED -- @@# defaults to TEXT?? --
	NAME CDATA #IMPLIED -- required for all but submit and reset --
	VALUE CDATA #IMPLIED
	SRC %URL #IMPLIED -- for image inputs -- 
	STATE (CHECKED) #IMPLIED
	SIZE CDATA #IMPLIED -- @@# should be NUMBERS: delimit with space, not comma --
	MAXLENGTH NUMBER #IMPLIED
	ALIGN (top|middle|bottom|left|center|right) #IMPLIED --@@#supported?--
	>

<!ELEMENT SELECT - - (OPTION+)>
<!ATTLIST SELECT
	NAME CDATA #REQUIRED
	SIZE NUMBER #IMPLIED
	SELECTIONS (MULTIPLE) #IMPLIED
	>

<!ELEMENT OPTION - O (#PCDATA)>
<!ATTLIST OPTION
	STATE (SELECTED) #IMPLIED
	VALUE CDATA #IMPLIED
	>

<!ELEMENT TEXTAREA - - (#PCDATA)>
<!ATTLIST TEXTAREA
	NAME CDATA #REQUIRED
	ROWS NUMBER #REQUIRED -- @@#implied? --
	COLS NUMBER #REQUIRED
	>

d150 2
a151 2
<!ENTITY nbsp "<? nonbreaking-space>">
<!-- @@# should add entites for processing instructions
d153 6
@


1.6
log
@DTD as released in draft-iiir-html-01.txt
@
text
@d1 2
a2 2
<!SGML  "ISO 8879:1986"
--
d6 1
a6 82
        NOTE: This is a definition of HTML with respect to
        SGML, and assumes an understanding of SGML terms.

        If you find bugs in this DTD or find it does not compile
        under some circumstances please mail www-bug@@info.cern.ch
--

CHARSET
         BASESET  "ISO 646:1983//CHARSET
                   International Reference Version (IRV)//ESC 2/5 4/0"
         DESCSET  0   9   UNUSED
                  9   2   9
                  11  2   UNUSED
                  13  1   13
                  14  18  UNUSED
                  32  95  32
                  127 1   UNUSED
     BASESET   "ISO Registration Number 100//CHARSET
                ECMA-94 Right Part of Latin Alphabet Nr. 1//ESC 2/13 4/1"
     DESCSET   128 32 UNUSED
               160 95 32
               255  1 UNUSED


CAPACITY        SGMLREF
                TOTALCAP        150000
                GRPCAP          150000

SCOPE    DOCUMENT
SYNTAX
         SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
                           19 20 21 22 23 24 25 26 27 28 29 30 31 127 255
         BASESET  "ISO 646:1983//CHARSET
                   International Reference Version (IRV)//ESC 2/5 4/0"
         DESCSET  0 128 0
         FUNCTION RE          13
                  RS          10
                  SPACE       32
                  TAB SEPCHAR  9
         NAMING   LCNMSTRT ""
                  UCNMSTRT ""
                  LCNMCHAR ".-"
                  UCNMCHAR ".-"
                  NAMECASE GENERAL YES
                           ENTITY  NO
         DELIM    GENERAL  SGMLREF
                  SHORTREF SGMLREF
         NAMES    SGMLREF
         QUANTITY SGMLREF
                  NAMELEN  34
                  TAGLVL   100
                  LITLEN   1024
                  GRPGTCNT 150
                  GRPCNT   64

FEATURES
  MINIMIZE
    DATATAG  NO
    OMITTAG  NO
    RANK     NO
    SHORTTAG NO
  LINK
    SIMPLE   NO
    IMPLICIT NO
    EXPLICIT NO
  OTHER
    CONCUR   NO
    SUBDOC   NO
    FORMAL   YES
  APPINFO    NONE
>

<!DOCTYPE HTML [
<!-- Jul 1 93 -->
<!--    Regarding clause 6.1, SGML Document:

        [1] SGML document = SGML document entity,
            (SGML subdocument entity |
            SGML text entity | non-SGML data entity)*

        The role of SGML document entity is filled by this DTD,
        followed by the conventional HTML data stream.
a226 14
]>












   
@


1.5
log
@The DTD as I originally released it.
@
text
@d3 2
a4 2
	Document Type Definition for the HyperText Markup Language 
	as used by the World Wide Web application (HTML DTD).
d6 2
a7 2
	NOTE: This is a definition of HTML with respect to
	SGML, and assumes an understaning of SGML terms.
d9 2
a10 9
	For a description of HTML in layman's terms, see

	"HTML: A Representation for Nodes in the World Wide Web"
		by Dan Connolly.

	aka

	http://info.cern.ch/hypertext/WWW/MarkUp/MarkUp.html
		by <connolly@@convex.com>
d23 5
d29 5
a33 4
CAPACITY	SGMLREF
		TOTALCAP	150000
		GRPCAP		150000
  
d35 1
a35 1
SYNTAX   
d59 1
a59 1
                  GRPCNT   64                   
d79 2
a80 3
<!--
 $Id: html.dtd,v 1.3 1993/01/07 00:38:36 connolly Exp $
-->
d82 3
a84 1
<!--	Regarding clause 6.1, SGML Document:
d86 2
a87 6
	[1] SGML document = SGML document entity,
	    (SGML subdocument entity |
	    SGML text entity | non-SGML data entity)*

	The role of SGML document entity is filled by this DTD,
	followed by the	conventional HTML data stream.
d93 2
a94 2
<!ENTITY % list "UL|OL|DIR|MENU">
<!ENTITY % literal "XMP|LISTING">
d97 1
a97 1
	 "TITLE | NEXTID | ISINDEX" >
d100 3
a102 3
	 "P | A | %heading |
	 %list | DL | HEADERS | ADDRESS | PRE | BLOCKQUOTE
	| %literal">
d106 19
a124 4
<!-- Characters from various Latin alphabets. -->
<!ENTITY % ISOlat1 PUBLIC
	"ISO 8879:1986//ENTITIES Added Latin 1//EN">
%ISOlat1;
d126 2
d129 3
d134 4
a137 1
<!ELEMENT HTML O O  (HEAD | BODY | %oldstyle)*>
d139 5
a143 12
<!ELEMENT HEAD - -  (TITLE? & ISINDEX? & NEXTID?)>
<!-- LINK element (from timbl) -->
<!ATTLIST HEAD
	EXPIRES NUMBER #IMPLIED -- expiration date 
				in ISO format: yyyymmddhhmmssZ --
	>

<!ELEMENT TITLE	- -  RCDATA
	  -- 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.
	  -->
d146 4
a149 4
	  -- WWW clients should offer the option to perform a search on
	     documents containing ISINDEX.
	  -->
 
d151 15
a165 5
<!ATTLIST NEXTID N NUMBER #REQUIRED
	  -- The number should be the highest number that appears in
	     any NAME attribute in the document.
	  -->
	
d167 2
a168 2
			CODE | SAMP | KBD | KEY | VAR | DFN | CITE "
	>
d172 3
a174 1
<!ENTITY % text "#PCDATA | %inline;">
d176 4
a179 1
<!ELEMENT BODY - -  (%bodyelement|%text;)*>
d181 3
a183 5
<!ENTITY % URL "CDATA"
	-- The term URL means a CDATA attribute
	   whose value is a Universal Resource Locator,
	   as defined in ftp://info.cern.ch/pub/www/doc/url3.txt
	-->
d185 1
a185 1
<!ELEMENT A	- -  (#PCDATA)>
d187 17
a203 19
	NAME NMTOKEN #IMPLIED
	HREF %URL; #IMPLIED
	TYPE NAME #IMPLIED -- type of relashionship to referent data:
				PARENT CHILD, SIBLING, NEXT, TOP,
				 DEFINITION, UPDATE, ORIGINAL etc. --
	URN CDATA #IMPLIED -- universal resource number. unique doc id --
	TITLE CDATA #IMPLIED -- advisory only --
	METHODS NAMES #IMPLIED -- supported methods of the object:
					TEXTSEARCH, GET, HEAD, ... --
	>

<!ELEMENT P	- O EMPTY -- separates paragraphs -->

<!ELEMENT (%heading)	- -  (%text;|A)+>

<!ELEMENT HEADERS - - (DT | #PCDATA | DD | A)+>
<!ELEMENT DL	- -  (DT | DD | A | P | %text;)*>
<!--	Content should match ((DT,(A|%text;)+)+,(DD,(A|%text;)+))
	But mixed content is messy.
d205 8
a212 7
 
<!ELEMENT DT	- O EMPTY>
<!ELEMENT DD	- O EMPTY>

<!ELEMENT (%list) - -  (%text;|LI|A|P)+>
<!--	Content should match ((LI,(A|%text;)+)+)
	But mixed content is messy.
d215 2
a216 2
	STYLE NAME #IMPLIED -- COMPACT, etc.--
	>
d218 1
a218 1
<!ELEMENT LI	- O EMPTY>
d220 2
a221 5
<!ELEMENT BLOCKQUOTE - - (%text;|A|P|ADDRESS)+
	-- for quoting some other source -->
<!ATTLIST BLOCKQUOTE
	SOURCE CDATA #IMPLIED
	>
d223 1
a223 1
<!ELEMENT ADDRESS - - (%text;|A|P)+>
d225 1
a225 1
<!ELEMENT PRE - - (#PCDATA|A|P)+>
d227 1
a227 1
	WIDTH NUMBER #implied
d230 68
d300 1
a300 1
<!ELEMENT (%literal) - -  RCDATA>
d309 13
@


1.4
log
@checked in with -k by connolly at 1994/03/30 00:56:13
@
text
@d1 79
d81 1
a81 1
 $Id: html.dtd,v 1.4 93/01/20 20:56:08 connolly Exp $
d84 1
a84 1
<!--    Regarding clause 6.1, SGML Document:
d86 3
a88 3
        [1] SGML document = SGML document entity,
            (SGML subdocument entity |
            SGML text entity | non-SGML data entity)*
d90 2
a91 2
        The role of SGML document entity is filled by this DTD,
        followed by the conventional HTML data stream.
d101 1
a101 1
         "TITLE | NEXTID | ISINDEX" >
d104 3
a106 3
         "P | %heading |
         %list | DL | HEADERS | ADDRESS | PRE | BLOCKQUOTE
        | %literal">
d109 6
a114 17
<!ENTITY % URL "CDATA"
        -- The term URL means a CDATA attribute
           whose value is a Universal Resource Locator,
           as defined in ftp://info.cern.ch/pub/www/doc/url3.txt
        -->

<!ENTITY % linkattributes
        "NAME NMTOKEN #IMPLIED
        HREF %URL; #IMPLIED
        TYPE NAME #IMPLIED -- type of relashionship to referent data:
                                PARENT CHILD, SIBLING, NEXT, TOP,
                                 DEFINITION, UPDATE, ORIGINAL etc. --
        URN CDATA #IMPLIED -- universal resource number. unique doc id --
        TITLE CDATA #IMPLIED -- advisory only --
        METHODS NAMES #IMPLIED -- supported methods of the object:
                                        TEXTSEARCH, GET, HEAD, ... --
        ">
d118 1
a118 1
<!ELEMENT HTML O O  ((HEAD | BODY | %oldstyle)*, PLAINTEXT?)>
d120 12
a131 1
<!ELEMENT HEAD - -  (TITLE? & ISINDEX? & NEXTID? & LINK*)>
a132 6
<!ELEMENT TITLE - -  RCDATA
          -- 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.
          -->

d134 3
a136 3
          -- WWW clients should offer the option to perform a search on
             documents containing ISINDEX.
          -->
d140 4
a143 8
          -- The number should be the highest number that appears in
             any NAME attribute in the document.
          -->

<!ELEMENT LINK - O EMPTY>
<!ATTLIST LINK
        %linkattributes>
        
d145 2
a146 2
                        CODE | SAMP | KBD | KEY | VAR | DFN | CITE "
        >
d150 1
a150 1
<!ENTITY % hypertext "#PCDATA | %inline; | A">
d152 7
a158 1
<!ELEMENT BODY - -  (%bodyelement|%hypertext;)*>
d160 1
a160 1
<!ELEMENT A     - -  (#PCDATA)>
d162 19
a180 10
        %linkattributes;
        >

<!ELEMENT P     - O EMPTY -- separates paragraphs -->

<!ELEMENT (%heading)    - -  (%hypertext;)+>

<!ELEMENT DL    - -  (DT | DD | P | %hypertext;)*>
<!--    Content should match ((DT,(%hypertext;)+)+,(DD,(%hypertext;)+))
        But mixed content is messy.
a181 3
<!ATTLIST DL
        STYLE NAME #IMPLIED -- COMPACT, etc.--
        >
d183 2
a184 2
<!ELEMENT DT    - O EMPTY>
<!ELEMENT DD    - O EMPTY>
d186 3
a188 4
<!ELEMENT (UL|OL) - -  (%hypertext;|LI|P)+>
<!ELEMENT (DIR|MENU) - -  (%hypertext;|LI)+>
<!--    Content should match ((LI,(%hypertext;)+)+)
        But mixed content is messy.
d190 3
d194 1
a194 1
<!ELEMENT LI    - O EMPTY>
d196 2
a197 2
<!ELEMENT BLOCKQUOTE - - (%hypertext;|P)+
        -- for quoting some other source -->
d199 2
a200 2
        SOURCE CDATA #IMPLIED -- URL of source --
        >
d202 1
a202 1
<!ELEMENT ADDRESS - - (%hypertext;|P)+>
d204 1
a204 1
<!ELEMENT PRE - - (#PCDATA | A | B | I | U | P)+>
d206 1
a206 1
        WIDTH NUMBER #implied
a208 68

<!-- Mnemonic character entities. -->
<!ENTITY AElig "&#198;" -- capital AE diphthong (ligature) -->
<!ENTITY Aacute "&#193;" -- capital A, acute accent -->
<!ENTITY Acirc "&#194;" -- capital A, circumflex accent -->
<!ENTITY Agrave "&#192;" -- capital A, grave accent -->
<!ENTITY Aring "&#197;" -- capital A, ring -->
<!ENTITY Atilde "&#195;" -- capital A, tilde -->
<!ENTITY Auml "&#196;" -- capital A, dieresis or umlaut mark -->
<!ENTITY Ccedil "&#199;" -- capital C, cedilla -->
<!ENTITY ETH "&#208;" -- capital Eth, Icelandic -->
<!ENTITY Eacute "&#201;" -- capital E, acute accent -->
<!ENTITY Ecirc "&#202;" -- capital E, circumflex accent -->
<!ENTITY Egrave "&#200;" -- capital E, grave accent -->
<!ENTITY Euml "&#203;" -- capital E, dieresis or umlaut mark -->
<!ENTITY Iacute "&#205;" -- capital I, acute accent -->
<!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 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 -->

d211 1
a211 1
<!ELEMENT (%literal) - -  CDATA>
d219 1
@


1.3
log
@checked in with -k by connolly at 1994/03/30 00:36:49
@
text
@a0 79
<!SGML  "ISO 8879:1986"
--
	Document Type Definition for the HyperText Markup Language 
	as used by the World Wide Web application (HTML DTD).

	NOTE: This is a definition of HTML with respect to
	SGML, and assumes an understaning of SGML terms.

	For a description of HTML in layman's terms, see

	"HTML: A Representation for Nodes in the World Wide Web"
		by Dan Connolly.

	aka

	http://info.cern.ch/hypertext/WWW/MarkUp/MarkUp.html
		by <connolly@@convex.com>
--

CHARSET
         BASESET  "ISO 646:1983//CHARSET
                   International Reference Version (IRV)//ESC 2/5 4/0"
         DESCSET  0   9   UNUSED
                  9   2   9
                  11  2   UNUSED
                  13  1   13
                  14  18  UNUSED
                  32  95  32
                  127 1   UNUSED

CAPACITY	SGMLREF
		TOTALCAP	150000
		GRPCAP		150000
  
SCOPE    DOCUMENT
SYNTAX   
         SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
                           19 20 21 22 23 24 25 26 27 28 29 30 31 127 255
         BASESET  "ISO 646:1983//CHARSET
                   International Reference Version (IRV)//ESC 2/5 4/0"
         DESCSET  0 128 0
         FUNCTION RE          13
                  RS          10
                  SPACE       32
                  TAB SEPCHAR  9
         NAMING   LCNMSTRT ""
                  UCNMSTRT ""
                  LCNMCHAR ".-"
                  UCNMCHAR ".-"
                  NAMECASE GENERAL YES
                           ENTITY  NO
         DELIM    GENERAL  SGMLREF
                  SHORTREF SGMLREF
         NAMES    SGMLREF
         QUANTITY SGMLREF
                  NAMELEN  34
                  TAGLVL   100
                  LITLEN   1024
                  GRPGTCNT 150
                  GRPCNT   64                   

FEATURES
  MINIMIZE
    DATATAG  NO
    OMITTAG  NO
    RANK     NO
    SHORTTAG NO
  LINK
    SIMPLE   NO
    IMPLICIT NO
    EXPLICIT NO
  OTHER
    CONCUR   NO
    SUBDOC   NO
    FORMAL   YES
  APPINFO    NONE
>

<!DOCTYPE HTML [
d2 1
a2 1
 $Id: html.dtd,v 1.3 93/01/06 18:38:10 connolly Exp $
d5 1
a5 1
<!--	Regarding clause 6.1, SGML Document:
d7 3
a9 3
	[1] SGML document = SGML document entity,
	    (SGML subdocument entity |
	    SGML text entity | non-SGML data entity)*
d11 2
a12 2
	The role of SGML document entity is filled by this DTD,
	followed by the	conventional HTML data stream.
d22 1
a22 1
	 "TITLE | NEXTID | ISINDEX" >
d25 3
a27 3
	 "P | A | %heading |
	 %list | DL | HEADERS | ADDRESS | PRE | BLOCKQUOTE
	| %literal">
d30 17
d48 1
a48 5
<!-- Characters from various Latin alphabets. -->
<!ENTITY % ISOlat1 PUBLIC
	"ISO 8879:1986//ENTITIES Added Latin 1//EN">
%ISOlat1;

d50 1
a50 1
<!-- Document Element -->
d52 1
a52 1
<!ELEMENT HTML O O  (HEAD | BODY | %oldstyle)*>
d54 5
a58 12
<!ELEMENT HEAD - -  (TITLE? & ISINDEX? & NEXTID?)>
<!-- LINK element (from timbl) -->
<!ATTLIST HEAD
	EXPIRES NUMBER #IMPLIED -- expiration date 
				in ISO format: yyyymmddhhmmssZ --
	>

<!ELEMENT TITLE	- -  RCDATA
	  -- 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.
	  -->
d61 3
a63 3
	  -- WWW clients should offer the option to perform a search on
	     documents containing ISINDEX.
	  -->
d67 8
a74 4
	  -- The number should be the highest number that appears in
	     any NAME attribute in the document.
	  -->
	
d76 2
a77 2
			CODE | SAMP | KBD | KEY | VAR | DFN | CITE "
	>
d81 8
a88 1
<!ENTITY % text "#PCDATA | %inline;">
d90 1
a90 1
<!ELEMENT BODY - -  (%bodyelement|%text;)*>
d92 1
a92 5
<!ENTITY % URL "CDATA"
	-- The term URL means a CDATA attribute
	   whose value is a Universal Resource Locator,
	   as defined in ftp://info.cern.ch/pub/www/doc/url3.txt
	-->
d94 3
a96 21
<!ELEMENT A	- -  (#PCDATA)>
<!ATTLIST A
	NAME NMTOKEN #IMPLIED
	HREF %URL; #IMPLIED
	TYPE NAME #IMPLIED -- type of relashionship to referent data:
				PARENT CHILD, SIBLING, NEXT, TOP,
				 DEFINITION, UPDATE, ORIGINAL etc. --
	URN CDATA #IMPLIED -- universal resource number. unique doc id --
	TITLE CDATA #IMPLIED -- advisory only --
	METHODS NAMES #IMPLIED -- supported methods of the object:
					TEXTSEARCH, GET, HEAD, ... --
	>

<!ELEMENT P	- O EMPTY -- separates paragraphs -->

<!ELEMENT (%heading)	- -  (%text;|A)+>

<!ELEMENT HEADERS - - (DT | #PCDATA | DD | A)+>
<!ELEMENT DL	- -  (DT | DD | A | P | %text;)*>
<!--	Content should match ((DT,(A|%text;)+)+,(DD,(A|%text;)+))
	But mixed content is messy.
d98 3
d102 2
a103 2
<!ELEMENT DT	- O EMPTY>
<!ELEMENT DD	- O EMPTY>
d105 4
a108 3
<!ELEMENT (%list) - -  (%text;|LI|A|P)+>
<!--	Content should match ((LI,(A|%text;)+)+)
	But mixed content is messy.
a109 3
<!ATTLIST (%list)
	STYLE NAME #IMPLIED -- COMPACT, etc.--
	>
d111 1
a111 1
<!ELEMENT LI	- O EMPTY>
d113 2
a114 2
<!ELEMENT BLOCKQUOTE - - (%text;|A|P|ADDRESS)+
	-- for quoting some other source -->
d116 2
a117 2
	SOURCE CDATA #IMPLIED
	>
d119 1
a119 1
<!ELEMENT ADDRESS - - (%text;|A|P)+>
d121 1
a121 1
<!ELEMENT PRE - - (#PCDATA|A|P)+>
d123 1
a123 1
	WIDTH NUMBER #implied
d126 68
d196 1
a196 1
<!ELEMENT (%literal) - -  RCDATA>
a203 1
]>
@


1.2
log
@checked in with -k by connolly at 1994/03/30 00:20:44
@
text
@d65 1
a65 1
    OMITTAG  YES
d75 1
a75 1
    FORMAL   NO
d81 1
a81 1
 $Id: html.dtd,v 1.2 92/12/02 20:04:15 connolly Exp $
d94 2
d104 11
a114 1
	 "P | A | %heading | %list | DL | ADDRESS | PRE | %literal">
d116 1
a116 1
<!ENTITY % anyelement "HEAD | %headelement; | BODY | %bodyelement;">
d118 1
a118 1
<!ELEMENT HTML O O  ((%anyelement|#PCDATA)*, PLAINTEXT?)>
d121 5
a125 2

<!ELEMENT BODY - -  (%bodyelement|#PCDATA)*>
d127 1
a127 1
<!ELEMENT TITLE	- -  CDATA
d144 10
d164 7
a170 3
	TEXT (PLAIN, X-HTML, X-RTF) #IMPLIED
	-- choose MIME text/plain or text/html content type --
	-- if not specified, inferred from HREF filename --
d173 1
a173 2
<!ELEMENT P	- O EMPTY>
<!-- P separates paragraphs -->
d175 1
a175 1
<!ELEMENT (%heading)	- -  (#PCDATA|A)+>
d177 3
a179 2
<!ELEMENT DL	- -  (DT|DD|A|P|#PCDATA)*>
<!--	Content should match ((DT,(A|#PCDATA)+)+,(DD,(A|#PCDATA)+))
d186 2
a187 2
<!ELEMENT (%list) - -  (#PCDATA|LI|A|P)+>
<!--	Content should match ((LI,(A|#PCDATA)+)+)
d190 3
d196 7
a202 1
<!ELEMENT ADDRESS - - (#PCDATA|A|P)+>
d206 1
a206 1
	WIDTH NUMBER 80
d209 3
a211 1
<!ELEMENT (%literal) - -  CDATA>
a213 17
<!--	  The <PLAINTEXT> tag, if present, signals the end of the SGML
	  document entity. The data that follows serves as a non-SGML
	  data entity.
  -->

<!--      Text Entities       -->

<!-- Characters that may begin a delimiter-in-context sequence
	From "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN" -->
<!ENTITY lt "<">
<!ENTITY gt ">">
<!ENTITY amp "&">

<!-- Characters from various Latin alphabets. -->
<!ENTITY % ISOlat1 PUBLIC
       "ISO 8879:1986//ENTITIES Added Latin 1//EN">
%ISOlat1;
d215 4
@