Re: [xsl] how to test for the element type of the current node

Subject: Re: [xsl] how to test for the element type of the current node
From: Godmar Back <gback@xxxxxxxxxxxx>
Date: Wed, 2 Jul 2003 01:09:29 -0700 (PDT)
I'd like to add a comment to my question;
instead of

> 
> <xsl:template match="A">
>     <xsl:for-each select="*">
> 	<xsl:choose>
> 	    <xsl:when test="if this node is a B"> <--- this is what I can't figure out
> 		apply-templates for B
> 
> 		...
> 	    <xsl:otherwise>
> 		do something else for C
>     ...
> 

I also thought about using:

<xsl:template match="A">
    <xsl:for-each select="B">
	apply-templates for B
    </xsl:for-each>
    <xsl:for-each select="select all nodes that are not Bs">
    ....

But I couldn't figure that out either:  "not(B)", for instance, is a 
boolean and not a node set.

( Note that in my actual application, it's not A -> (B|C)*, it's 
A -> (B|....many alternatives here...)*,
so it's not practical to list them all in their own select() clauses. )

	- Godmar


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


Current Thread