我试图在满足条件时增加一个计数器,例如,如果 final_score 超过 30,count = 1。所以如果 3 个分数超过 30,final_score 应该是 3。要获得分数,我需要添加以前的分数所以最终分数是所有其他分数的计算
例如
示例 XML
<scores>
<score result="20" />
<score result="10" />
<score redult="5" />
</score>
主要 XSL
<xsl:call-template name="scores">
<xsl:with-param name="prev_count" select="0"/>
</xsl:call-template>
分数模板
<template name="scores">
<param name="counter" select="0">
<xsl:variable name="prev_counter" select="$counter+1" />
<xsl:for-each select="persons/person[id=@id]">//get all the scores
<xsl:varable name="total_score" select="sum(scores/score)" />//sum them all up
<xsl:if test="total_score > 40" > //check the result
<xsl:value-of select="$counter">
<xsl:call-template name="scores">
<xsl:with-param name="counter" select="$counter+1"/>
</xsl:call-template>
</xsl:if>
<xsl:for-each>
</xsl:template>
</xsl:template>
我只是无法解决,还是我的方法有问题?