|
Subject: RE: [xsl] trouble with preceding axis From: "Xia Li" <xli@xxxxxxxxxxxxx> Date: Tue, 3 Jan 2006 15:43:33 -0800 |
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: [xsl] 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: [xsl] 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 |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] trouble with preceding ax, Jon Gorman | Thread | Re: [xsl] trouble with preceding ax, Duane Gran |
| Re: [xsl] trouble with preceding ax, Duane Gran | Date | Re: [xsl] trouble with preceding ax, Duane Gran |
| Month |