<xsl:apply-templates select="xslTutorial"/>
</xsl:template>
<xsl:template match="xslTutorial">
<p>
<xsl:for-each select="number">
<xsl:value-of select="."/>+
</xsl:for-each>
=
<xsl:value-of select="sum(number)"/>
</p>
</xsl:template>
在结果中有一个“+”,我不希望它显示我希望结果 1 + 3 + 17 + 11 = 32 但结果是1 + 3 + 17 + 11 + = 32 我做了什么来阻止最后的+
答案 0 :(得分:3)
您需要确保最后一次迭代不包含“+”:
<xsl:apply-templates select="xslTutorial"/>
<!--</xsl:template> was this a typo? -->
<xsl:template match="xslTutorial">
<p>
<xsl:for-each select="number">
<xsl:value-of select="."/>
<xsl:if test="position() != last()">+</xsl:if>
</xsl:for-each>
=
<xsl:value-of select="sum(number)"/>
</p>
</xsl:template>
答案 1 :(得分:0)
你没有任何可以阻止它发出“+”的逻辑。
这样的事情会起作用:
<xsl:template match="xslTutorial">
<p>
<xsl:for-each select="number">
<xsl:value-of select="."/>
<xsl:if test="not(position()=last())">+</xsl:if>
</xsl:for-each>
=
<xsl:value-of select="sum(number)"/>
</p>
</xsl:template>