At 2009-04-23 14:01 -0400, Hintz, David L wrote:
I have a structure like this:
I need to ensure that each <a2> has a preceding <a1>, although there
may be intervening tags.
This description is a bit imprecise ... do you need them paired, or
will any <a1> before an <a2> suffice?
I ask because in the example you have every <a2> has a preceding
<a1>, some with intervening tags and some without.
But it isn't true that every <a2> has a preceding <a1> that follows
any preceding <a2>.
I know that
gives me the name of the first preceding sibling, but how do I
construct a test that gives me only the first preceding <a1> or <a2> tag?
You shouldn't be working with name() because that deals with strings
and not expanded node names in a namespace-safe fashion.
The test that there is any <a1> before the current node being <a2> is:
The test that there is an <a1> correspondingly before every <a2> is
approached more easily with XSLT 2 grouping from the parent of those siblings:
Error! No corresponding a1 for the given a2
I hope this helps.
. . . . . . . . . . . . Ken
XSLT/XSL-FO/XQuery hands-on training - Los Angeles, USA 2009-06-08
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson: http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview: http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Crane Softwrights Ltd. http://www.CraneSoftwrights.com/s/
Male Cancer Awareness Nov'07 http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers: http://www.CraneSoftwrights.com/legal
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>