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