Re: [xsl] Need help OR'ing in XPATH.

Subject: Re: [xsl] Need help OR'ing in XPATH.
From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx>
Date: Wed, 22 Mar 2006 14:25:38 +0530
Please try this

<xsl:apply-templates select="book[(owner = 'aaa') or (chapter/owner =
'aaa')]" />

Regards,
Mukul

On 3/22/06, Glen Mazza <grm7793@xxxxxxxxxxx> wrote:
> Hello,
>
> For my contrived example below, I would like to select all book nodes
> whose owner is "aaa" *or* which have a chapter whose owner is "aaa", and
> I would like the books to be retrieved in the same general order as the
> xml document, i.e., the query for the example below would process books
> with id's 1, 3, 4 (in that order), not 1, 4, 3.
>
> I can do the XPATH for *either* of the two cases, but don't know how to
> combine the two for an OR search in my xsl:apply-templates select
statement.
>
> <xsl:a-t select="book[owner='aaa'] or book/chapter[owner='aaa']"/>
>
> is kind of what I want, but Xalan is complaining that my select
> attribute is just returning a boolean, so my syntax is apparently wrong.
>
> Any help would be much appreciated.
>
> Thanks,
> Glen
>
>
> <book id="1">
>     <owner>aaa</owner>
>     <chapter>
>         <owner>bbb</owner>
>     </chapter>
>     <chapter>
>         <owner>ccc</owner>
>     </chapter>
> </book>
> <book id="2">
>     <owner>bbb</owner>
>     <chapter>
>         <owner>bbb</owner>
>     </chapter>
>     <chapter>
>         <owner>ccc</owner>
>     </chapter>
> </book>
> <book id="3">
>     <owner>ccc</owner>
>     <chapter>
>         <owner>aaa</owner>
>     </chapter>
>     <chapter>
>         <owner>ccc</owner>
>     </chapter>
> </book>
> <book id="4">
>     <owner>aaa</owner>
>     <chapter>
>         <owner>bbb</owner>
>     </chapter>
>     <chapter>
>         <owner>ccc</owner>
>     </chapter>
> </book>

Current Thread