xsl-list
[Top] [All Lists]

RE: Test for current node being an element or attribute?

2002-12-10 07:14:58
Is there a way in XSL to test the current node being an 
element or attribute?

I'm using a copy template (recursively) that matches 
"@*|node()" and would like to decide what to do 
(<xsl:choose>) depending on the text content of the current 
node (nodes with arbitrary names, so no fix testing possible!).

It would be better to have separate template rules for elements and
attributes, rather than using one rule that then does an <xsl:choose>.

To point it out: I have to manipulate the contents of the 
nodes and therefor I apply <xsl:element name="{name()}"> and 
<xsl:attribute name="{name()}"> on these specific nodes 
(perhaps a bad approach?).

Why can't you just use <xsl:copy>, which does the same thing (modulo
copying of namespace nodes)?


Tips appreciated,

xsl:if test="self::*"

tests if the context node is an element.

Michael Kay
Software AG
home: Michael(_dot_)H(_dot_)Kay(_at_)ntlworld(_dot_)com
work: Michael(_dot_)Kay(_at_)softwareag(_dot_)com 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list