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

Subject: RE: [xsl] Test for current node being an element or attribute?
From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx>
Date: Tue, 10 Dec 2002 14:14:58 -0000
> 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.H.Kay@xxxxxxxxxxxx
work: Michael.Kay@xxxxxxxxxxxxxx 


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


Current Thread