Subject: RE: Selecting attribute from previous parent node
From: "bokluk" <bokluk@xxxxxxx>
Date: Mon, 30 Jan 2006 16:45:27 +0100
|
../@atributename ?
-----Original Message-----
From: Andrea Berman [mailto:andrea.berman@xxxxxxxxx]
Sent: Monday, January 30, 2006 3:18 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: Selecting attribute from previous parent node
I really did try. I'm trying to establish a parent-child
relationship. I tried using ancestor in one instance, and it got the
top node for the whole tree instead of the previous node for each
instance.
On 1/28/06, Michael Kay <mike@xxxxxxxxxxxx> wrote:
> > That's great for non-dynamic code, but this code is dynamic. So how
> > would you reference it as not being equal to the current node?
>
> ancestor::flower[not(@type = current()/@type)]
>
> (this is turning into one of those threads where every time you get an
> answer, you change the question. Perhaps you need to think more carefully
> about how to articulate your requirements.)
>
> Michael Kay
> http://www.saxonica.com/
>
>
> >
> > I'm basically looking to obtain the previous type for each flower node
> > you're at. Think of it like a parent-child relationship. If the
> > parent of tulip is rose, I want to be able to obtain the value of
> > rose.
> >
> > On 1/27/06, Thang X. Le <tle@xxxxxxxxxxx> wrote:
> > > If your current node is: row//basket/flower[@type='tulip']
> > >
> > > Then the previous non-tulip flower node is:
> > > ancestor::flower[@type!='tulip']
> > >
> > > And you can get (print) the previous flower type like this:
> > > <xsl:apply-templates select="ancestor::flower[@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!
|