There is currently no overlap between the allowable contents of HEAD
and BODY. The case given below merely proves the point. Once you
hit something not allowed in HEAD (the free text "abc") you're in
BODY.
| ----- included message ------
|
| Date: Thu, 4 May 95 04:26:10 EDT
| Reply-To: connolly@w3.org
| Originator: html-wg@oclc.org
| Sender: html-wg@oclc.org
| Precedence: bulk
| From: connolly@w3.org (Dan Connolly)
| To: Multiple recipients of list <html-wg@oclc.org>
| Subject: Re: Suppressed content in HEAD: myth or reality?
| X-Comment: HTML Working Group
|
| Brian Behlendorf writes:
| > >
| > > Any good suggestions on what to do when the user opens a <HEAD> and forgets to
| > > close it?
| >
| > Put up a big red dialog box that says "BAD HTML", with an explanation
| > "Apparently you forgot to check your <HEAD>..." Etc.
|
| Well.. not quite. According to the current DTD, </HEAD> is completely
| optional. An SGML parser infers it at the right place. Of course SGML
| parsers choke badly on uknown tags.
|
| Quick Quiz: Is the following legal? Is abc in HEAD or BODY?
|
| Input
|
| 1. <!-- select doctype above... -->
| 2. <HEAD>
| 3. <TITLE><!-- your title here --></TITLE>
| 4.
| 5. abc
| 6. <!-- your HTML test data -->
| 7. </BODY>
| 8.
|
|
| Ye ole validation service at
|
| http://www.halsoft.com/html-val-svc/
|
| says:
|
| Bing! It's legal, and abc is in BODY:
|
| Parsed Output (Element Structure Information Set)
|
| AVERSION CDATA -//IETF//DTD HTML//EN//2.0
| (HTML
| (HEAD
| (TITLE
| )TITLE
| )HEAD
| (BODY
| -abc\n\n
| )BODY
| )HTML
| C
|
| ------ end included message ------
|
| What this message means to me is if an unknown HEAD tag with content is
| encountered, the unknown tag will be ignored, and the content will force
| an assumed beginning of the body because </HEAD> is optional. Needless
| to say, this is bad.
| Eric
That does not follow. It's only when you hit something you know should
be in BODY that you can be sure HEAD is finished (in a conforming doc).
"abc" is something (PCDATA) already accounted for in the DTD.
Regards,
-- Terry Allen (terry@ora.com)