string-length()が機能しない場合のXSLT

私は文字列の長さを使用して日付か日時かを判断しようとしています。日付には10個の文字があり、日時には24文字が含まれます。時間がない場合は、カレンダーでそれを終日イベントとして解釈する必要があります。

これは私が使っているif文です:


allDay:      true 

しかし、条件が満たされていても、if文は常にtrueを出力できません。

私はさまざまな方法で論理をテストしました。例えば、式の値を出力する

',

それが真実であるので、比較が機能します。私もこれを試して、それは動作します、構造が正しいことを示すようです:

allDay:      true ,

私は間違って何をしていますか?

どうもありがとう

アレックス

0
$ alextestの値を表示してください。そして間違いなく間違いを見つけるでしょう。
追加された 著者 FailedDev,
あなたが私たちに示したコードにはバグはありません。だからどこかにバグがある。完全なソース文書、スタイルシート、および実行方法に関する情報など、十分な情報を再現できるように、私たちに十分な情報を提供する必要があります。
追加された 著者 Michael Kay,

1 答え

< is lower than. 13 < 12 can't possible evaluate to true. I think you'll need either <= in the form of <= or > in the form >.

EDIT:次のコードは期待通りに機能しますので、表示されているコードの外に何か問題が残っている必要があります。変数の選択式が本当に何かに解決されていることを確認してください。

<?xml version="1.0" encoding="UTF-8"?>

    123456789101112
    123456
    1234567891011121314
    


<?xml version="1.0" encoding="UTF-8"?>

    
    
        
            
            : shorter than 12

        
    

1
追加された
しかし、日付が12文字または24文字の場合、 $ alextest < 12 は常にfalseになります。
追加された 著者 G_H,
可能。たぶん、別のブラウザで試してみてください。プラグイン/デベロッパーモードでプラグイン/デベロッパーモードを使用できるかどうかを確認してください。
追加された 著者 G_H,
タイプミス(自分のコードではなく自分の投稿で)今修正する
追加された 著者 ankles,
ありがとう、多くの睡眠を持っていない、短い日付は実際に10文字ですので、それは真として解決する必要があります
追加された 著者 ankles,
多くの感謝 - 私のコードは、オンラインのXSLTテスターで試してみるとうまくいくようです。何が問題なのか分かりません!それはブラウザの問題かもしれませんか?
追加された 著者 ankles,