Я работаю над созданием суммы имен элементов, которые, когда они существуют, увеличиваются.XSLT 2.0 - Имена элементов сумм, которые увеличиваются
Пример XML:
<Distributions>
<DIST_DISTRIBUTIONMETHOD_1>Check to Other</DIST_DISTRIBUTIONMETHOD_1>
<DIST_CREDITOR_1>MOTORS FINANCE</DIST_CREDITOR_1>
<DIST_AMOUNT_1>16710.04</DIST_AMOUNT_1>
<DIST_NET_1>No</DIST_NET_1>
<DIST_DISTRIBUTIONMETHOD_2>Check to Other</DIST_DISTRIBUTIONMETHOD_2>
<DIST_CREDITOR_2>WILLIAM HOOK</DIST_CREDITOR_2>
<DIST_AMOUNT_2>1239.86</DIST_AMOUNT_2>
<DIST_NET_2>Yes</DIST_NET_2>
</Distributions>
мне нужно подвести DIST_AMOUNT_1, 2, и т.д., вплоть до 15 возможных в общей сложности, которые могут или не могут существовать.
Таким образом, я назначил каждому DIST_AMOUNT переменной после проверки, существует ли она. Сама сумма - это то место, где у меня возникают проблемы, так как нет ничего населяющего сумму, и я не знаю, почему, я избил свою голову по этому поводу и искал ответы на вопросы в течение нескольких дней. Любая помощь приветствуется.
Мой XSL код thusfar:
<xsl:variable name="DIST_TMP_1">
<xsl:choose>
<xsl:when test="//DIST_AMOUNT_1">
<xsl:value-of select="number(//DIST_AMOUNT_1)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="number(0.00)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="DIST_TMP_2">
<xsl:choose>
<xsl:when test="//DIST_AMOUNT_2">
<xsl:value-of select="number(//DIST_AMOUNT_2)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="number(0.00)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:variable name="DIST_TMP_3">
<xsl:choose>
<xsl:when test="//DIST_AMOUNT_3">
<xsl:value-of select="number(//DIST_AMOUNT_3)"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="number(0.00)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:element name="ECD070_TOTAL_VAR">
<xsl:value-of select="sum($DIST_TMP_1+$DIST_TMP_2+DIST_TMP_3)"/>
</xsl:element>
Возможный дубликат [Агрегатная функция для суммы и продукта в XPath] (http://stackoverflow.com/questions/10669313/aggregate-function-for-sum-and-product-in-xpath). В верхней части ответа есть часть XSLT 1.0; вы можете оставить часть продукта, так как вам нужна только сумма. – Kenney
Я не думаю, что его дубликат, поскольку в примере используется только значение. Not value_1, value_2 и т. Д. Эти элементы не совпадают, поэтому код не работает для этой проблемы. –
Все, что вам нужно сделать, это изменить выражение в соответствии с тегом. – Kenney