回答:
たぶん、これはxslt-professionalにとって非常に簡単なことですが、初心者/中級レベルの私にとって、これは私を困惑させました。まったく同じことをしたかったのですが、単純な数値ではなくxmlからの応答時間値をテストする必要がありました。このスレッドに従って、私はこれを試しました:
<xsl:when test="responsetime/@value >= 5000 and responsetime/@value <= 8999">
エラーが発生しました。これは機能します:
<xsl:when test="number(responsetime/@value) >= 5000 and number(responsetime/@value) <= 8999">
しかし、number()なしでは機能しない理由を本当に理解していません。number()がないと値が文字列として扱われ、数値を文字列と比較できないのでしょうか?
とにかく、これが誰かの検索の多くを節約することを願っています...