RE: tail recursion and NaN

 Subject: RE: tail recursion and NaN From: "Susan Campbell" Date: Fri, 7 May 2004 08:59:19 -0400
```Thanks for the help.  I later learned I also had to test for a dollar sign as well as empty cells.  This is what I'm using.  It works, but there may be a more compact/elegant way to do it.
sc

<xsl:template name="total-value">
<xsl:param name="price"/>
<xsl:param name="result" select="0"/>
<xsl:param name="nodollarsign" select="translate(\$price,'\$','')"/>
<xsl:choose>
<xsl:when test="\$price and number(\$price) = number(\$price)">
<xsl:call-template name="total-value">
<xsl:with-param name="price" select="\$price[position() &gt; 1]"/>
<xsl:with-param name="result" select="\$result + \$price"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="\$nodollarsign">
<xsl:call-template name="total-value">
<xsl:with-param name="price" select="\$price[position() &gt; 1]"/>
<xsl:with-param name="result" select="\$result + \$nodollarsign"/>
</xsl:call-template>
</xsl:when>
<xsl:when test="\$price and number(\$price) != number(\$price)">
<xsl:call-template name="total-value">
<xsl:with-param name="price" select="\$price[position() &gt; 1]"/>
<xsl:with-param name="result" select="\$result"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise><xsl:value-of select="\$result"/></xsl:otherwise>
</xsl:choose>
</xsl:template>

```

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!