On Wed, Nov 12, 2003 at 05:33:06PM -0800, David Wood wrote:
> In moving from swish-e version 2.1 to 2.4.0-pr4, I noticed a slight change
> in how -x behaves. In this example:
>
> -x
> \'<swishrank>\"<swishdocpath>\"<swishtitle>\"<swishdocsize>\"<swishlastmodified
> fmt=\"%m/%d/%Y\">\n\'
>
> double quote chars are serving as field separators. This was a good choice
> with swish-e version 2.1, because if any of the actual data contained
> double quote chars, they got swapped to single quote chars. It looks like
> 2.4 doesn't do this anymore; is that right?
I don't remember it doing that. I also can't find 2.1 on the swish-e
web site, so I downloaded 2.2 and it doesn't do that.
moseley@laptop:~/swish-e-2.2$ ls file*
filewith"quotes
moseley@laptop:~/swish-e-2.2$ swish-e -w not dsakskj -x '"<swishdocpath>"\n' -H0
"filewith"quotes"
Before there was -x there was a hard-coded output generation and that I
believe used to print " if a double-quote was found. At some point
after -x feature was added I replaced that code with just a default -x
pattern to match the old non -x output. But that doesn't replace " with
" -- swish-e doesn't know that it's output will be HTML so it
shouldn't be writing entities.
> If so, is there another good
> solution out there to the timeless problem of "pick a field separator that
> won't show up in your data"?
What about \t? Or multiple chars
<swishrank>::<swishdocpath>
Use SWISH::API if you don't want to worry about delimiters.
--
Bill Moseley
moseley@hank.org
Received on Thu Nov 13 06:54:25 2003