ancestor::flower[(_at_)type!='tulip']
The trouble with that is that it selects every flower node whose type
attribute does not contain 'tulip on the entire axis. If there's more than
one non-tulip flower node up the ancestor axis, this expression will get all
of them, which will either generate errors or lead to unexpected results. It
needs the position predicate ([1]) to get the first ancestor node (which is
the most immediate node on the axis).
So, it needs to be
ancestor::flower[1]/@type
Jay Bryant
Bryant Communication Services
----- Original Message -----
From: "Thang X. Le" <tle(_at_)neptium(_dot_)com>
To: <xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com>
Sent: Friday, January 27, 2006 5:57 PM
Subject: Re: [xsl] Selecting attribute from previous parent node
If your current node is: row//basket/flower[(_at_)type='tulip']
Then the previous non-tulip flower node is:
ancestor::flower[(_at_)type!='tulip']
And you can get (print) the previous flower type like this:
<xsl:apply-templates select="ancestor::flower[(_at_)type!='tulip']"/>
<xsl:template match="flower">
<xsl:value-of select="@type"/>
</xsl:template>
Or maybe I don't quite understand the requirements...
On 27 Jan 2006 at 17:28, Andrea Berman wrote:
It's Friday! Please, have pity upon me and save my sanity!
Say I have the following style of XML:
<row>
<basket>
<flower type="rose">
<basket>
<flower type="tulip">
<basket>
...
</basket>
</flower>
</basket>
</flower>
</basket>
</row>
If I'm at node "flower" with type of "tulip", how do I reference the
previous flower's type?
Thanks!
--~------------------------------------------------------------------
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> --~--
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--