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

RE: trouble with preceding axis

Subject: RE: trouble with preceding axis
From: "Xia Li" <xli@xxxxxxxxxxxxx>
Date: Tue, 3 Jan 2006 15:43:33 -0800
xpath preceding axis
You might select the nearest preceding sibling like this,

        <xsl:for-each select="/root/orange/preceding-sibling::*">
            <xsl:if test="position() = last()">
                <xsl:value-of select="name(.)"/>
                 ...
            </xsl:if>
        </xsl:for-each>


Hope this is what you want.

Lisa


-----Original Message-----
From: Duane Gran [mailto:duane.gran@xxxxxxxxx]
Sent: Tuesday, January 03, 2006 1:20 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re:  trouble with preceding axis

Lisa,

Thank you very much.  If you don't mind, I've run into another issue
today with referencing the preceding element.  Here is an example:

<root>
   <apple/>
   <pear/>
   <orange/>
</root>

Given an xpath to orange (/root/orange) I want to reference the
previous element which is a peer.  I tried the following with no
success:

   /root/preceding::orange

I'm sure this is dreadfully simple, but I'm drawing a blank and I'm
not seeing the answer in the tutorials I'm reading.

Duane

On Jan 3, 2006, at 2:52 PM, Xia Li wrote:

> If you want to select the preceding <item> element of the <item>
> element
> whose child <label> element satisfies the predicate [label =
> 'subTitle'], you might try the following XPath expression,
>
> //item[label = 'subTitle']/preceding::item
>
> Lisa
>
>
> -----Original Message-----
> From: Duane Gran [mailto:duane.gran@xxxxxxxxx]
> Sent: Tuesday, January 03, 2006 10:35 AM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject:  trouble with preceding axis
>
> I'm having some trouble using the preceding axis in XPath and would
> be much obliged if someone could steer me in the right direction.  I
> have the following document:
>
> <root>
>    <item order="3">
>      <label>Title</label>
>    </item>
>    <item order="4">
>      <label>subTitle</label>
>    </item>
> </root>
>
> I have the following XPath to select the second item, based on the
> value of its label child:
>
>    //item[label = 'subTitle']
>
> Now I want to modify this so that I refer to the preceding item
> element, the first one in the list.  I tried the following without
> success (it returns the second item element):
>
>    //preceding::item[label = 'subTitle']
>
> Suggestions are most welcome on this.
>
> Duane

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.