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 "&" -- ampersand -->
<!ENTITY gt CDATA ">" -- greater than -->
<!ENTITY lt CDATA "<" -- less than -->
<!ENTITY quot CDATA """ -- 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   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 "%HTML.Version;"">
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 "&unkown;" --display the markup-->
<!ENTITY amp CDATA "&" -- ampersand -->
<!ENTITY gt CDATA ">" -- greater than -->
<!ENTITY lt CDATA "<" -- less than -->
<!ENTITY quot CDATA """ -- 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 "&" -- ampersand -->
<!ENTITY gt ">" -- greater than -->
<!ENTITY lt "<" -- less than -->
<!ENTITY quot """ -- 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 "
@
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 "Æ" -- capital AE diphthong (ligature) -->
<!ENTITY Aacute "Á" -- capital A, acute accent -->
<!ENTITY Acirc "Â" -- capital A, circumflex accent -->
<!ENTITY Agrave "À" -- capital A, grave accent -->
<!ENTITY Aring "Å" -- capital A, ring -->
<!ENTITY Atilde "Ã" -- capital A, tilde -->
<!ENTITY Auml "Ä" -- capital A, dieresis or umlaut mark -->
<!ENTITY Ccedil "Ç" -- capital C, cedilla -->
<!ENTITY ETH "Ð" -- capital Eth, Icelandic -->
<!ENTITY Eacute "É" -- capital E, acute accent -->
<!ENTITY Ecirc "Ê" -- capital E, circumflex accent -->
<!ENTITY Egrave "È" -- capital E, grave accent -->
<!ENTITY Euml "Ë" -- capital E, dieresis or umlaut mark -->
<!ENTITY Iacute "Í" -- capital I, acute accent -->
<!ENTITY Icirc "Î" -- capital I, circumflex accent -->
<!ENTITY Igrave "Ì" -- capital I, grave accent -->
<!ENTITY Iuml "Ï" -- capital I, dieresis or umlaut mark -->
<!ENTITY Ntilde "Ñ" -- capital N, tilde -->
<!ENTITY Oacute "Ó" -- capital O, acute accent -->
<!ENTITY Ocirc "Ô" -- capital O, circumflex accent -->
<!ENTITY Ograve "Ò" -- capital O, grave accent -->
<!ENTITY Oslash "Ø" -- capital O, slash -->
<!ENTITY Otilde "Õ" -- capital O, tilde -->
<!ENTITY Ouml "Ö" -- capital O, dieresis or umlaut mark -->
<!ENTITY THORN "Þ" -- capital THORN, Icelandic -->
<!ENTITY Uacute "Ú" -- capital U, acute accent -->
<!ENTITY Ucirc "Û" -- capital U, circumflex accent -->
<!ENTITY Ugrave "Ù" -- capital U, grave accent -->
<!ENTITY Uuml "Ü" -- capital U, dieresis or umlaut mark -->
<!ENTITY Yacute "Ý" -- capital Y, acute accent -->
<!ENTITY aacute "á" -- small a, acute accent -->
<!ENTITY acirc "â" -- small a, circumflex accent -->
<!ENTITY aelig "æ" -- small ae diphthong (ligature) -->
<!ENTITY agrave "à" -- small a, grave accent -->
a310 9
<!ENTITY aring "å" -- small a, ring -->
<!ENTITY atilde "ã" -- small a, tilde -->
<!ENTITY auml "ä" -- small a, dieresis or umlaut mark -->
<!ENTITY ccedil "ç" -- small c, cedilla -->
<!ENTITY eacute "é" -- small e, acute accent -->
<!ENTITY ecirc "ê" -- small e, circumflex accent -->
<!ENTITY egrave "è" -- small e, grave accent -->
<!ENTITY eth "ð" -- small eth, Icelandic -->
<!ENTITY euml "ë" -- small e, dieresis or umlaut mark -->
a311 4
<!ENTITY iacute "í" -- small i, acute accent -->
<!ENTITY icirc "î" -- small i, circumflex accent -->
<!ENTITY igrave "ì" -- small i, grave accent -->
<!ENTITY iuml "ï" -- small i, dieresis or umlaut mark -->
d313 3
a315 16
<!ENTITY nbsp " " -- should be NON_BREAKING space -->
<!ENTITY ntilde "ñ" -- small n, tilde -->
<!ENTITY oacute "ó" -- small o, acute accent -->
<!ENTITY ocirc "ô" -- small o, circumflex accent -->
<!ENTITY ograve "ò" -- small o, grave accent -->
<!ENTITY oslash "ø" -- small o, slash -->
<!ENTITY otilde "õ" -- small o, tilde -->
<!ENTITY ouml "ö" -- small o, dieresis or umlaut mark -->
<!ENTITY szlig "ß" -- small sharp s, German (sz ligature) -->
<!ENTITY thorn "þ" -- small thorn, Icelandic -->
<!ENTITY uacute "ú" -- small u, acute accent -->
<!ENTITY ucirc "û" -- small u, circumflex accent -->
<!ENTITY ugrave "ù" -- small u, grave accent -->
<!ENTITY uuml "ü" -- small u, dieresis or umlaut mark -->
<!ENTITY yacute "ý" -- small y, acute accent -->
<!ENTITY yuml "ÿ" -- 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 " " -- @@@@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 "Æ" -- capital AE diphthong (ligature) -->
<!ENTITY Aacute "Á" -- capital A, acute accent -->
<!ENTITY Acirc "Â" -- capital A, circumflex accent -->
<!ENTITY Agrave "À" -- capital A, grave accent -->
<!ENTITY Aring "Å" -- capital A, ring -->
<!ENTITY Atilde "Ã" -- capital A, tilde -->
<!ENTITY Auml "Ä" -- capital A, dieresis or umlaut mark -->
<!ENTITY Ccedil "Ç" -- capital C, cedilla -->
<!ENTITY ETH "Ð" -- capital Eth, Icelandic -->
<!ENTITY Eacute "É" -- capital E, acute accent -->
<!ENTITY Ecirc "Ê" -- capital E, circumflex accent -->
<!ENTITY Egrave "È" -- capital E, grave accent -->
<!ENTITY Euml "Ë" -- capital E, dieresis or umlaut mark -->
<!ENTITY Iacute "Í" -- capital I, acute accent -->
<!ENTITY Icirc "Î" -- capital I, circumflex accent -->
<!ENTITY Igrave "Ì" -- capital I, grave accent -->
<!ENTITY Iuml "Ï" -- capital I, dieresis or umlaut mark -->
<!ENTITY Ntilde "Ñ" -- capital N, tilde -->
<!ENTITY Oacute "Ó" -- capital O, acute accent -->
<!ENTITY Ocirc "Ô" -- capital O, circumflex accent -->
<!ENTITY Ograve "Ò" -- capital O, grave accent -->
<!ENTITY Oslash "Ø" -- capital O, slash -->
<!ENTITY Otilde "Õ" -- capital O, tilde -->
<!ENTITY Ouml "Ö" -- capital O, dieresis or umlaut mark -->
<!ENTITY THORN "Þ" -- capital THORN, Icelandic -->
<!ENTITY Uacute "Ú" -- capital U, acute accent -->
<!ENTITY Ucirc "Û" -- capital U, circumflex accent -->
<!ENTITY Ugrave "Ù" -- capital U, grave accent -->
<!ENTITY Uuml "Ü" -- capital U, dieresis or umlaut mark -->
<!ENTITY Yacute "Ý" -- capital Y, acute accent -->
<!ENTITY aacute "á" -- small a, acute accent -->
<!ENTITY acirc "â" -- small a, circumflex accent -->
<!ENTITY aelig "æ" -- small ae diphthong (ligature) -->
<!ENTITY agrave "à" -- small a, grave accent -->
<!ENTITY amp "&" -- ampersand -->
<!ENTITY aring "å" -- small a, ring -->
<!ENTITY atilde "ã" -- small a, tilde -->
<!ENTITY auml "ä" -- small a, dieresis or umlaut mark -->
<!ENTITY ccedil "ç" -- small c, cedilla -->
<!ENTITY eacute "é" -- small e, acute accent -->
<!ENTITY ecirc "ê" -- small e, circumflex accent -->
<!ENTITY egrave "è" -- small e, grave accent -->
<!ENTITY eth "ð" -- small eth, Icelandic -->
<!ENTITY euml "ë" -- small e, dieresis or umlaut mark -->
<!ENTITY gt ">" -- greater than -->
<!ENTITY iacute "í" -- small i, acute accent -->
<!ENTITY icirc "î" -- small i, circumflex accent -->
<!ENTITY igrave "ì" -- small i, grave accent -->
<!ENTITY iuml "ï" -- small i, dieresis or umlaut mark -->
<!ENTITY lt "<" -- less than -->
<!ENTITY ntilde "ñ" -- small n, tilde -->
<!ENTITY oacute "ó" -- small o, acute accent -->
<!ENTITY ocirc "ô" -- small o, circumflex accent -->
<!ENTITY ograve "ò" -- small o, grave accent -->
<!ENTITY oslash "ø" -- small o, slash -->
<!ENTITY otilde "õ" -- small o, tilde -->
<!ENTITY ouml "ö" -- small o, dieresis or umlaut mark -->
<!ENTITY szlig "ß" -- small sharp s, German (sz ligature) -->
<!ENTITY thorn "þ" -- small thorn, Icelandic -->
<!ENTITY uacute "ú" -- small u, acute accent -->
<!ENTITY ucirc "û" -- small u, circumflex accent -->
<!ENTITY ugrave "ù" -- small u, grave accent -->
<!ENTITY uuml "ü" -- small u, dieresis or umlaut mark -->
<!ENTITY yacute "ý" -- small y, acute accent -->
<!ENTITY yuml "ÿ" -- 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
@