Мне нужна помощь в правильном указании входного параметра для sum ().Я столкнулся с выводом sum () для объединения значений вместо суммирования.
Моя цель: суммировать значения Column6 , когда Column2 равно " invoice"В приведенном ниже примере у меня есть 2000 и 1000 для Column6, столбец которого является" invoice ".Я ожидаю, что он покажет 3000 для <TotalAmount>
<Root>
<DataArea>
<Row>... </Row>
<Row>... </Row>
<!-- and so on -->
<Row>
<Column1>29/03/19</Column1>
<Column2>cr note</Column2>
<Column3>092-213280101</Column3>
<Column4>1,474.98 </Column4>
<Column5>103.25 </Column5>
<Column6>2000 </Column6>
</Row>
<Row>
<Column1>29/03/19</Column1>
<Column2>invoice</Column2>
<Column3>092-213280101</Column3>
<Column4>1,474.98 </Column4>
<Column5>103.25 </Column5>
<Column6>2000 </Column6>
</Row>
<Row>
<Column1>11/06/19</Column1>
<Column2>invoice</Column2>
<Column3>123-123456789</Column3>
<Column4>100.50 </Column4>
<Column5>100.50 </Column5>
<Column6>1000</Column6>
</Row>
</DataArea>
</Root>
<xsl:for-each
select="Root/DataArea/Row">
<xsl:if ... >
<TransactionSummary>
<DebitSummary>
<TotalAmount>
<xsl:attribute name="currencyID"></xsl:attribute>
<xsl:for-each select="../Row">
<xsl:if test="(Column2 = 'invoice') and (position() > 9) ">
<xsl:value-of select="sum(../Column6)" />
</xsl:if>
</xsl:for-each>
</TotalAmount>
</DebitSummary>
</TransactionSummary>
</xsl:if>
</xsl:for-each>
Я пытался sum(Column6)
, не сработало.Output: 20001000
Я пытался sum(../Column6)
, не работал.Output: 00
Я пытался sum(../Row/Column6)
, не работал.Output: Cannot convert string "" to a double
Я пытался sum(Root/DataArea/Row/Column6)
, не работал.Output: 00
Буду признателен за любую помощь.
Спасибо.