/ / Suma del grupo de valores XSLT 2.0 - xml, xslt, xslt-2.0

Suma del grupo de valores XSLT 2.0 - xml, xslt, xslt-2.0

He creado un grupo de valores utilizando el for-each-group Funcionalidad, sin embargo, ahora me he quedado con un grupo de valores que se considera una cadena:

22.22, 20.00, 31.00, 12.58

Ahora estoy tratando de sumar este grupo de valores usando la siguiente declaración:

format-number(sum(current-group()/total),"0.00")

Sin embargo estoy recibiendo el siguiente error:

Description: Cannot convert string to double: ""

¿Puede alguien apuntarme en la dirección correcta?

Respuestas

0 para la respuesta № 1

Si tienes XPath 3.1 disponible, entonces puedes usar:

sum(for-each(tokenize(current-group(), ", "),xs:double#1))

para calcular la suma de 85.8.

Tu vida sería más fácil si tuvieras algo como

<number>22.22</number>
<number>20.00</number>
<number>31.00</number>
<number>12.58</number>

Entonces podrías sumar los números simplemente llamando

sum(//number)

que está disponible incluso en XPath 1.0.