预订演示
前页 后页

交叉引用

交叉引用是转换的重要组成部分。您可以使用它们:

  • 找到要与之同步的转换类
  • 在转换的类之间创建连接器
  • 指定一个类型的分类器
  • 确定未来转型的转型目标
每个交叉参考都包含三个不同的部分:
  • A命名空间,对应于生成元素的变换
  • 名称,它是对可以在转换中生成的事物A唯一引用,以及
  • A源,它是创建此元素的元素的GUID
在为转换编写模板时,最容易使用为此目的定义的宏生成交叉引用:

TRANSFORM_REFERENCE (<name>, <sourceGuid>, <namespace>)

这三个参数是可选的。该宏会生成一个类似于以下内容的引用:

外部参照{namespace="<namespace>" name="<name>" source="<sourceGuid>"

  • 如果未指定 <name>,则宏获取当前模板的名称
  • 如果未指定 <sourceGUID>,则宏获取当前类的GUID
  • 如果未指定 <namespace>,则宏获取当前转换的名称
唯一应该指定交叉参考的时间是在创建连接到在不同转换中创建的类时。

使用交叉引用的A很好的例子是Enterprise Architect提供的 DDL 转换。在类模板中创建了一个名为“库表”的交叉参考。然后最多可以创建两个不同的连接器,每个连接器都必须标识它使用交叉引用连接的两个类,同时具有自己独特的交叉参考。

指定分类器

对象、属性、操作和参数都可以引用模型中的另一个元素作为它们的类型。从转换创建此类型时,您必须使用交叉引用来指定它,使用宏:

TRANSFORM_CLASSIFIER (<name>, <sourceGuid>, <namespace>)

此宏在分类器元素中生成交叉引用,其中参数与 TRANSFORM_REFERENCE 宏相同,但生成的是名称分类器而不是外部参照。

如果目标分类器在转换之前已经存在于模型中,则TRANSFORM_CLASSIFIER是不合适的,因此可以直接将GUID赋予一个分类器属性。

如果为任何类型指定了分类器,它将覆盖该类型。

了解更多