Re: Perceived Consensus: No ICADD in HTML 2.0

Daniel W. Connolly (connolly@hal.com)
Fri, 07 Oct 1994 18:01:18 -0500

In message <m0qtNvA-000EUqC@sq.com>, Yuri Rubinsky writes:
>
>My sense was that there was a desire to incorporate the fixed SDA attributes
>that allow HTML files to be then transformed for the visually impaired --

Agreed.

>which is the relateively straightforward job that Jeff Suttor and I
>volunteered for and which gets done the minute the DTD is completely
>stable

I suggest you get to it. The relevant document is:

http://www.hal.com/%7Econnolly/html-spec/html.dtd
$Id: html.dtd,v 1.20 1994/09/26 16:10:19 connolly Exp $

For your convenience, I'll include it below...

Let's see... yes. The typo in the comment is fixed in that version.

I can't guarantee that there will be no more revisions, but I can't
guarantee that the Spyglass folks won't start without you if you don't
act fast!

Dan

To be sure it didn't get garbled in transmission, here's the sunos 'sum'
output:

connolly@ulua ../html-spec[695] sum html.dtd
26387 10

<!-- html.dtd

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

$Id: html.dtd,v 1.20 1994/09/26 16:10:19 connolly Exp $

Author: Daniel W. Connolly <connolly@hal.com>
See Also: html.decl, html-0.dtd, html-1.dtd
http://www.hal.com/%7Econnolly/html-spec/index.html
http://info.cern.ch/hypertext/WWW/MarkUp2/MarkUp.html
-->

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

-- 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
the above 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 an implemented inconsistently, and their use is
deprecated. This feature test entity enables a document type
definition that eliminates these features.
-->

<!ENTITY % HTML.Highlighting "INCLUDE">
<!ENTITY % HTML.Forms "INCLUDE">

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

<!ENTITY % Content-Type "CDATA"
-- meaning a MIME content type, as per RFC1521
-->

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

<!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
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.

-->

<!-- DTD "macros" -->

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

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

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

<!ENTITY % ISOlat1 PUBLIC
"-//IETF//ENTITIES Added Latin 1 for HTML//EN">
%ISOlat1;

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

<!--=================== 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">

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

<!ELEMENT (%font;|%phrase) - - (%text)+>

]]>

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

<!ELEMENT BR - O EMPTY>

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

<![ %HTML.Recommended [
<!ENTITY % linkName "ID">
]]>

<!ENTITY % linkName "CDATA">

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

<!ENTITY % linkExtraAttributes
"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, ... --
">

<![ %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 %URI #IMPLIED
NAME %linkName #IMPLIED
%linkExtraAttributes;
>

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

<!ENTITY % img.alt.default "#IMPLIED"
-- ALT attribute required in Level 0 docs -->

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

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

<!ELEMENT P - O (%text)+>

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

<!ELEMENT HR - O EMPTY -- horizontal rule -->

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

<!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.
-->

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

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

<!ENTITY % block.forms "">

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

<!ENTITY % preformatted "PRE">

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

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

<!ENTITY % pre.content "#PCDATA | A | HR | BR">
<!ELEMENT PRE - - (%pre.content)+>

<!ATTLIST PRE
WIDTH NUMBER #implied
>

<![ %HTML.Deprecated [

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

<!ELEMENT XMP - - %literal>
<!ELEMENT LISTING - - %literal>
<!ELEMENT PLAINTEXT - O %literal>

]]>

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

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

<!ELEMENT DT - O (%text)+>
<!ELEMENT DD - O %flow>

<!ELEMENT (OL|UL) - - (LI)+>
<!ELEMENT (DIR|MENU) - - (LI)+ -(%block)>
<!ATTLIST (%list)
COMPACT (COMPACT) #IMPLIED>

<!ELEMENT LI - O %flow>

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

<![ %HTML.Recommended [
<!ENTITY % body.content "(%heading|%block|HR|ADDRESS)*"
-- <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>

<!ELEMENT BLOCKQUOTE - - %body.content>

<![ %HTML.Recommended [
<!ENTITY % address.content "(%text)*">
]]>
<!ENTITY % address.content "(%text|P)*">
<!ELEMENT ADDRESS - - %address.content>

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

<![ %HTML.Forms [

<!ELEMENT FORM - - %body.content -(FORM) +(INPUT|SELECT|TEXTAREA)>
<!ATTLIST FORM
ACTION %URI #REQUIRED
METHOD (%HTTP-Method) GET
ENCTYPE %Content-Type; "application/x-www-form-urlencoded"
>

<!ENTITY % InputType "(TEXT | PASSWORD | CHECKBOX |
RADIO | SUBMIT | RESET |
IMAGE | HIDDEN )">
<!ELEMENT INPUT - O EMPTY>
<!ATTLIST INPUT
TYPE %InputType TEXT
NAME CDATA #IMPLIED -- required for all but submit and reset --
VALUE CDATA #IMPLIED
SRC %URI #IMPLIED -- for image inputs --
CHECKED (CHECKED) #IMPLIED
SIZE CDATA #IMPLIED -- like NUMBERS,
but delimited with comma, not space --
MAXLENGTH NUMBER #IMPLIED
ALIGN (top|middle|bottom) #IMPLIED
>

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

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

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

]]>

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

<!ENTITY % head.link "& LINK*">

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

<!ENTITY % head.content "TITLE & ISINDEX? & BASE? & META*
%head.nextid
%head.link">

<!ELEMENT HEAD O O (%head.content)>

<!ELEMENT LINK - O EMPTY>
<!ATTLIST LINK
HREF %URI #REQUIRED
%linkExtraAttributes; >

<!ELEMENT ISINDEX - O EMPTY>

<!ELEMENT BASE - O EMPTY>
<!ATTLIST BASE
HREF %URI; #REQUIRED
>

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

<!ELEMENT META - O EMPTY -- Generic Metainformation -->
<!ATTLIST META
HTTP-EQUIV NAME #IMPLIED -- HTTP response header name --
NAME NAME #IMPLIED -- metainformation name --
CONTENT CDATA #REQUIRED -- 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 &#34;%HTML.Version;&#34;">

<!ATTLIST HTML
%version.attr;-- report DTD version to application --
>