At 2002-11-05 00:07 +0000, Peter Flynn wrote:
What if I want to get the closest of some possible (specific) subset of
ancestors? eg (this is Docbook, let us say the current node is an <xref>
in a <para> at some depth within one of the following):
<xsl:variable name="anchor"
select="ancestor::sidebar |
ancestor::warning |
ancestor::note |
ancestor::orderedlist |
ancestor::itemizedlist |
ancestor::variablelist |
ancestor::varlistentry |
ancestor::listitem |
ancestor::procedure |
ancestor::step |
ancestor::footnote"/>
Use "( union|of|ancestors|goes|here )[last()]" because a predicate can be
added to the bracketed specification of a set of nodes. What I've proposed
obtains the last in document order, which would be the closest ancestor.
I hope this helps, Peter.
......... Ken
--
G. Ken Holman mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
Box 266, Kars, Ontario CANADA K0A-2E0 +1(613)489-0999 (F:-0995)
ISBN 0-13-065196-6 Definitive XSLT and XPath
ISBN 0-13-140374-5 Definitive XSL-FO
ISBN 1-894049-08-X Practical Transformation Using XSLT and XPath
ISBN 1-894049-10-1 Practical Formatting Using XSL-FO
Next public training: 2002-12-08,2003-02-03,06,03-03,06
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list