[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Selecting attribute from previous parent node


Subject: Re: [xsl] Selecting attribute from previous parent node
From: Andrea Berman <andrea.berman@xxxxxxxxx>
Date: Sat, 28 Jan 2006 12:15:33 -0500

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?

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!


Current Thread