Funciones XSLT y XPath

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

sum

XPath

 

La función fn:sum suma los valores de la secuencia de entrada introducida en el primer argumento. La secuencia de entrada puede contener valores numéricos de diferentes tipo. No obstante, estos valores se deben poder convertir en un tipo numérico. Además de los tipos numéricos es posible introducir tipos de duracion: xs:yearMonthDuration y xs:dayTimeDuration, pero estos no podrán estar mezclados, tampoco con otros tipos numéricos.

En el segundo argumento es posible introducir una valor de salida alternativo. Si en el primer argumento se introduce una secuencia vacía se devolverá este valor alternativo. El valor por defecto es 0 del tipo xs:double. El valor alternativo introducido podrá ser de cualquier tipo atómico, como por ejemplo xs:string.

 

Argumentos

Secuencia de entrada cuyos valores numéricos o de duración se desean sumar

Es obligatorio, pero puede ser una secuencia vacía.

Tipo: xs:anyAtomicType

 

Valor de salida alternativo

Opcional

Tipo: xs:anyAtomicType

 

Valor de salida

Suma de los valores de la secuencia de entrada

Tipo: xs:anyAtomicType

 

 

Ejemplo

sum(())

Resultado: 0

 

 

Ejemplo

sum((),'la secuencia de entrada no contiene ningún valor')

Resultado: la secuencia de entrada no contiene ningún valor

 

 

Ejemplo

sum((2,5),5)

Resultado: 7

 

 

Ejemplo

sum((xs:yearMonthDuration('P10Y5M'), xs:yearMonthDuration('P3Y6M'), xs:yearMonthDuration('P3M')))

Resultado: P14Y2M

 

 

Ejemplo

sum((xs:dayTimeDuration('-PT5H'), xs:dayTimeDuration('P0DT90H5000M'), xs:dayTimeDuration('P4DT15H')))

Resultado: P11DT15H20M

 

 

Ejemplo

sum((xs:dayTimeDuration('-PT5H'), xs:dayTimeDuration('P0DT90H5000M'), xs:yearMonthDuration('P3M')))

Resultado: Aviso de error: Cannot add two durations of different type URL: www.w3.org/TR/xpath20/

No se permiten dos tipos de duración distintos en la secuencia de entrada.

  > Volver a la referencia alfabética de XSLT y XPATH