- From: E. Stephen Mack <estephen@emf.net>
- Date: Wed, 16 Jul 1997 00:05:58 -0700
- To: Paul Prescod <papresco@technologist.com>, www-html@w3.org
>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/
Received on Wednesday, 16 July 1997 03:04:56 UTC