[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: self::x:* in XPath 2.0
Just write if ($e/self::x:*) or if you prefer if ($e[self::x:*]) Michael Kay > -----Original Message----- > From: ben.pickering@xxxxxxxxxxxxxxxx > [mailto:ben.pickering@xxxxxxxxxxxxxxxx] > Sent: 13 July 2004 13:55 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: self::x:* in XPath 2.0 > > Hi > > If I had a sequence of nodes, some in the default namespace, > and some in > an 'x' namespace, say: > > <x:a/><b/><x:c/><d/> > > In XSLT 1.x, I was doing something like: > > <xsl:for-each select="*"> > <xsl:choose> > <xsl:when test="self::x:*">in<xsl:when/> > <xsl:otherwise>out</xsl:otherwise> > </xsl:choose> > </xsl:for-each> > <xsl:text> shake it all about</xsl:text> > > To get results looking like: > > in out in out shake it all about > > I'd like to be able to do the same test for an element being > in 'x' using > the XPath 2.0 syntax in SAXON 8, something like: > > for $e in * return > if ($e is-in-namespace('x')) then > 'in' > else > 'out' > > How do I do this? I can't see any way of using the self::x > syntax with $e > as I did before... > > Cheers, > Ben
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|