|
[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Choosing based on current node
Subject: Re: Choosing based on current node
From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx>
Date: Mon, 12 Feb 2007 22:05:26 +0530
|
I think Abel has given some good remarks.
But I think, your code fragment needs to be modified as:
<xsl:for-each select="A|B|C">
<xsl:choose>
<xsl:when test="self::A">
<xsl:call-template name="do-A"/>
</xsl:when>
<xsl:when test="self::B">
<xsl:call-template name="do-B"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="do-C"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
On 2/12/07, sthomas2@xxxxxxx <sthomas2@xxxxxxx> wrote:
I'm amazed at how patient this list is with newbie questions; I hope
this question doesn't try that patience too much. I'm processing a
document that has <A> or <B> or <C> elements in it. I need to preserve
their order in the output, but do something drastically different for
each. It seems like the following ought to work, but, instead, the
otherwise branch is always performed, regardless of whether the element
is A, B, or C. (The for-each is working fine, as it correctly skips over
any elements other than A, B, or C.)
<xsl:for-each select="A|B|C">
<xsl:choose>
<xsl:when test=".=A">
<xsl:call-template name="do-A"/>
</xsl:when>
<xsl:when test=".=B">
<xsl:call-template name="do-B"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="do-C"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
Thanks in advance,
Stephen
--
Regards,
Mukul Gandhi

|
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format
| RSS 2.0 |
|
| Atom 0.3 |
|
|