Re: [xsl] in search for more elegant XPaths

Subject: Re: [xsl] in search for more elegant XPaths
From: Lars Huttar <lars_huttar@xxxxxxx>
Date: Wed, 22 Apr 2009 11:18:23 -0500
On 4/22/2009 8:47 AM, Michael Kay wrote:
>> *[string-length(normalize-space(.))&gt;0]
>
>> No need to work out the length (which can be surprisingly
>> costly for general unicode strings) you can just do
>>
>>  *[normalize-space(.)]
>>
>> as the predicate is true if teh string is non empty.
>> (Although I have a feeling saxon for example does that
>> rewrite for you anyway, so it may make no difference.)
>
> Indeed. Saxon will neither construct a string with the whitespace removed,
> nor count the characters that remain after removing them:

Impressive.

> with either
> expression it simply scans the string (or rather, its UTF16
representation)
> and returns false as soon as it hits a non-whitespace codepoint.


That should be "and returns true as soon as...", right?
Otherwise I'm confused...


On 4/22/2009 8:59 AM, Michael Kay wrote:
>> ueseful optimisations. Could it also optimise 'teh'='the' to
>> true() at the same time? It would save a lot of grief.
>>
>
> Just supply the required collation, and Saxon will do the rest.

That must be the LOLcat collation.
Hey, ever notice that 'collation' begins with an anagram of LOLcat??
Anyway, back to work...

Current Thread