[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

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

Subject: RE: How to select either ElementA -OR- ElementB in an axis
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Wed, 15 Jun 2005 22:45:32 +0100
RE:  How to select either ElementA -OR- ElementB in an
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@xxxxxxxxx] 
> Sent: 15 June 2005 19:35
> To: xslt
> Subject:  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!

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.