[ic] interchange html4 validation problems

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


Quoting Mike Heins (mheins@redhat.com):
> > 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.

Even more absurd when you consider that every browser in the world
separates parameters in form posts with an ampersand unless you make
them do all forms as multipart. This means that every CGI program in
the world would have to detect the method and alter its parsing routines
depending on whether it was a POST or GET.

I would be very surprised if a real validation suite would flag that
for "HTML 4.01 transitional" type. Perhaps "HTML 4.01 strict", but why would
that ever be used?

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

For a successful technology, reality must take precedence over public
relations, for Nature cannot be fooled. -- Dick Feynman