首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在NxBRE中声明和使用静态列表的正确方法

在NxBRE中声明和使用静态列表的正确方法
EN

Stack Overflow用户
提问于 2012-04-03 11:42:11
回答 1查看 287关注 0票数 1

我正在使用NxBRE规则引擎,并且需要能够检查列表中是否有一些值。以下是我所尝试的:

定义列表元素:

代码语言:javascript
复制
<String  id="Element1" value="Value1"/>
<String  id="Element2" value="Value2"/>
<String  id="Element3" value="Value3"/>
<String  id="Element4" value="Value4"/>

检查情况:

代码语言:javascript
复制
<In valueId="ValueId" idList="Element1, Element2, Element3, Element4">
  <ObjectLookup id="ValueId" objectId="MyObject" member="GetValue">
    <Argument valueId="MyArgument"/>
  </ObjectLookup>
</In>

ObjectLookup工作正常,但从整个集合执行的结果中可以看出,这个条件从未计算为true。

也就是说,如果我把In . valueId . idList改为Equals . leftId . rightId,只留下一个id来检查(比方说Element4),然后组成一个测试,这样我就可以确定我的值等于Value4,我看到了预期的结果,这证明了ObjectLookup在这里是正确的。

所以问题是:

  1. 我做错了什么,也就是为什么在相同的测试中,当我知道值等于Value4时,In不计算为真?
  2. ,我可以用更简单的方式来做。也就是说,指定一个常量列表并使用它,而不是一个一个地指定元素,然后从它们构建列表?
  3. 有NxBRE的好文档吗?所以我不需要问这样的基本问题?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-04 11:42:50

  1. 查看转换XBRE规则的XSL-T,我认为您需要删除空格并使用逗号分隔ID。在/Rulefiles/text.xbre中的示例使用逗号分隔的ID.
  2. 您可以使用regexp,例如:除了提供的用户指南和在线知识库之外,什么都不需要。学习/规则文件/text.xbre也会对您有所启发。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9992525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档