Subject: RE: [xsl] How to select either ElementA -OR- ElementB in an axis From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Wed, 15 Jun 2005 22:45:32 +0100 |
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: [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!
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to select either Elem, Aron Bock | Thread | [xsl] Can a named template return a, John |
RE: [xsl] Opening a document on a s, Michael Kay | Date | RE: [xsl] Opening a document on a s, JBryant |
Month |