Ich habe folgende XSLT. Ich möchte die Werte bestimmter Covers in sumcontents Variable hinzufügen, aber es wird nicht summiert. Es wird immer 0 Wert angezeigt. Kann mir bitte jemand Anleitung geben, wie kann ich das erreichen?XSLT - Hinzufügen von Wert zu globalen Variablen in Schleife
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:param name="sumContents">0.00</xsl:param>
<MSMTransformer>
<Recordtype>
<xsl:value-of select="MSMARKETPOLICY/RECORDTYPE"></xsl:value-of>
</Recordtype>
<xsl:for-each select="MSMARKETPOLICY/POLICY/ITEMS/ITEM">
<xsl:for-each select="RISKS/RISK">
<xsl:choose>
<xsl:when
test="(COVERS/COVER[COVERAGE='BLDG']) and (COVERS/COVER[COVERAGE='CNTS'])">
<TypeOfCover>Buildings and Contents</TypeOfCover>
<xsl:value-of select="$sumContents + COVER/TBASICPRM" />
</xsl:when>
<xsl:when test="COVERS/COVER[COVERAGE='BLDG']">
<TypeOfCover>Buildings</TypeOfCover>
</xsl:when>
<xsl:when test="COVERS/COVER[COVERAGE='CNTS']">
<TypeOfCover>Contents</TypeOfCover>
<xsl:value-of select="$sumContents + COVER/TBASICPRM" />
</xsl:when>
</xsl:choose>
</xsl:for-each>
</xsl:for-each>
<ValueOfContentsInsured>
<xsl:value-of select="$sumContents"></xsl:value-of>
</ValueOfContentsInsured>
</MSMTransformer>
</xsl:template>
</xsl:stylesheet>
Sie benötigen ein Beispiel für Sie Eingabe-XML und vielleicht auch eine erwartete hinzufügen Ausgabe. Aber bedenken Sie, dass Sie eine Variable in einer Schleife nicht aktualisieren können. –
Siehe: http://StackOverflow.com/questions/37484660/xslt-Adding-in-a-for-fore-each-loop/37484760#37484760 –