act_location 变量

act_location 变量为标识表达式位置(位于规则层次结构中)的字符串。

详细信息

该位置为标准名称,指示表达式在规则层次结构中的位置。其格式为 identifier.identifier....,其中的每个 identifier 为以下某个值:
  • XML 元素的名称属性的值,该元素位于各自的层次结构中。
  • 对于在规则块或规则中多次出现且无名称属性的元素:包含表达式的 XML 元素,后面跟随带方括号的索引号。该索引号指示表达式在其包含元素中的位置。指定索引号的计数器开始自 0 而并不是 1。因此,如果元素包含于第 3 个 <action> 元素中,则索引号显示为 action[2]
这些标识按照降序排列,从最高级别规则块到包含表达式的最低级别元素。

编码示例

以下代码访问 act_lib 变量来获取表达式的位置:
String location = act_lib.getStringVariable(IACTLibrary.LOCATION);

变量返回的位置的示例

以下值为从 act_location 变量返回的位置的示例。
ruleBlockA.ruleA.eventSelector[3].filteringPredicate
该表达式包含于以下位置中:
  • 名称属性值为 ruleBlockA 的规则块
  • 名称属性值为 ruleA 的规则
  • 第 4 个 <eventSelector> 元素
  • <filteringPredicate> 元素
ruleBlockA.ruleA.onDetection.action[5]
该表达式包含于以下位置中:
  • 名称属性值为 ruleBlockA 的规则块
  • 名称属性值为 ruleA 的规则
  • <onDetection> 元素
  • 第 6 个 <action> 元素
ruleBlockA.ruleA.variableA.varInitializer
该表达式包含于以下位置中:
  • 名称属性值为 ruleBlockA 的规则块
  • 名称属性值为 ruleA 的规则
  • 名称属性值为 variableA 的变量
  • <varInitializer> 元素