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

Re: [xsl] trouble with preceding axis


Subject: Re: [xsl] trouble with preceding axis
From: Duane Gran <duane.gran@xxxxxxxxx>
Date: Tue, 3 Jan 2006 16:19:53 -0500

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
Keywords