Re: Body start tag.
E. Stephen Mack (estephen@emf.net)
Wed, 16 Jul 1997 00:05:58 -0700
Message-Id: <3.0.3.32.19970716000558.0078a9a8@emf.net>
Date: Wed, 16 Jul 1997 00:05:58 -0700
To: Paul Prescod <papresco@technologist.com>, www-html@w3.org
From: "E. Stephen Mack" <estephen@emf.net>
Subject: Re: Body start tag.
In-Reply-To: <33CC29E4.D46A2607@technologist.com>
>Russell Steven Shawn O'Connor wrote:
>> I thought the begining of #PCDATA would imply the BODY start tag.
At 09:54 PM 7/15/97 -0500, Paul Prescod wrote:
>Only if BODY is required. In HTML 4.0, it isn't: there could be a
>FRAMESET instead. This will come as a shock to HTML authors.
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.
But, Russell is right, the KGV certainly won't validate
a non-FRAMESET document that doesn't contain a <BODY> tag.
Paul's argument is that given the definition of
the HTML element:
> <!ENTITY % html.content "HEAD, (FRAMESET|BODY)">
> <!ELEMENT HTML O O (%html.content)>
> Start tag: optional, End tag: 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.
In other words, a user agent already knows that the FRAMESET
element is not present because the *required* <FRAMESET> tag
wasn't placed before the PCDATA. Therefore the *optional*
<BODY> tag can be inferred.
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?
--
E. Stephen Mack <estephen@emf.net> http://www.emf.net/~estephen/