使用 Microsoft 规则编辑器(预览版)生成和管理用于规则集的词汇

适用于:Azure 逻辑应用(标准)

重要

此功能为预览版,受 Azure 预览版补充使用条款约束。

词汇是词汇定义的集合,这些定义为规则条件和操作中所用的事实使用友好名称。 词汇定义使规则集中的规则更易于特定业务领域中的多人阅读、理解和共享。 例如,负责将规则创作集成到新应用程序或现有应用程序中的工具开发人员可以使用词汇。 词汇弥补了业务语义和实现之间的差距。

本指南演示如何使用 Microsoft 规则编辑器创建和定义放置在共享规则存储中的词汇。 可以选择要使用的数据源、创建新的词汇,还可添加词汇定义。 可以将词汇的版本保存到规则存储中。

先决条件

词汇如何使规则更易于阅读和理解?

通常使用领域或行业特定的命名法来表示用于定义规则条件和操作的术语。 例如,电子邮件用户使用“从...收到的邮件”和“...之后收到的邮件”等术语编写规则。 保险业务分析师使用“风险因素”和“保险金额”等术语编写规则。

另一个例子是,审批状态的变量可能指向 XML 模式中的某个值。 可以创建与该变量值关联的词汇定义,并使用“状态”作为友好名称,而不是在规则中插入这种复杂的表示形式。 然后,可以在任意数量的规则中使用“状态”这个词。 这个领域特定的术语的底层是实施规则条件和规则操作的技术项目,例如 XML 对象和 XML 文档。 但是,规则引擎可以从存储该数据的表中检索相应的数据。

规则条件和操作基于可能具有详细但难以阅读的绑定信息的数据源,这些信息很好或根本没有告诉用户绑定引用的内容。 规则引擎通过提供可与规则条件和操作相关联的直观、领域特定的术语,使你能够创建可简化规则制定的词汇。

创建词汇

  1. 打开 Microsoft 规则编辑器。 在“规则存储”菜单中,选择“加载”。

  2. 查找包含要处理的规则集的 XML 文件并将其选中。

  3. 在“事实浏览器”窗口中,选择“词汇”选项卡。

  4. 在“词汇”选项卡上,找到“词汇”文件夹。

  5. 打开文件夹的快捷菜单,然后选择“添加新词汇”。

    Microsoft 规则编辑器创建一个新的空词汇,词汇版本编号 1.0 作为默认版本。

    词汇需要具有版本标记,然后你才能使用该词汇。 此要求保证词汇定义保持不变并保留引用完整性,这意味着使用该特定版本的任何规则集都不会由于底层词汇的变化而意外失败。

下表介绍了可用于处理词汇的其他快捷命令:

快捷命令 任务
添加新版本 根据所选词汇创建新的空词汇版本。 可以从其他词汇版本复制词汇定义,并将这些定义粘贴到新版本中。
粘贴词汇版本 在所选词汇中,将之前从另一个词汇版本复制的词汇定义作为新版本粘贴。
删除 删除所选词汇及其所有版本。

下表介绍了可用于处理词汇版本的其他快捷命令:

快捷命令 任务
添加新定义 启动词汇定义向导,在所选词汇版本中创建新定义。
保存 保存对所选词汇版本及其定义所做的更改。
重新加载 重新加载所选词汇版本及其定义,有选项用于放弃当前对该版本所做的全部更改和从规则存储恢复内容。

下表介绍了可用于处理词汇版本的其他快捷命令:

快捷命令 任务
修改 启动词汇定义向导以更改所选定义。
转至源事实 对于所选词汇定义,转到 .NET 程序集或 XML 架构中的对应源事实。
快捷命令 任务
选择根节点 从包含多个根节点的 XML 架构中选择要加载的根节点。

以下各部分提供了这些任务的详细信息。

复制词汇版本

如果要在词汇中进行更改,请创建新的词汇版本来反映这些更改。 可以根据现有词汇版本创建副本,但使用不同的版本号。

  1. 在“事实浏览器”窗口中,打开词汇版本的快捷菜单,然后选择“复制”。

  2. 打开词汇的快捷菜单,然后选择“粘贴规则集版本”。

    Microsoft 规则编辑器会创建一个新的词汇版本,其定义与复制的版本相同,但编号不同。

重要

创建新的词汇版本时,使用以前的词汇版本生成的规则仍然引用以前的版本。 请确保更新这些规则与新词汇版本之间的引用。

创建空词汇版本

将定义添加到词汇版本后,可以新建一个具有不同编号的空词汇版本,并保存该版本供以后使用。

  1. 在“事实浏览器”窗口中,选择“词汇”选项卡。

  2. 在“词汇”选项卡上,找到创建新版本所使用的词汇。

  3. 打开词汇的快捷菜单,然后选择“添加新版本”。

    Microsoft 规则编辑器会新建一个具有不同编号的空词汇版本。

  4. 打开新词汇版本的快捷菜单,然后选择“保存”。

现在可以从其他词汇版本复制词汇定义,并将这些定义粘贴到新版本中。

重命名词汇

必须保存所有内容,也就是保存词汇定义的所有版本,然后才能重命名词汇或规则集。

  1. 在“事实浏览器”窗口中,选择“词汇”选项卡。

  2. 在“词汇”选项卡上的“词汇”文件夹中,找到要重命名的词汇。

  3. 选择词汇,然后在“属性”窗口中编辑名称。

创建词汇定义

可以创建词汇定义作为常数值、值的范围或值的集合,或者作为 .NET 程序集或 XML 文档中的元素。 可以使用词汇定义向导来创建词汇定义。

或者,可以从“.NET 类”选项卡或“XML 架构”选项卡选择一个事实(例如 .NET 类的元素),然后将事实推动到“词汇”选项卡来创建新的词汇定义。

例如,XML 节点,

如果选择公共变量,那么就像在 XML 定义向导中一样,“获取”和“设置”选项仍然可用。

将常数值添加为词汇定义

  1. 在“词汇”选项卡上的“词汇”文件夹中。

  2. 在“词汇”文件夹中,打开所需词汇版本的快捷菜单。

  3. 从词汇版本的快捷菜单中,选择“添加新定义”。

    还可以从“.NET 类”选项卡和“XML 架构”选项卡拖动项。

    词汇定义向导将启动来帮助你创建定义。

  4. 在向导中,选择“常数值、值范围或值集”,然后选择“下一步”。

  5. 提供以下信息:

    properties 说明
    定义名称 定义的名称。
    描述 定义的说明。
    定义类型 对于此任务,请选择“常数值”。
  6. 准备就绪后,选择“下一步”。

  7. 提供以下信息:

    properties 说明
    定义类型 为定义选择系统数据类型。
    显示名称 输入不超过 512 个字符的名称。
    输入常数的值。
  8. 完成后,选择“完成”。

将值范围添加为词汇定义

  1. 在“词汇”选项卡上的“词汇”文件夹中。

  2. 在“词汇”文件夹中,打开所需词汇版本的快捷菜单。

  3. 从词汇版本的快捷菜单中,选择“添加新定义”。

    还可以从“.NET 类”选项卡和“XML 架构”选项卡拖动项。

    词汇定义向导将启动来帮助你创建定义。

  4. 在向导中,选择“常数值、值范围或值集”,然后选择“下一步”。

  5. 提供以下信息:

    properties 说明
    定义名称 定义的名称。
    描述 定义的说明。
    定义类型 对于此任务,请选择“值范围”。
  6. 准备就绪后,选择“下一步”。

  7. 从“定义类型”列表中,为定义选择一种系统数据类型。

  8. 在“步骤 1 - 为范围下限和范围上限指定显示名称/值”下,在表中选择“范围下限”,然后选择“编辑”。

    在打开的“参数定义”框中,只有“使用常数值”选项可用。

  9. 输入常数值以指定较低的范围,然后选择“确定”。

  10. 对“范围上限”重复上述步骤,该值必须超过“范围下限”值。

  11. 在“步骤 2 - 指定范围的显示格式字符串”下,在“显示格式字符串”属性中输入显示格式字符串。 若要还原为默认的显示格式字符串,请选择“默认”。

    注意

    确保格式字符串中的参数索引包含在大括号中(例如使用 {0}{1}),以用作范围上限参数和范围下限参数的占位符。

    以下示例显示了一系列值的示例词汇定义:

    该屏幕截图显示了词汇定义向导、具有一系列值定义的词汇定义和显示格式字符串。

  12. 准备就绪后,选择“完成”。

将值集添加为词汇定义

  1. 在“词汇”选项卡上的“词汇”文件夹中。

  2. 在“词汇”文件夹中,打开所需词汇版本的快捷菜单。

  3. 从词汇版本的快捷菜单中,选择“添加新定义”。

    还可以从“.NET 类”选项卡和“XML 架构”选项卡拖动项。

    词汇定义向导将启动来帮助你创建定义。

  4. 在向导中,选择“常数值、值范围或值集”,然后选择“下一步”。

  5. 提供以下信息:

    properties 说明
    定义名称 定义的名称。
    描述 定义的说明。
    定义类型 对于此任务,请选择“值集”。
  6. 准备就绪后,选择“下一步”。

  7. 提供以下信息:

    properties 说明
    定义类型 为定义选择系统数据类型。
    显示名称 输入不超过 512 个字符的名称。

    在“定义值”下,只有“使用常数值”选项可用。

  8. 若要向集中添加成员,请输入常数值,然后选择“添加”。

  9. 对要包含在集中的任何多个值重复上述步骤。

    以下示例显示了集中的多个值:

    该屏幕截图显示了词汇定义向导和一个将格式字符串作为值集的词汇定义。

  10. 若要在集的相对顺序内移动值,请在“值”框中选择该值,然后选择“向上”或“向下”。

  11. 若要从集中删除成员,请在“值”框中选择该值,然后选择“删除”。

  12. 完成集后,选择“完成”。

将 .NET 类或类成员添加为词汇定义

在开始之前,请确保将 .NET 程序集放在 Microsoft 规则编辑器的本地目录中。 如果更新 .NET 程序集,请确保更新规则集版本对该程序集的引用。 有关更多信息,请参阅更新 .NET 程序集引用

  1. 在“词汇”选项卡上的“词汇”文件夹中。

  2. 在“词汇”文件夹中,打开所需词汇版本的快捷菜单。

  3. 从词汇版本的快捷菜单中,选择“添加新定义”。

    还可以从“.NET 类”选项卡拖动 .NET 类或类成员

    词汇定义向导将启动来帮助你创建定义。

  4. 在向导中,选择“.NET 类或类成员”,然后选择“下一步”。

  5. 提供以下信息:

    properties 说明
    定义名称 定义的名称。
    描述 定义的说明。
  6. 在“类成员信息”部分中,选择“浏览”。

  7. 找到并选择所需的程序集,然后选择“打开”。

  8. 在“选择绑定”框中,展开程序集节点。

  9. 选择一个类,或者展开一个类并选择一个类成员,然后选择“确定”。

  10. 选择下列步骤之一:

    • 如果选择类,请输入不超过 512 个字符的名称作为显示名称,然后选择“完成”。

      现在,你已完成此部分。

    • 如果选择具有参数的类成员,请选择“下一步”。

      会显示“指定显示名称 - .NET 类或类成员定义”页,为每个参数提供一个值和显示格式字符串。

      1. 在“步骤 1 - 指定每个参数的显示名称/值”下,在“参数”框中选择一个参数,然后选择“编辑”。

      2. 对于“参数值”,只有“使用常数值”选项可用,因此请输入常数值。

      3. 在“步骤 2 - 指定显示格式字符串”下,在“显示格式字符串”属性中输入显示格式字符串。 若要还原为默认的显示格式字符串,请选择“默认”。

        注意

        确保格式字符串中的参数索引包含在大括号中(例如使用 {0}{1}),以用作参数的占位符。

      4. 对类成员中的每个参数重复上述步骤。

        以下示例演示了类成员中的多个参数:

        该屏幕截图显示了使用 .NET 类或类成员进行词汇定义的词汇定义向导。

从 .NET 程序集创建词汇定义

可以从 .NET 程序集中的类或类成员创建词汇定义,以定义谓词、参数和操作。 在开始之前,请确保将 .NET 程序集放在 Microsoft 规则编辑器的本地目录中。 如果更新 .NET 程序集,请确保更新规则集版本对该程序集的引用。 有关更多信息,请参阅更新 .NET 程序集引用

  1. 在“事实浏览器”窗口中,选择“.NET 类”选项卡。

  2. 从“.NET 程序集”下,将类或类成员拖到现有词汇定义上,它显示在“词汇”选项卡上。

根据 XML 文档元素或特性创建词汇定义

可以浏览 XSD 架构并将项拖动到条件编辑器或操作编辑器中来定义谓词、参数和操作,从而根据 XML 元素和特性创建词汇定义。

  1. 在“词汇”选项卡上的“词汇”文件夹中。

  2. 在“词汇”文件夹中,打开所需词汇版本的快捷菜单。

  3. 从词汇版本的快捷菜单中,选择“添加新定义”。

    词汇定义向导将启动来帮助你创建定义。

  4. 在向导中,选择“XML 文档元素或特性”,然后选择“下一步”。

  5. 提供以下信息:

    properties 说明
    定义名称 定义的名称。
    描述 定义的说明。
  6. 在“XML 文档信息”部分中,选择“浏览”。

  7. 查找并选择架构文件 (.xsd),然后选择文档元素或特性。

  8. 从“类型”列表中,选择一个与架构中所选元素或特性的类型兼容的类型。

    注意

    引擎不会验证是否存在所定义的元素,也不会验证文档类型。 如果断言没有元素的 XML 文档,则运行时会出现错误。 如果断言具有未知文档类型的 XML 文档,则引擎只是会忽略该文档。

    如果引擎无法在指定类型和所选文档元素或特性的类型之间执行有效的强制转换,则运行时会收到错误。

  9. 在“选择操作”部分中,选择指示是要获取元素或特性的值还是设置值的操作类型。

  10. 如果选择设置值,请选择“下一步”,然后指定显示格式。

    会显示“指定显示名称 - XML 文档元素或特性”页,提供要使用的值和显示格式字符串。

    1. 在“步骤 1 - 指定每个参数的显示名称/值”下,在“参数”框中选择一个参数,然后选择“编辑”。

    2. 对于“参数值”,只有“使用常数值”选项可用,因此请输入常数值。

    3. 在“步骤 2 - 指定显示格式字符串”下,在“显示格式字符串”属性中输入显示格式字符串。 若要还原为默认的显示格式字符串,请选择“默认”。

      注意

      确保格式字符串中的参数索引包含在大括号中(例如使用 {0}{1}),以用作参数的占位符。

  11. 完成后,选择“完成”。

    以下示例显示了基于 XML 文档元素或特性的词汇定义的详细信息:

    该屏幕截图显示了使用 XML 文档元素或特性进行词汇定义的词汇定义向导。

    为 XML 节点创建词汇定义时,绑定的 XPath 表达式具有类似的默认值,具体取决于前面所述的规则。 不过,可以在词汇定义向导中编辑这些值。 对表达式所做的更改放在词汇定义中,并反映在根据词汇定义生成的所有规则参数中。