Subject: Re: 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>
|