Re: Standards, Work Groups, and Reality Checks: A Radical Proposal.

Benjamin Franz (snowhare@netimages.com)
Sat, 23 Sep 95 07:38:48 EDT
On Fri, 22 Sep 1995, Mike Meyer wrote:

> > <pointed-remark>You mean something like the unofficial Mozilla DTD
> > maintained at HALSoft?</pointed-remark>
> > The fact is that reasonable DTDs *have* been presented for much of the
> > stuff everyone is screaming about.
>
> Those DTDs have no more relevance than the HTML 3 DTD. The only
> specification for what is and isn't legal we have from the people who
> "proposed" the tags is a sample implementation (for which source isn't
> available). This isn't something you can use if interoperability
> actually means anything.

So all I have to do to *totally* derail the standards process is put a
new tag (or change an old one) in a popular browser and fail to file a
DTD on it? This makes the standard process rather...fragile. I would choose
to interpret Netscape's ability to process extreme (and *unpublished*)
variants as its error handling and simply use the specification they
*published* on their web pages as modified the minumal amount to make it
possible to write for SGML. width="%20" rather than width=%20 for
example. As for whether or not they have defined it clearly enough for
interoperable browsers to be written - I know of at least 4 browsers that
have implemented Netscapisms. The proof is in the pudding.

> For instance, if you try feeding:
>
> <HTML><HEAD><TITLE>Foo</TITLE><CENTER>Centered Bar</CENTER></HEAD><BODY>...
>
> to netscape, it quite happily centers "Centered Bar" at the top of the
> page. As far as I can tell, this means that CENTER is valid in the
> HEAD of a document. I'd like to know what

Well, according the standards any markup that belongs to the <BODY>
terminates <HEAD> (which is why <HEAD>/</HEAD> and <BODY>/</BODY> can be
safely omitted - their presence is inferable). So an SGML
parser would not complain about the <CENTER> - but about </HEAD> not
closing any open element:

<!DOCTYPE HTML PUBLIC "-//Netscape Comm. Corp.//DTD HTML//EN">
<html> <head> <title>test</title> <CENTER>Centered Bar</CENTER> </head> <body> </body> </html>

test.html ...
sgmls: SGML error at test.html, line 6 at ">":
HEAD end-tag ignored: doesn't end any open element (current is
BODY)
sgmls: SGML error at test.html, line 7 at ">":
Out-of-context BODY start-tag ended HTML document element (and
parse)

See?

IOW: Your code fragment is invalid because it attempts to place
%body.content inside the <HEAD> and Mozilla is actually doing the right
thing here by terminating the <HEAD>. Error recovery then places the rest
of the document in the <BODY>.

I changed your example to make it really invalid:

<html> <head> <p>Centered Bar</p> <title>test</title> </head> <body> </body> </html>

and ran it through lynx 2.4.1 (lynx is the third most popular browser).

It displays:

test

Centered Bar test

Does this mean that 'lynx' has now made the semantics of <p> and <title>
things that must be explicated by the developers of 'lynx' before they
are used in the standard? It is the same logic you are using to say that
the HALsoft Mozilla DTD can't be adopted because of error recovery
behavior.

-- 
Benjamin Franz