RE: selecting the nearest preceding sibling
Hi, > OK - the node set of all the preceding siblings which > fit the criterium is given by > > preceding-sibling::tag[a] > > The nearest preceding sibling fitting the criterium is > the last one in that nodeset (the nodes are always in > document order)... that is, > > preceding-sibling::tag[a and last()] Wrong. Simple "last()" will always evaluate to a positive number, thus the above will compile to preceding-sibling::tag[a] Furthermore, nodes are always *processed* in document order, but preceding-sibling is a preceding axis and preceding-sibling::tag[a and position() = last()] will select the first node in document order. You can use (preceding-sibling::tag[a])[position() = last()] and then you'd get the first preceding sibling. Evan Lenz wrote an article about this stuff <http://www.biglist.com/lists/xsl-list/archives/200201/msg00108.html>. Cheers, Jarno - neuroticfish: wakemeup! (club-edit) XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format