Re: Body start tag.
Paul Prescod (papresco@technologist.com)
Wed, 16 Jul 1997 08:53:16 -0500
Message-ID: <33CCC43C.2986379F@technologist.com>
Date: Wed, 16 Jul 1997 08:53:16 -0500
From: Paul Prescod <papresco@technologist.com>
To: www-html@w3.org
Subject: Re: Body start tag.
E. Stephen Mack wrote:
> It comes as a shock to me. Why then does global.html say:
>
> > <!ELEMENT BODY O O (%block) -(BODY) +(INS|DEL)>
> > Start tag: optional, End tag: optional
> ^^^^^^^^^^^^^^^^^^^
> Here the start tag is declared to be optional.
It is either:
a) just a mistake.
b) non-intuitive but correct: If there *were* a case where <BODY> was
*required* then it would be optional
> The HTML element must contain a HEAD element, plus either
> a FRAMESET elment or a BODY element. However, the FRAMESET's
> start tag is required. Shouldn't the presence of PCDATA
> imply the BODY element's beginning? If there's no explicit
> <FRAMESET> and no explicit <BODY>, PCDATA should imply the
> presence of the optional <BODY> start tag.
SGML parsers are not required to do a depth-first search of the DTD.
SGML simply has a few simple rules for allowing tags to be left off. One
of them is that if an element is *contextually required* and is declared
to have omissable start tags, then the tags can be left off.
> Am I wrong? Is the KGV in error here, or does the HTML 4.0 DTD
> really now *require* that the <BODY> tag be present?
The latter. FRAMESET is badly designed.
Paul Prescod