Re: [xsl] Avoiding multiple "apply-templates" by creating one variable for the clauses. Is it possible?

Subject: Re: [xsl] Avoiding multiple "apply-templates" by creating one variable for the clauses. Is it possible?
From: Vyacheslav Sedov <vyacheslav.sedov@xxxxxxxxx>
Date: Thu, 20 Aug 2009 17:45:38 +0400
what about //blog[not($AuthorId) or (author_id =
$AuthorId)][not($CategoryId) or (category_id = $CategoryId)]

On Thu, Aug 20, 2009 at 5:01 PM, Martin Honnen<Martin.Honnen@xxxxxx> wrote:
> Kate Busch-Petersen wrote:
>>
>> Thanks Andrew, that looks exactly like what I'm looking for, but I get a
>> big ole error:
>>
>> Expected token ')', found ','.
>> //blog[author_id = ($AuthorId -->,<--  author_id)[1]][category_id = ($...
>>
>> Any ideas?
>
> Is that an XSLT 1.0 processor giving that error?
>
>> I'm not sure what ($AuthorId, author_id) is meant to do?
>
> In XSLT 2.0 it is simply a sequence consisting of $AuthorId and author_id.
> The trailing [1] then takes the first item in that sequence thus if
> $AuthorId is not the empty sequence then author_id is compared to the value
> of (the first item) $AuthorId and if it the empty sequence then it is
> compared to author_id itself which is always true, basically not doing any
> filtering at all.
>
>
> --
>
>        Martin Honnen
>        http://msmvps.com/blogs/martin_honnen/

Current Thread