为模板元素创建条件

使用条件编辑器,通过使用当前上下文中可以访问的数据属性和变量来定义 JavaScript 表达式。

过程

  1. 右键单击元素并选择数据 > 编辑条件
  2. 在“为当前元素设置条件”窗口中,展开变量属性
    提示: 仅查询的第一级别查询和属性才能显示为可用。对于第二级别,必须对元素添加另一查询并且对该元素添加条件。
  3. 使用下列其中一个选项来输入 JavaScript 代码:
    • 在此窗口中手动编写脚本
    • 将编辑器外部的脚本复制并粘贴到此窗口
    • 单击包括脚本并从您的计算机、远程服务器或“中央管理”组件中选择一个文件
    • 使用条件编辑器:
      1. 左操作数选择属性或变量。
        注: 如果您使用“为当前元素设置条件”窗口中的工具,那么会在树形视图中自动选择所使用的任何数据属性或变量。如果手动输入条件,那么必须手动选择数据属性或变量。
      2. 选择运算符
      3. 从下拉菜单中选择右操作数的属性或变量。
        注: 如果条件的左操作数和右操作数来自同一个属性名称,但属于两个不同的查询,那么该条件不起作用。必须为这两个属性设置不同的别名,才能让条件起作用。
      4. 单击添加。此时,会在文本框中添加所选条件。
  4. 可选: 选择 XHTML 输入选项以允许编辑使用脚本中包含的 XHTML 标记。 如果复制富文本格式文本或在条件中使用富文本格式文本,那么必须选择 XHTML 输入选项。
    要点: 无效 XHTML 会导致无法生成文档。在保存更改之前,请验证 XHTML 是否有效。
  5. 可选: 将条件应用到当前元素之前,单击测试运行以测试条件。 如果该脚本运行正确,那么将显示 true。 如果该脚本运行不正确,那么将显示 false
  6. 单击确定

结果

将条件应用到元素时,该元素在模板内容编辑器中显示有 “条件”图标 图标:

段落元素上的“条件”图标

示例:使用条件编辑器构造条件

请查看这些示例以帮助您使用条件编辑器构造您自己的条件。

Rational® DOORS® 模式中具有对象标题的对象:
  • 展开属性 > 查询
  • 选择[对象标题] Object_Heading
  • 对于左侧的操作数,请选择[对象标题] Object_Heading
  • 对于运算符,请选择不等于
  • 对于右侧的操作数,请不要输入任何值。
  • 单击添加。JavaScript 会显示为 Object_Heading != ""
REST 模式中的高优先级需求:
  1. 展开属性 > 查询
  2. 选择优先级
  3. 对于左侧的操作数,请选择优先级
  4. 对于运算符,请选择等于
  5. 对于右侧的操作数,请输入
  6. 单击添加。JavaScript 会显示为 Priority == "High"
通过针对元素创建变量并设置此条件,移除属性的重复值:
  1. 展开变量 > 变量
  2. 选择变量
  3. 对于左侧的操作数,请选择变量
  4. 对于运算符,请选择等于
  5. 对于右侧的操作数,请不要输入任何值。
  6. 单击添加。JavaScript 会显示为 variable == ""

下一步做什么

如果您发现未对某个变量正确求值,请查看该变量是否为文字字符串 truefalse,例如,variable == "true"

在某些情况下,变量的值求值为布尔值而不是文字字符串值。示例:如果变量为布尔值 true 而非字符串 "true",那么 variable == "true" 将错误地求值为 false。并不会查找是否存在任何值,字 true 不会以值的形式在数据中发现。当变量来自计算,而不来自配置报告时提供它的文档规范或者作为变量的缺省值指定它的模板时,会发生此问题。

要确保变量正确求值,请通过使用以下其中一个选项来改写您的条件:
  • 选项 1:使您的条件能够处理文字字符串和布尔值。

    (variable == boolean_true_or_false) || ( variable == "string")

    示例:(variable == true) || ( variable == "true")

  • 选项 2:如果您提前知道变量将求值为布尔值或字符串值,那么可根据该值类型来设计条件。
    • 布尔值:variable == boolean_true_or_false

      示例:variable == true

    • 字符串值:variable == "string"

      示例:variable == "true"

为具有相同名称的属性创建别名

在脚本化过滤器或条件中,如果条件的左操作数和右操作数来自同一个属性名称,但属于两个不同的查询,那么条件不起作用。必须为这两个属性设置不同的别名,才能让条件起作用。

开始之前

编辑 Document Studio 首选项:
  1. Rational Publishing Engine Document Studio,单击窗口 > 首选项
  2. 展开 RPE,然后单击文档设计
  3. 使用模式注释来进行显示字段中,选择并单击确定

过程

要区分同名属性,可以使用别名功能来消除歧义。当您正在添加条件以验证模块描述是否与 DOORSObject 的描述相同时,请右键单击该属性以设置别名。

结果

现在,Query/Object/Object Text 属性称为 $1_Object Text,并且条件可正确处理。

下一步做什么

提示: 要检查如何将条件应用到数据,请单击测试。在“测试”窗口中,单击运行

反馈