[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Selecting attribute from previous parent node

Subject: Re: Selecting attribute from previous parent node
From: "Jay Bryant" <jay@xxxxxxxxxxxx>
Date: Fri, 27 Jan 2006 21:58:00 -0600
tulip flower
>ancestor::flower[@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@xxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Friday, January 27, 2006 5:57 PM
Subject: Re:  Selecting attribute from previous parent node


> 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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.