xsl-list
[Top] [All Lists]

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

2006-03-22 01:55:59
Please try this

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

Regards,
Mukul

On 3/22/06, Glen Mazza <grm7793(_at_)verizon(_dot_)net> 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>

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--