我正在使用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
工程確定,但條件從不計算真實的,因爲我從看整套執行的結果。
也就是說,如果我改變In
... valueId
...... idList
以區區Equals
... leftId
... rightId
,只留下一個ID來覈對(比如,Element4
)並進行了測試,讓我我確定我的價值等於Value4
,我看到預期的結果,這證明ObjectLookup
在這裏正常工作。
所以問題是:
什麼我做錯了,即爲什麼在同樣的測試中,我知道值等於
Value4
,In
不評估爲真?我可以用更簡單的方法做到嗎?即,指定一個常量列表並使用它,而不是逐個指定元素,然後從它們構建列表?
NxBRE有什麼好的文檔,所以我不必問這樣的基本問題嗎?
謝謝!一旦確認工作,我會盡快審查並接受。 – 2012-04-05 13:36:02