41.2. RuleTable 定义


决策表的 RuleTable 区域中的条目为该规则表中的规则定义条件、操作和其他规则属性。电子表格可以包含多个 RuleTable 区域。

下表列出了 RuleTable 定义支持的标签(列标头)和值。对于列标头,您可以使用给定标签或以表中列出的字母开头的任何自定义标签。

Expand
表 41.2. 支持的 RuleTable 定义
标签或以 开头的自定义标签值使用方法

NAME

N

为从该行生成的规则提供名称。默认由 RuleTable 标签和行号后面的文本组成。

最多一个列。

描述

I

在生成的规则中产生注释。

最多一个列。

条件

C

代码片段和交集值,用于在条件的模式内构建约束。

每个规则表至少有一个。

�作

A

用于构建规则结果操作的代码片段和交集值。

每个规则表至少有一个。

元数�

@

用于为规则构建元数据条目的代码片段和交集值。

可选,任意数量的列。

以下小节详细介绍了状况、操作和元数据列如何使用单元数据:

Conditions

对于头的 CONDITION 的列,连续行中的单元格会导致条件元素:

  • 单元: CONDITION 下的第一个单元格中的文本为规则条件的模式,并使用下一行中的代码片段作为约束。如果单元与一个或多个邻居单元合并,则会形成一个带有多个约束的单一模式。所有约束都合并到一个父列表中,并附加到此单元的文本中。

    如果这个单元为空,则单元格中的代码片段必须自行生成有效的 condition 元素。例如,您可以将对象类型和 itemsCount > $1 作为约束(包括单元)保留,而是将对象类型单元留空,然后在约束单元中输入 Order (itemsCount > $1),然后对任何其他约束单元执行相同的操作。

    要包括没有限制的模式,您可以在另一模式文本前面写入模式,使用或不使用空括号对。您还可以将 from 子句附加到模式。

    如果模式以 eval 结尾,代码片段会生成布尔值表达式,用于在 eval 后包含在一组括号中。

    您可以使用 @watch 注释终止模式,该注释用于自定义模式重新主动的属性。

  • 第二个单元: CONDITION 下的第二个单元中的文本作为第一个单元中对象引用的约束进行处理。此单元中的代码片段通过区分列中单元的值来修改。如果要创建由使用 == 与以下单元中的值的比较组成的约束,则仅字段选择器就足够了。必须将任何其他比较运算符指定为代码片段中的最后一个项目,并附加以下单元中的值。对于所有其他约束形式,您必须标记位置,使其包含带有符号 $param 的单元格的内容。如果您使用符号 $1$2 等,以及以下单元中的以逗号分隔的值列表,则可以多个插入。但是,不要用逗号分开 $1$2 等,或者以逗号分隔,否则表将无法处理。

    要根据 all ( $ delimiter){ $snippet } 的模式扩展文本,请对以下每个单元中的每个值重复一次 $ snippet。请注意,forall 结构可能会被其他文本括起。

    如果第一个单元包含一个对象,则完成的代码片段将添加到该单元中的 conditions 元素中。自动提供一对括号以及分隔逗号(如果将多个约束添加到合并的单元中的模式)。如果第一个单元为空,则此单元中的代码片段必须自行生成有效的 condition 元素。例如,您可以将对象类型和 itemsCount > $1 作为约束(包括单元)保留,而是将对象类型单元留空,然后在约束单元中输入 Order (itemsCount > $1),然后对任何其他约束单元执行相同的操作。

  • 第三个单元: CONDITION 下面的第三个单元中的文本是您为列定义的描述性标签,作为视觉辅助性。
  • 第四个单元: 从第四行,非内置条目提供数据进行插入。空白单元省略此规则的条件或约束。
Actions

对于头的 columns,连续行中的单元格会导致 action 语句:

  • 第一个单元:ACTION 以下的第一个单元中的文本是可选的。如果存在,则文本将解释为对象引用。
  • 第二个单元: 以下第二个单元中的文本是代码片段,其通过区分列中单元格的值来修改。对于单数插入,请标记位置,使其包含带有符号 $param 的单元格的内容。如果您使用符号 $1$2 等,以及以下单元中的以逗号分隔的值列表,则可以多个插入。但是,不要用逗号分开 $1$2 等,或者以逗号分隔,否则表将无法处理。

    没有标记符号的文本可以执行方法调用,而无需反过。在这种情况下,在单元格下面一行中使用任何非 blank 条目来包括该语句。支持 forall 结构。

    如果第一个单元包含一个对象,则单元文本(由句点跟踪)、第二个单元中的文本,而终止分号将一起停止,从而导致作为结果的操作声明添加的方法调用。如果第一个单元为空,则此单元中的代码片段必须自行生成有效的 action 元素。

  • 第三个单元: 以下第三个单元中的文本是您为列定义的描述性标签,作为视觉目的。
  • 第四个单元: 从第四行,非内置条目提供数据进行插入。空白单元省略此规则的条件或约束。
元数�

对于头的 METADATA 的列,连续行中的单元格会为生成的规则生成元数据注解:

  • 第一个单元: METADATA 下面的第一个单元中的文本将被忽略。
  • 第二个单元: METADATA 下的第二个单元中的文本使用规则行中的单元值。元数据标记字符 @ 会自动作为前缀,因此您不需要将该字符包含在此单元的文本中。
  • 第三个单元: METADATA 下面的第三个单元中的文本是您为列定义的描述性标签,它是一个可视化的辅助性。
  • 第四个单元: 从第四行,非内置条目提供数据进行插入。空白单元会导致此规则的元数据注解混淆。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部