2013-01-31 31 views
1

我想知道是否有辦法使負值變爲正值?這裏是我的XSLT文檔的一個片段:使負數正向 - XSLT

<NumberOfLinesAtRate> 
    <xsl:value-of select="number(/xsales:Qty)" /> 
</NumberOfLinesAtRate> 

的問題是,有時這Qty值可能爲負,-1,-2等。我原來的XML文件內。有沒有辦法讓我的轉換文檔始終保持積極態度?

回答

3

如果您正在使用XSLT1.0你可以使用這個公式(我已經離開了爲簡潔的命名空間)

<xsl:value-of select="Qty * (Qty >= 0) - Qty * not(Qty >= 0)" /> 

在XSLT2.0有可以使用

專用 ABS運營商
<xsl:value-of select="abs(Qty)" /> 
2

這將是做一個相當簡潔的方式:

<xsl:value-of select="Qty * (1 - 2 * (Qty < 0))" />