2009-04-29 30 views

Respuesta

6

Esto se puede lograr utilizando la función xpath abs.

<xsl:value-of select="abs(DifferenceInDays)"/> 
30

En XPath 1.0 (XSLT 1.0) utilizar la siguiente expresión:

$vNum*($vNum >=0) - $vNum*($vNum &lt; 0) 

En XPath 2.0 (XSLT 2.0) utilizar la función deabs().

1

diffInDays * (1 - 2 * (diffInDays & lt; 0))

-1

Algunas de las respuestas están complicando así la vida demasiado para XSLT 1.0 en realidad es mucho más simple. Usando el formato de número puede definir una estructura para números positivos y negativos, el valor predeterminado negativo es -0, pero puede definir el suyo propio.

<xsl:value-of select='format-number(DifferenceInDays,"0;0")'/> 

El código anterior mostrará el valor absoluto de la diferencia en días simplemente mediante la función de formateo proporcionada.

+0

¿En qué procesador funciona esto? –

+0

debería funcionar hasta donde yo sepa. La funcionalidad de número de formato se proporciona en la especificación XSLT 1.0. –

+0

¿Has probado esto con ** cualquiera ** uno de ellos? Si es así, ¿en cuál funcionó? –

Cuestiones relacionadas