Did you get an answer yet?
I'm suspicious that what you want is
preceding-sibling::c[1]
Assume a document structure like the one below. The "c" and "d"
elements are at the same level inside of "b" which is inside of
"a". Currently, I can find the first "c" in the "b" that encloses
"d". But that is too far away. I want to find the closest preceding
"c" within the surrounding "b" when processing the template for
element "d".
When executing the template for "d", my current path attempt is
(ancestor::a[1]//c)[1]
But, if there is no preceding "c" in the "b" element, I'd like to
detect that, and not find a "c" in any other "b". If I use just
"preceding::c", I might find a "c" in some other "b", which I don't
want.
<a>
...
other elements
...
</a>
<a>
...
other elements
...
</a>
<a>
<b>
...
</b>
...
<b>
...
<c/> <---- My path gets this "c"
...
<c/>
...
<c/> <---- I want this "c" when processing "d"
...
<d/>
...
<c/>
...
</b>
...
<b>
...
</b>
</a>
<a>
...
other elements
...
</a>
...
--~------------------------------------------------------------------
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>
--~--