[ic] interchange html4 validation problems

Mike Heins interchange-users@lists.akopia.com
Thu Jun 7 12:20:00 2001


Quoting Murray Gibbins (Murray@scotweb.ltd.uk):
> Mike Heins wrote:
> 
> > If you can explain why that is not valid HTML4, perhaps then we can explain
> > why it is generated that way. Until then, quit accusing.
> 
> wellllll, first W3C HTML Validation Service said this....
> 
> ----snip
> 
> Below are the results of attempting to parse this document with an SGML parser. 
> 
>        Line 27, column 64: 
> 
>          ... eb.ltd.uk/carn/catalog?id=HTFrVqjK&mv_pc=1"><img src="/shopp ...
>                                                 ^
> 
>        Error: unknown entity "mv_pc" (explanation...)
> 
> ----snip
> 
> and this at http://validator.w3.org/docs/errors.html#bad-entity
> 
> ----snip
> 
> general entity `FOO' not defined and no default entity" 
> 
> The Validator has found an entity (something like &this;) that it doesn't
> recognize. There are a few possibilities: 
> 
> .....
> A URL for a CGI program that uses `&' as a separator, such as
> "http://host/prog?x=1&y=2". This is a common problem: the inventors of CGI
> didn't think things through very carefully when they decided to use the '&'
> character as a separator between CGI arguments, because '&' has special status
> in HTML. One way to get around this is for the author of the CGI program to use
> a different value between arguments, like ';' or '|', which would allow the link
> to be coded as <img src="http://site/cgi?opt1=val1;opt2=val2"> or whatever. 
> 
>    Please contact the maintainer of the CGI program you are linking to, and ask
> them to use a different character for their separator. (Normally this is
> extremely easy to add to the CGI program; multiple characters can also be used
> so existing links using the '&' character will still work.) 
> 
>  There is also a simple workaround described at
> <URL:http://www.htmlhelp.com/tools/validator/problems.html#amp>.
>  Simply encode all your &'s as &amp; in attribute values. 
> 
> ----snip
> 
> --------------
> 

Virtually every existing CGI program uses ampersand to separate parameters,
as that was defined in the original CGI spec.

This is actually quite absurd of the HTML4 validation suite.
It of course doesn't have anything to do with mv_pc=.... -- it would
apply to any URL generated by Interchange -- or Google -- or just
about anyone. So in order to comply with their validation suite, they
are saying that the thousands of existing CGI programs should be modified --
instead of building in a switch which says "ignore this".

We won't be complying with HTML 4 in this way any time soon. If ever.

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

People who want to share their religious views with you
almost never want you to share yours with them. -- Dave Barry