1

負の値を正にする方法があるかどうか疑問に思っていましたか? これが私の xslt ドキュメントのスニペットです。

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

問題は、Qty元の XML ドキュメントでは、この値が -1、-2 などの負の値になる場合があることです。変換されたドキュメントでこれを常に正にする方法はありますか?

4

2 に答える 2

3

XSLT1.0 を使用している場合は、この式を使用できます (簡潔にするために名前空間を省略しました)。

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

XSLT2.0 には、使用できる専用のabs演算子があります。

<xsl:value-of select="abs(Qty)" />
于 2013-01-31T11:41:51.047 に答える
2

これはかなり簡潔な方法です。

<xsl:value-of select="Qty * (1 - 2 * (Qty < 0))" />
于 2013-01-31T11:45:03.940 に答える