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 |