I have some XML thus
<root>
<TemplateNode>
<Heading>
<ID>1</ID>
<Name>HeadingNodeTest</Name>
<Order>1</Order>
<Text>This is a Heading Node</Text>
</Heading>
</TemplateNode>
<TemplateNode>
<SimpleText>
<ID>2</ID>
<Name>PlainTextNode</Name>
<Order>2</Order>
<Text>This is some plain text. Blah blah blah .. etc</Text>
</SimpleText>
</TemplateNode>
<TemplateNode>
<RadioTemplateNode>
…etc
I would like to be able to do an xslt choose based on the Heading/SimpleText type bit
for example
<xsl:for-each select="TemplateNode">
<xsl:choose>
<xsl:when test="TemplateNode/* = Header">
..do stuff
</xsl:when>
<xsl:when test="TemplateNode/* = SimpleText">
..do other stuffstuff
</xsl:when>
...etc
</xsl:choose>
</xsl:for-each select="TemplateNode">
*<xsl:when test=”TemplateNode/* = Header”>
can I even do something like this, or am I better off changing the XML to and selecting on that?
or do I need to set a variable and choose on that..?
thanks
nat
You shouldn’t adapt your data to your code. If the XML is OK with you, then leave it as it is. This would work, for instance
Of course, this only works if the various
TemplateNodechild elements mutually exclude each other. This is another option:And then