Hi, Duane,
Try //item[label = 'subTitle']/preceding-sibling::item[1]
In natural language, that expression finds the item element immediately
preceding the item element whose label element has a value of 'subtitle'.
(Sometimes it helps to express things in natural language to see if that's
what you meant.)
Try not to use //, by the way. It's a very expensive expression, as it
walks down every path in the document. /root/item would be much better. Of
course, the difference is negligible in this little sample, but it makes a
whopping big difference in big documents.
Jay Bryant
Bryant Communication Services
(presently consulting at Synergistic Solution Technologies)
Duane Gran <duane(_dot_)gran(_at_)gmail(_dot_)com>
01/03/2006 12:34 PM
Please respond to
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
To
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
cc
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
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--