我想知道是否有一种方法可以产生负值,积极的?这是我的xslt文档的片段:
<NumberOfLinesAtRate>
<xsl:value-of select="number(/xsales:Qty)" />
</NumberOfLinesAtRate>
问题是,在我的原始XML文档中,有时这个Qty
值可能是负数,-1,-2等。有没有办法让我在转型文件中始终保持积极态度?
答案 0 :(得分:3)
如果您使用的是XSLT1.0,则可以使用此公式(为简洁起见,我省略了命名空间)
<xsl:value-of select="Qty * (Qty >= 0) - Qty * not(Qty >= 0)" />
在XSLT2.0中,您可以使用专用的 abs 运算符
<xsl:value-of select="abs(Qty)" />
答案 1 :(得分:2)
这是一种相当简洁的方法:
<xsl:value-of select="Qty * (1 - 2 * (Qty < 0))" />