Muchas gracias monoswim por la ayuda!
Ahora estoy intentando realizar una suma de todos los impuestos, pero no me entra en el bucle.
El esquema del XML es que hay varias líneas por cada factura, y dentro de cada línea está el porcentaje del impuesto y el importe neto de la línea.
Lo que quiero es que me muestre una línea con los totales de los impuestos de la factura. A continuación está el código de la template y de la llamada, creo que hago mal el acceso a los nodos... a ver si me podéis echar una mano. Muchas gracias
Este es el código de la template
Código XML:
Ver original<xsl:template name="sumaImpuestos">
<xsl:param name="factura"></xsl:param>
<xsl:param name="contador">1</xsl:param>
<xsl:param name="suma">0</xsl:param>
<xsl:choose>
<xsl:when test="$contador <= count($factura/df:Line)">
<xsl:call-template name="sumaImpuestos">
<xsl:with-param name="factura" select="$factura"></xsl:with-param>
<xsl:with-param name="suma" select="format-number($suma + (($factura/df:Line[$contador]/df:Tax/df:TaxPercentage div 100) * $factura/df:Line[$contador]/df:CreditAmount),'#.00')"></xsl:with-param>
<xsl:with-param name="contador" select="$contador+1"></xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$suma"></xsl:value-of>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
y este el de la llamada
Código XML:
Ver originalxsl:call-template name="sumaImpuestos">
<xsl:with-param name="factura" select="df:SourceDocuments/df:SalesInvoices/df:Invoice[1]" />
</xsl:call-template>