пятница, 18 декабря 2015 г.

XSLT 1.0 Возведение в степень

<xsl:template name="power">
        <xsl:param name="base" />
        <xsl:param name="power"/>
        <xsl:param name="result" select="1" />
        <xsl:choose>
            <xsl:when test="$power = 0">
                <xsl:value-of select="$result" />
            </xsl:when>
            <xsl:otherwise>
                <xsl:call-template name="power">
                    <xsl:with-param name="base" select="$base" />
                    <xsl:with-param name="power" select="$power - 1" />
                    <xsl:with-param name="result" select="$result * $base" />
                </xsl:call-template>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>



Как использовать:

  <xsl:variable name="pw">
     <xsl:call-template name="power">
                <xsl:with-param name="base">10</xsl:with-param>    
                 <xsl:with-param name="power" select="2"/>                                  
                 </xsl:call-template>
                </xsl:variable>
  <xsl:value-of select="$pw"/>

Комментариев нет:

Отправить комментарий