| create a search element | search_element_name( value_expression ) search_element_name( token_variable1 + token_variable2 ) | 将括号中指定的值赋给搜索元素。该值可以由在规则左侧部分中创建的变量提供,也可以直接以带引号的文本形式传入。可以使用加号连接多个变量的值。 | [ t: "Contract" ] => kw_Contract( t ); 将标记 t 的值赋给 kw_Contract 搜索元素。[ "Contract" "Contrato" ] => documentType( "Contract" ); 如果找到指定关键字,则将文档类型设置为常量字符串 “Contract”。[ org1: @NEROrganization( same ) ]+ [ kw_doingBusinessAs: "d/b/a" "d / b/ a" ] [ org2: @NEROrganization( same )]+ => Supplier_FullName( org1 + kw_doingBusinessAs + org2 ); 查找由缩写 “d/b/a” 连接的两个组织名称,并将整体赋给 Supplier_FullName 搜索元素。 |
| create a group | group_name id | 创建一个组的新实例并将其赋给变量。然后可以使用该变量来创建嵌套搜索元素。注意: 如果尝试创建一个非重复组的第二个实例,将导致整个规则都不会执行。处理非重复组时,应编写两条单独的规则:一条用于实例已存在的情况,一条用于实例不存在的情况。 | ["Grantor"] [":"] [p: @NERPerson]+ => Grantor group, group.FullName( p ); 创建一个新的 Grantor 组实例,并将左侧部分中找到的人员姓名赋给 Grantor.FullName 搜索元素。 |
| create a child search element in a group | id.search_element_name( value_expression ) | 在由变量指定的组内创建新的搜索元素,并将括号中指定的值赋给该元素。 | 参见上面的示例。 |
| create a child search element in a group from left-hand part | left_hand_part_object.search_element_name( value_expression ) | 在规则左侧部分找到的组内创建新的搜索元素。新搜索元素的值在括号中指定。注意: 对于非重复组,规则的左侧部分既可以检查实例是否存在,也可以为该组指定变量名。然后右侧部分可以使用该变量名来创建嵌套元素。 | group: Tenant [p: @NERPerson]+ []{0,3} ["Tenant"] => group.FullName( p ); 访问现有的 Tenant 组实例,并将左侧部分中找到的人员姓名赋给 Tenant.FullName 搜索元素。[org: @BuyerGroup.organization_name]+ []{3,9} [addr: @NERAddress] => parent( obj( org ) ).buyer_address( addr ); 查找靠近组织名称的地址命名实体,并将该地址赋给与 organization_name 搜索元素属于同一 BuyerGroup 实例的 buyer_address 搜索元素。 |