Subject: RE: Parameter problem
From: Americo Albuquerque <melinor@xxxxxxxx>
Date: Thu, 2 Oct 2003 13:52:35 +0100
|
Hi
> -----Original Message-----
> From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of
> Marsha Salo
> Sent: Thursday, October 02, 2003 1:00 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE: Parameter problem
>
>
> Hi Dave
>
> i have made the changes as you have said,
>
> <xsl:template match="PartyList/When [last()]">
>
> <xsl:param name = "first"/>
> <xsl:param name = "last" select="@Attendance"/>
>
> <xsl:variable name="difference" select = "$last -
> $first"/>
> <TD><xsl:value-of select="$first"/></TD>
> <TD><xsl:value-of select="$last"/></TD>
> <TD><xsl:value-of select="$difference"/></TD>
>
> </xsl:template>
>
> <xsl:template match="PartyList/When [1]">
>
> <xsl:variable name="firstN"><xsl:value-of
> select="@Attendance"/></xsl:variable>
Change this to <xsl:variable name="firstN" select="@Attendance"/>
> <TD><xsl:value-of select="$firstN"/></TD>
>
> <xsl:apply-templates
> select="following-sibling::When [last()]">
> <xsl:with-param name="first" select="$firstN"/>
> </xsl:apply-templates>
>
> </xsl:template>
>
> but the parameter 'first' in template PartyList/When [last()]
> still does not have a value. And difference is NaN.
That's because your firstN is a text node with white spaces before the
number, some xsl processors pass those as string instead of number
A tweak would be to use <xsl:with-param name="firstN"
select="number($firstN)"/> to force it to be a number
Regards,
Americo Albuquerque
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|