Foros del Web » Programación para mayores de 30 ;) » Programación General »

Sumar con XSL columnas XML con el mismo nombre

Estas en el tema de Sumar con XSL columnas XML con el mismo nombre en el foro de Programación General en Foros del Web. 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> ...
  #1 (permalink)  
Antiguo 22/07/2008, 14:46
 
Fecha de Ingreso: julio-2008
Mensajes: 3
Antigüedad: 15 años, 9 meses
Puntos: 0
Sumar con XSL columnas XML con el mismo nombre

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>

Ya que esto es lo que tengo y como resultado obtengo: cero (0).

De antemano, muchas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:36.