Subject: Re: Need help OR'ing in XPATH.
From: Glen Mazza <grm7793@xxxxxxxxxxx>
Date: Wed, 22 Mar 2006 07:24:51 -0500
|
-------- Mensaje original --------
Asunto: Re: Need help OR'ing in XPATH.
Fecha: Wed, 22 Mar 2006 14:25:38 +0530
De: Mukul Gandhi <gandhi.mukul@xxxxxxxxx>
Responder a:: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Para: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Referencias: <4420F165.2070309@xxxxxxxxxxx>
Please try this
<xsl:apply-templates select="book[(owner = 'aaa') or (chapter/owner =
'aaa')]" />
That solved it, thanks Mukul (and Michael).
Glen
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>
|