xsl-list
[Top] [All Lists]

RE: How to select either ElementA -OR- ElementB in an axis

2005-06-15 14:45:32
As an alternative to the solutions you've been given, in 2.0 you can write

select="((ancestor::ElementA|ancestor::ElementB)[last()])/foo/bar"

Note the [last()] rather than [1], because the result of a union is in
document order. Because of this, the ancestor::*[self::A|self::B][1]
approach might well be more efficient.

Michael Kay
http://www.saxonica.com/ 

-----Original Message-----
From: chris [mailto:oneskiingfool(_at_)gmail(_dot_)com] 
Sent: 15 June 2005 19:35
To: xslt
Subject: [xsl] How to select either ElementA -OR- ElementB in an axis

Hello,
This has me stumped.  I want to do something simple like this (I'll
keep it short as I think it's self-explanatory)....

<xsl:variable name="myvar" select="ancestor::(ElementA or 
ElementB)/foo/bar"/>

... where either ElementA or ElementB is selected, whichever is first.

Any ideas?   I'm using XPath 2.0

Thanks!

--~------------------------------------------------------------------
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>
--~--