2010-02-06 13 views
0

ce qui est faux dans ce code

<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> 

dans le résultat il y a une « + » que je ne pas être montré que je veux que le résultat soit 1 + 3 + 17 + 11 = 32 mais le résultat est 3 + 1 + 17 + 11 + 32 = ce que je fais pour éviter le dernier +

Répondre

3

vous devez assurer la dernière itération ne comprend pas le "+":

<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> 
0

Vous n'avez aucune logique qui l'empêcherait de sortir le "+".

Quelque chose comme ça fonctionnerait: