More complete diff of HTML DTD

Earl Hood (ehood@imagine.convex.com)
Wed, 23 Nov 94 17:24:46 EST

FYI, here is a complete(?) diff of the 1993/07/01 DTD and the
1994/11/15 DTD. Content rule listings have been added compared to my
previous message. Plus, the earlier message was using the 1994/09/29
DTD (only the DL content rule changed from 1994/09/29 to 1994/11/15).

----------------------------------------------------------------------
New Elements/Attributes (html.94.11.15.dtd)
----------------------------------------------------------------------
<br>
<dl compact>
<form>
<form action>
<form enctype>
<form method>
<html version>
<img align>
<img alt>
<img ismap>
<input>
<input align>
<input checked>
<input maxlength>
<input name>
<input size>
<input src>
<input type>
<input value>
<meta>
<meta content>
<meta http-equiv>
<meta name>
<option>
<option selected>
<option value>
<select>
<select multiple>
<select name>
<select size>
<textarea>
<textarea cols>
<textarea name>
<textarea rows>
----------------------------------------------------------------------
Old/removed Elements/Attributes (html.dtd)
----------------------------------------------------------------------
<dfn>
<key>
<link name>
<u>
----------------------------------------------------------------------
Content Rule Differences
----------------------------------------------------------------------
------------------------------------------------------------
<A>

<< old content rule <<
(#PCDATA|img|em|tt|strong|b|i|U|code|samp|kbd|KEY|var|DFN|cite)

>> new content rule >>
(h1|h2|h3|h4|h5|h6|#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|
b|i)+
-(a)

------------------------------------------------------------
<ADDRESS>

<< old content rule <<
(a|#PCDATA|img|em|tt|strong|b|i|U|code|samp|kbd|KEY|var|DFN|cite|p)+

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i|p)*

------------------------------------------------------------
<B>

<< old content rule <<
(#PCDATA)

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i)+

------------------------------------------------------------
<BLOCKQUOTE>

<< old content rule <<
(a|#PCDATA|img|em|tt|strong|b|i|U|code|samp|kbd|KEY|var|DFN|cite|p)+

>> new content rule >>
(h1|h2|h3|h4|h5|h6|#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|
b|i|p|ul|ol|dir|menu|dl|pre|xmp|listing|blockquote|form|isindex|hr|
address)*

------------------------------------------------------------
<BODY>

<< old content rule <<
(p|hr|h1|h2|h3|h4|h5|h6|ul|ol|dir|menu|dl|address|pre|blockquote|xmp|
listing|a|#PCDATA|img|em|tt|strong|b|i|U|code|samp|kbd|KEY|var|DFN|cite
)*

>> new content rule >>
(h1|h2|h3|h4|h5|h6|#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|
b|i|p|ul|ol|dir|menu|dl|pre|xmp|listing|blockquote|form|isindex|hr|
address)*

------------------------------------------------------------
<CITE>

<< old content rule <<
(#PCDATA)

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i)+

------------------------------------------------------------
<CODE>

<< old content rule <<
(#PCDATA)

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i)+

------------------------------------------------------------
<DD>

<< old content rule <<
EMPTY

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i|p|ul|ol|dir|
menu|dl|pre|xmp|listing|blockquote|form|isindex)*

------------------------------------------------------------
<DFN>

<< old content rule <<
(#PCDATA)

>> new content rule >>

------------------------------------------------------------
<DIR>

<< old content rule <<
(a|#PCDATA|img|em|tt|strong|b|i|U|code|samp|kbd|KEY|var|DFN|cite|li)+

>> new content rule >>
(li)+
-(p|ul|ol|dir|menu|dl|pre|xmp|listing|blockquote|form|isindex)

------------------------------------------------------------
<DL>

<< old content rule <<
(dt|dd|p|hr|ul|ol|dir|menu|dl|address|pre|blockquote|xmp|listing|a|
#PCDATA|img|em|tt|strong|b|i|U|code|samp|kbd|KEY|var|DFN|cite)*

>> new content rule >>
(dt|dd)+

------------------------------------------------------------
<DT>

<< old content rule <<
EMPTY

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i)+

------------------------------------------------------------
<EM>

<< old content rule <<
(#PCDATA)

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i)+

------------------------------------------------------------
<H1>

<< old content rule <<
(a|#PCDATA|img|em|tt|strong|b|i|U|code|samp|kbd|KEY|var|DFN|cite)+

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i)+

------------------------------------------------------------
<H2>

<< old content rule <<
(a|#PCDATA|img|em|tt|strong|b|i|U|code|samp|kbd|KEY|var|DFN|cite)+

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i)+

------------------------------------------------------------
<H3>

<< old content rule <<
(a|#PCDATA|img|em|tt|strong|b|i|U|code|samp|kbd|KEY|var|DFN|cite)+

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i)+

------------------------------------------------------------
<H4>

<< old content rule <<
(a|#PCDATA|img|em|tt|strong|b|i|U|code|samp|kbd|KEY|var|DFN|cite)+

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i)+

------------------------------------------------------------
<H5>

<< old content rule <<
(a|#PCDATA|img|em|tt|strong|b|i|U|code|samp|kbd|KEY|var|DFN|cite)+

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i)+

------------------------------------------------------------
<H6>

<< old content rule <<
(a|#PCDATA|img|em|tt|strong|b|i|U|code|samp|kbd|KEY|var|DFN|cite)+

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i)+

------------------------------------------------------------
<HEAD>

<< old content rule <<
(title? & isindex? & nextid? & link* & base?)

>> new content rule >>
(title & isindex? & base? & meta* & nextid? & link*)

------------------------------------------------------------
<HTML>

<< old content rule <<
((head|body|title|nextid|isindex|p|hr|h1|h2|h3|h4|h5|h6|ul|ol|dir|menu|
dl|address|pre|blockquote|xmp|listing|#PCDATA)*,plaintext?)

>> new content rule >>
(head,body,plaintext?)

------------------------------------------------------------
<I>

<< old content rule <<
(#PCDATA)

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i)+

------------------------------------------------------------
<KBD>

<< old content rule <<
(#PCDATA)

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i)+

------------------------------------------------------------
<KEY>

<< old content rule <<
(#PCDATA)

>> new content rule >>

------------------------------------------------------------
<LI>

<< old content rule <<
EMPTY

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i|p|ul|ol|dir|
menu|dl|pre|xmp|listing|blockquote|form|isindex)*

------------------------------------------------------------
<MENU>

<< old content rule <<
(a|#PCDATA|img|em|tt|strong|b|i|U|code|samp|kbd|KEY|var|DFN|cite|li)+

>> new content rule >>
(li)+
-(p|ul|ol|dir|menu|dl|pre|xmp|listing|blockquote|form|isindex)

------------------------------------------------------------
<OL>

<< old content rule <<
(a|#PCDATA|img|em|tt|strong|b|i|U|code|samp|kbd|KEY|var|DFN|cite|li|p)+

>> new content rule >>
(li)+

------------------------------------------------------------
<P>

<< old content rule <<
EMPTY

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i)+

------------------------------------------------------------
<PLAINTEXT>

<< old content rule <<
EMPTY

>> new content rule >>
CDATA

------------------------------------------------------------
<PRE>

<< old content rule <<
(#PCDATA|em|tt|strong|b|i|U|code|samp|kbd|KEY|var|DFN|cite|a|p)+

>> new content rule >>
(#PCDATA|a|hr|br|tt|b|i|em|strong|code|samp|kbd|var|cite)+

------------------------------------------------------------
<SAMP>

<< old content rule <<
(#PCDATA)

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i)+

------------------------------------------------------------
<STRONG>

<< old content rule <<
(#PCDATA)

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i)+

------------------------------------------------------------
<TITLE>

<< old content rule <<
RCDATA

>> new content rule >>
(#PCDATA)

------------------------------------------------------------
<TT>

<< old content rule <<
(#PCDATA)

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i)+

------------------------------------------------------------
<U>

<< old content rule <<
(#PCDATA)

>> new content rule >>

------------------------------------------------------------
<UL>

<< old content rule <<
(a|#PCDATA|img|em|tt|strong|b|i|U|code|samp|kbd|KEY|var|DFN|cite|li|p)+

>> new content rule >>
(li)+

------------------------------------------------------------
<VAR>

<< old content rule <<
(#PCDATA)

>> new content rule >>
(#PCDATA|a|img|br|em|strong|code|samp|kbd|var|cite|tt|b|i)+