2012-04-25 26 views
2

私は比較のためのXSLの便宜関数、gt, lt, ge, le, eqを使用しています。XSLで明示的に型指定された変数

は、私は、しかし、私はキャストがなされることを必要とする、比較を実行するときに、これらの関数は、数値に文字列を促進しないであろう理解し、私は

<xsl:when test="xs:integer($variable) lt 250" > 
のような線で自分のコードを乱雑にしたくありません

私はむしろそう

<xsl:variable name="variable" type="xs:integer"> 

(もちろん架空の)このようにそのキャストを作ると思い、それが作成/宣言されたときに、明示的に数値型としてvariableをキャストする手段はありますか?その目的の種類を指定するには、正確である -

答えて

2
<xsl:when test="xs:integer($variable) lt 250" > 

私はむしろ

<xsl:variable name="variable" type="xs:integer"> 

使用as属性は、このようなことキャストが(もちろん架空の)作ると思います変数、パラメータ、テンプレートまたは関数:

<xsl:variable name="variable" as="xs:integer" 
       select="some-integer-type-expression"> 
+0

ありがとうDimitre、まさに私が探していたもの! – JHarnach

+0

@JHarnach:どうぞよろしくお願いいたします。 –

+0

@ DimitreNovatchevしかし、デフォルト値で変数を初期化していますか?たとえば、私はこの変数に条件に基づいた値を割り当てていますが、その場合に満たされない場合は0に初期化されますか? –

関連する問題