2012-04-03 14 views
1

NxBREルールエンジンを使用していて、リストに値があるかどうかを確認する必要があります。ここに私がしようとするものである:リストの要素を定義NxBREで静的リストを宣言して使用する正しい方法

条件の確認
<String id="Element1" value="Value1"/> 
<String id="Element2" value="Value2"/> 
<String id="Element3" value="Value3"/> 
<String id="Element4" value="Value4"/> 

<In valueId="ValueId" idList="Element1, Element2, Element3, Element4"> 
    <ObjectLookup id="ValueId" objectId="MyObject" member="GetValue"> 
    <Argument valueId="MyArgument"/> 
    </ObjectLookup> 
</In> 

ObjectLookupはOKに動作しますが、私から見ると条件は、trueと評価されたことがありませんセット全体の実行結果。

すなわち、私が変更した場合In ...へvalueId ... idListEqualsは... leftId ... rightIdは、(たとえば、Element4)に対してチェックとなるようにテストを補うためにのみ1つのIDを残す単なるI私の価値がValue4に等しいことを確信して、私は期待通りの結果を得て、ObjectLookupがここで正しく働くことを証明します。

だから、質問は次のとおりです。私が間違っているのは何

  1. 、すなわち、なぜ私は値がValue4に等しいことを知って、同じ試験で、Inが真に評価しませんか?

  2. もっと簡単な方法で対応できますか?つまり、要素を1つずつ指定してからリストを作成するのではなく、定数リストを指定して使用しますか?

  3. NxBREに関する良い文書はありますか?そのような基本的な質問はありませんか? BREのものでXBREルールを変換XSL-Tを見てみると

答えて

0
  1. 、私はあなたがスペースをドロップするだけのIDを区切るにはカンマを使用する必要があると思います。 /Rulefiles/text.xbreの例は、コンマで区切られたIDで動作します。

  2. あなたが好きな、正規表現を使用することができます(要素1 |エレメント2 |エレメント3 | Element4)を

  3. 提供ユーザー・ガイド(PDF)とオンラインナレッジベースのほかには何もありません。 /Rulefiles/text.xbreを学ぶことで、いくぶんあなたを啓発するはずです。

+0

ありがとうございました!私は働くことが確認されるとすぐにそれを見直して受け入れます。 –

関連する問題