示例:Rational Rhapsody 中的强制类型转换

类型强制类型转换会优化查询的结果并允许 Rational® Publishing Engine.xsd 模式类型视为不同的类型,这与编程语言中的强制类型转换操作类似。不会将类型分配给可以具有多种有效类型的模式元素。使用“数据源模式”视图中的强制类型转换功能来定义这些元素的类型。

开始之前

Rational Publishing Engine 1.2 和更低版本中,强制类型转换只能应用到查询的最后一段。查询示例:
  • 正确:Packages/Packages/NestedElements/ModelElement(Class)
  • 不正确:Packages/Packages/NestedElements/ModelElement(Class)/Attributes
要使第二个查询示例在 Rational Publishing Engine 1.2 中有效,必须将其分割成两个查询:
  • $1 - Packages/Packages/NestedElements/ModelElement(Class)
  • $2 - $1/Attributes

Rational Publishing Engine 1.2.0.1 中,强制类型转换可应用到查询的任一段中。

关于此任务

强制类型转换用作数据源元素的备用过滤器。强制类型转换查询将对常规查询的结果进行过滤以仅返回可转换为选定类型的元素。选择类型之后,它在数据源模式视图中 anyType 元素下是可用的。使用强制类型转换构建的查询允许访问该强制类型转换的所有子元素和属性。强制类型转换查询返回的结果集与查询(使用等价的 IsKindOf 谓词进行过滤)返回的结果集相同。强制类型转换查询和过滤查询之间的差别在于强制类型转换查询可让您访问强制类型转换属性和子元素,而过滤查询不允许访问。

过程

  1. 选用板视图,将 “容器”图标 容器元素拖到模板内容编辑器。
  2. 数据源模式视图中,将 ownedMember 类拖到容器元素。
  3. 可选: 将容器命名为 Class Container 以使参考更容易。
  4. 单击 “强制类型转换”图标 强制类型转换图标,以添加 ownedMember强制类型转换。
  5. 在容器元素下面添加 “段”图标 元素。
  6. 从“数据源模式”视图,将 Name(string) 属性拖到 Class Container 以添加软件包的名称。

反馈