xsl:variable空の文字列または数値のいずれかになります。だから私はそれを次のように評価します:
<xsl:if test="number($var)"><node att="{number($var)}" /></xsl:if>
これvarは が空の文字列の場合に機能しますが、 is の場合も同じ効果がvarあり0ます:
-2 から 2:
<node att="-2" />
<node att="-1" />
<node att="1" />
<node att="2" />
これはバグですか?numberもキャプチャする関数の別のバージョンはあり0ますか? 私は本当にor $var = '0'自分のtest声明に追加する必要がありますか?