Skip to main content.
home | support | download

Back to List Archive

Re: Ampersands are being converted

From: Terry Gliedt <tpg(at)not-real.umich.edu>
Date: Tue Sep 21 2004 - 13:01:22 GMT
Bill Moseley wrote:
> On Mon, Sep 20, 2004 at 01:32:22PM -0700, Terry Gliedt wrote:
> 
>>Using swish-e-2.4.2 as well as swish-e-2.5.2-2004-09-16, it appears to 
>>me that swish is building incomplete URLs as you can see in this 
>>fragment of HTML taken from the HTML generated as a result of a simple 
>>query.
>>
>>I was surprised with the use of a character entity before 'start=' in 
>>the URL, but that actually works (see URL for 'Next 15').
> 
> 
> I'm not exactly following what you are saying.
> 
> You mean you think that & should not be escaped in a href?
> 
> I don't want to seek out that reference, so I'll use tidy to support
> that they need to be written as &amp; -- also if it's not escaped then
> is &start an unterminated entity "&start;" ?
> 
> moseley(at)not-real.bumby:~$ echo '<a href="http://foo/path?bar=1&foo=2">link</a>' | tidy 2>/dev/null | grep foo
> <a href="http://foo/path?bar=1&amp;foo=2">link</a>

For many years I've always written URLs which invoke a script like this:
	http://foo/path?bar=1&foo=2

So when I saw that swish-e did
	/pubcgi/swish.cgi?query=peggy&amp;start=15

I was surprised at &amp;.  I had expected to see & instead of &amp;. 
The char entity isn't needed of course, since the href value is not 
rendered visible in the page.

Anyway, &amp; works in a URL to my surprise.

>>The use= key/value is not being used with the other links, so swish 
>>attempts to use the default database (which does not exist) and I get an 
>>error for the query.
> 
> 
> Still not sure what you mean.

See the 'Next 15' link. It contains 'use=fusion', but the other links to 
pages do not. So when I click on '2', the link fails because swish.cgi 
is looking for the default datebase (default.index). But the script did 
know enough to specify the use= keyword for 'Next 15'.

What surprises me here is that this works for anyone. The swish.cgi I am 
using is from the example directory in the source with conf changes 
only, no code changes.

I figured this must have already been fixed by others, hence the post. 
If not, I'll sort it out eventually.


>><tr><td colspan="2" bgcolor="#EEEEEE"><font size="-1" face="Geneva,
>>   Arial, Helvetica, San-Serif">&nbsp;Page:</font>1
>>   <a href="/pubcgi/swish.cgi?query=peggy&amp;start=15">2</a>
>>   <a href="/pubcgi/swish.cgi?query=peggy&amp;start=30">3</a>
>>   <a href="/pubcgi/swish.cgi?query=peggy&amp;start=45">4</a>
>>   <a href="/pubcgi/swish.cgi?query=peggy&amp;start=60">5</a>
>>   <a href="/pubcgi/swish.cgi?query=peggy&use=fusion&amp;start=15">
>>     Next 15</a></td></tr>
> 
> 
> That &use=fusion is really invalid, but I don't know of a browser that
> would have problem with it.
> 
> 
>>Anyone else see this? Or have a fix/circumvention? TIA
> 
> 
> Can you explain again what's not working?  I just got back from a long
> lunch and maybe I'm not thinking clearly.
> 


-- 
=============================================================
Terry Gliedt     tpg(at)not-real.umich.edu       http://www.hps.com/~tpg/
Biostatistics, Univ of Michigan  Personal Email:  tpg@hps.com
Received on Tue Sep 21 06:02:55 2004