XSL - Sumar con XSL columnas XML con el mismo nombre.

   
Vista:

Sumar con XSL columnas XML con el mismo nombre.

Publicado por GabMx (4 intervenciones) el 18/07/2008 22:05:26
Hola amigos!!

Quisiera saber si a alguien ya se le presento el siguiente problema y si puede orientarme.

Tengo el siguiente archivo XML:

<ResultedSet>
<table>
<head>
<column>Registro</column>
<column>Terminal</column>
<column>VentasTotal</column>
<column>Cancelaciones</column>
<column>VentasTotal2</column>
<column>Diferencia</column>
</head>
<body>
<row>
<column>1</column>
<column>010304800</column>
<column>7880.0</column>
<column>0.0</column>
<column>7880.0</column>
<column>0.0</column>
</row>
<row>
<column>2</column>
<column>010304900</column>
<column>8080.0</column>
<column>0.0</column>
<column>8080.0</column>
<column>0.0</column>
</row>
<row>
<column>3</column>
<column>010305000</column>
<column>7680.0</column>
<column>0.0</column>
<column>7680.0</column>
<column>0.0</column>
</row>
<row>
<column>4</column>
<column>010305100</column>
<column>8360.0</column>
<column>0.0</column>
<column>8360.0</column>
<column>0.0</column>
</row>
<row>
<column>5</column>
<column>010561600</column>
<column>8500.0</column>
<column>0.0</column>
<column>8500.0</column>
<column>0.0</column>
</row>
<row>
<column>6</column>
<column>010561800</column>
<column>11500.0</column>
<column>0.0</column>
<column>11500.0</column>
<column>0.0</column>
</row>
<row>
<column>Total</column>
<column />
<column>52000.0</column>
<column>0.0</column>
<column>52000.0</column>
<column>0.0</column>
</row>
</body>
</table>
</ResultedSet>

Y a partir de este, y a través de la siguiente transformación XSL quiero obtener unicamente la suma de los tres primeros registros. Es decir: 7880.0 + 8080.0 + 7680.0 = 23640.

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/ResultedSet">
<xsl:variable name="Column1" select="table/body/row/column[1]"/>

<xsl:choose>
<xsl:when test="$Column1 = '1' and $Column1 = '2' and $Column1 = '3'">
<xsl:value-of select="sum(/column[3])"/>
</xsl:when>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

Sin embargo, obtengo como resultado: cero (0).

De antemano, muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder