[xsl] self::x:* in XPath 2.0

Subject: [xsl] self::x:* in XPath 2.0
From: ben.pickering@xxxxxxxxxxxxxxxx
Date: Tue, 13 Jul 2004 13:54:35 +0100

If I had a sequence of nodes, some in the default namespace, and some in
an 'x' namespace, say:


In XSLT 1.x, I was doing something like:

<xsl:for-each select="*">
<xsl:when test="self::x:*">in<xsl:when/>
<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

How do I do this?  I can't see any way of using the self::x syntax with $e
as I did before...


Current Thread