Re: Flagging & in URL in HTML 4.01 transitional type.

> On 1:12 PM 6/8/01 Lloyd Wood <l.wood@eim.surrey.ac.uk> wrote:
> 
> > In which case, you moan at the browser writer for not insisting on
> > the trailing semicolon of &copy;, or for trying to pass an unescaped
> > copyright symbol in a GET request.
> 
>
> Why would you moan at the browser writer for adhering to the standard? 
> The trailing ; is optional.  You may not like it (I don't like all the
> optional bits in HTML/SGML that can be inferred - better to be explicit)
> but that is the way it is.
> 

For the same reason I am moaning about this pedantic stuff. The
alternative is worse.

For whatever reason, the HTTP and CGI implementors selected & as the
parameter separator, and URL encoding as the means of escaping characters
like @ and <.  Since that practice was not gainsayed for several years,
it became common practice and thousands of programmer-hours were spent
using that practice.

When the practice of using x-www-urlencoded forms became commonplace,
this achieved the level of a defacto standard. One that the W3 has
apparently overturned to tolerate the lack of a trailing semicolon
in an HTML entity. That is quite frankly absurd.

For instance, in the archiver here at W3, the mailto: link for this
message is broken. The reason? It escapes & as &amp;, and since that
is also the URL separator it uses, the reply link to this message is
broken. URL encoding the & would have solved that. Face it, no encoding
scheme is perfect at every level unless it is standardized upon and
supported by standard software.

Since the browser must (assuming it wants to be at all usable) tolerate
the & followed by random characters as a literal when passed in an HREF,
then that should be allowed in the HTML 4.01 transitional validator. I
would have no problem with flagging it in HTML 4.01 strict.

-- 
Red Hat, Inc., 3005 Nichols Rd., Hamilton, OH  45013
phone +1.513.523.7621      <mheins@redhat.com>

Fast, reliable, cheap.  Pick two and we'll talk.  -- unknown

Received on Monday, 11 June 2001 03:30:06 UTC