[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Representing '&' in URLs

  • From: Chris Maden <crism@o...>
  • To: xml-dev@i...
  • Date: Fri, 22 Jan 1999 14:17:14 -0500 (EST)

xml amp
[Robin Cover]
> This makes the syntax valid, but unfortunately, only a few Web
> servers will be able to handle this notation.  The same engineers
> (apparently) who have designed the software to generate the
> malformed URLs have also designed the servers to grok ONLY raw
> (unescaped) ampersand.  For the notation you have offered, most
> processors will choke.  So, as a document author attempting to
> compose valid HTML/XML with links of this kind - you're hosed.

The problem isn't servers, it's browsers.  The browser should come
across the markup:

   href="http://ee.org/%7Euser/cgi/ohm.pl?volt=7&amp;amp=3"

and extract the parsed value

   http://ee.org/%7Euser/cgi/ohm.pl?volt=7&amp=3

which is then interpreted by the browser:

   Get '/%7Euser/cgi/ohm.pl?volt=7&amp=3' from ee.org port 80.

The server interprets the requested file, and resolves hex encodings:

   Run '/~user/cgi/ohm.pl' with QUERY_STRING set to 'volt=7&amp=3'.

The CGI script parses the QUERY_STRING:

   'volt' is '7'; 'amp' is '3'.

The CGI script should be able to deal with the recommended semicolons
as well as the deprecated ampersands ('volt=7;amp=3').

Where the problem occurs is that, until Netscape 3 or so, entity
references were never resolved in attribute values.  This meant you
couldn't do <IMG ALT="--&gt;">.  (You couldn't have a raw > in older
versions of Netscape because it would end the attribute value there,
despite the quotes.)  So Netscape applied their entity recognition
algorithm:

   '&' known-entity-name ';'?  

to attribute values.  Netscape will render '&ltri;' as '<ri;' and the
same thing happens in attribute values.  The markup:

   href="http://ee.org/%7Euser/cgi/ohm.pl?amp=3&volt=7"

will pass without alteration, but the markup:

   href="http://ee.org/%7Euser/cgi/ohm.pl?volt=7&amp=3"

will be parsed as

   http://ee.org/%7Euser/cgi/ohm.pl?volt=7&=3

Oh, well.  The HTML 2.0 RFC, published over two years ago and in draft
for nearly a year before that, recommended using semicolons instead of
ampersands for separating parameters, but most CGI scripts don't
implement that, so only Lynx has implemented it in the browser, and
then only if the ENCTYPE attribute on the <FORM> is some proprietary
string.

Please pardon my ranting.

-Chris
-- 
<!NOTATION SGML.Geek PUBLIC "-//Anonymous//NOTATION SGML Geek//EN">
<!ENTITY crism PUBLIC "-//O'Reilly//NONSGML Christopher R. Maden//EN"
"<URL>http://www.oreilly.com/people/staff/crism/ <TEL>+1.617.499.7487
<USMAIL>90 Sherman Street, Cambridge, MA 02140 USA" NDATA SGML.Geek>

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i...
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo@i... the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@i... the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@i...)


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.