RE: [xsl] Parameter problem

Subject: RE: [xsl] 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: [xsl] 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


Current Thread