Re: META

Eric Bina (ebina@netscape.com)
Tue, 4 Jul 95 13:00:53 EDT

> The question is really whether we are stuck forever with certain broken
> behaviors of the most popular present browsers, or whether we can
> modify HTML to make it more flexible by allowing content in tags in
> HEAD; not whether we can define all the needed elements for meta.
> We can't do the latter; it is not apparent yet from discussion whether
> we can do the former.

I would LOVE to make Netscape ignore content in the HEAD if someone
could show me a way to do it without breaking tons of current documents
and without breaking LEGAL HTML documents. Here is the killer message
from Dan last time this issue came up:

----- 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