Re: HTML 3.2 Content Models

Dianne Gorman (
Sat, 11 May 1996 02:08:30 +1000

Message-Id: <>
From: "Dianne Gorman" <>
Date: Sat, 11 May 1996 02:08:30 +1000
Subject: Re: HTML 3.2 Content Models
Cc: "Daniel W. Connolly" <>

Yesterday I commented very vaguely  (sorry) on a couple of problems
in the HTML 3.2 DTD.  I'm more precise this time:

1. Forms

HTML Features at a Glance at states " INPUT, SELECT and
TEXTAREA are only allowed within FORM elements. "  But according to 
the DTD, these are merely text-level tags which are in no way 
confined to the FORM element:

<!ELEMENT FORM - - %body.content -(FORM)>

<!ENTITY % text "#PCDATA | %font | %phrase | %special | %form">

The HTML 2.0 DTD has:

Is there a logical reason for INPUT|SELECT|TEXTAREA being moved to
%text in the HTML 3.2 DTD?

2.  <!ELEMENT (DIR|MENU) - -  (LI)* -(%block)>

How can you exclude %block from the LI element?  

In, for example:

<!ELEMENT PRE - - (%text)* -(%pre.exclusion)>
<!ENTITY % pre.exclusion "IMG|BIG|SMALL|SUB|SUP|FONT">

it is clear that the PRE element can contain all the elements in %text 
except those in %pre.exclusion.

But DIR and MENU can contain LI elements. There are no %block 
elements to exclude, so (LI)* -(%block) is surely meaningless?

3.  Murray Altheim has confirmed that PLAINTEXT is outside HTML (it
is in the DTD but has no parent element).  Can a DTD for HTML
contain elements that are outside HTML (I don't think the fact that
PLAINTEXT is severely deprecated is relevant to this question)?


On  9 May 96 at 3:50, I wrote:

> I have constructed hierarchical trees of the content models in the
> html 3.2 dtd.  if you are
> interested.
> These are done by hand, so be gentle if you find errors.
> A couple of notes:
> PLAINTEXT appears to be an orphan - it is in the preformatted text
> section of the DTD, but it doesn't seem to be in the content models
> anywhere
> Can anyone tell me what is meant by the exclusion exception in:
> <!ELEMENT (DIR|MENU) - -  (LI)* -(%block)>
> The content models for forms seem strange to me.  There is nothing
> to associate INPUT | SELECT | TEXTAREA with FORM.  Is this right?
Dianne Gorman - Sydney, Australia