Subject: Re: xsl:choose / xsl:when problems
From: Tony Graham - Sun Ireland - Staff Engineer <Tony.Graham@xxxxxxxxxxxxxxx>
Date: Wed, 21 Feb 2001 18:28:18 +0000 (GMT)
|
Wayne Davis wrote at 21 Feb 2001 -0800:
> Hi...
> I'm trying to come up with a solution (this hack is the best I seem capable
> of at the moment) to converting
> a date in the following format "YYYY-MM-DDTHH:NN:SS" to MMM dd, yyyy".
>
> <TD>
> <xsl:choose>
> <xsl:when test="substring(@DateReceived,6,2) = '01'"/>January</xsl:when>
...
> I'm getting this error message:
> ***End tag 'xsl:when' does not match the start tag 'xsl:choose'. ***
> Can someone see where I'm off track here? I've tried bracketing the test
> statement in a variety of ways and always get the same result.
Your xsl:when start-tags are written as empty tags because they end
with "/>", so the first "</xsl:when>" is being matched with the
xsl:choose start-tag, and naturally they don't match. Try:
<xsl:when test="substring(@DateReceived,6,2) = '01'">January</xsl:when>
etc.
Also, you could declare a variable to hold the value of the substring
and just test against the variable value in each of your test
attributes so that your xsl:choose is easier to read (and probably
quicker as well).
Regards,
Tony Graham Email: tony.graham@xxxxxxxxxxxxxxx
Staff Engineer Phone: +353 1 819 9708
Sun Microsystems Ireland Ltd x19708
Hamilton House, East Point Business Park, Dublin 3, Ireland
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|