<< 目次を表示 >> ページ位置: Enterprise Architectの操作 > パッケージ > MDAスタイルの変換 > モデル変換テンプレートの記述 > 相互参照 |
相互参照は変換の重要な要素となります。例えば、次のようにして利用されます。
個々の相互参照は、3つの異なる部分から構成されます。
変換のためのテンプレートを作成する場合には、TRANSFORM_REFERENCEマクロを利用して相互参照を作成するのが最も簡単です。
TRANSFORM_REFERENCE(<name>, <sourceGuid>, <namespace>)
このマクロの引数はいずれも省略可能です。このマクロは、以下の内容を中間言語として生成します。
XRef{namespace="<namespace>" name="<name>" source="<sourceGuid>"}
この相互参照を定義する必要がある場合は、変換で生成された要素間に接続を作成する場合です。
相互参照のよい例は、Enterprise Architectに組み込まれているDDLのテンプレートです。Classのテンプレートには相互参照が利用されています。この変換を実行すると、最大で2つの異なる接続が作成されます。これらの接続は相互参照の情報を元に、対象の要素間に適切に作成されます。
分類子の指定
オブジェクト・属性・操作の戻り値・操作の引数(パラメータ)は、型として他の要素を参照している場合があります。この型となる要素も変換によって生成される場合には、TRANSFORM_CLASSIFIERマクロを利用する必要があります。
TRANSFORM_CLASSIFIER(<name>, <sourceGuid>, <namespace>)
このマクロにより、型となる要素との間に相互参照を作成します。このマクロの引数はTRANSFORM_REFERENCEマクロと同じですが、生成され[連絡]ル中間言語では、XRefではなくClassifierが生成されます。
型となる要素が変換前にモデル内にすでに存在する場合(変換対象ではない場合)には、TRANSFORM_CLASSIFIER を利用することは適切ではありません。対象の要素のGUIDをclassifierとして直接指定して下さい。
classifierが中間言語内で指定された場合、typeとして設定された内容は無視されます。
参照: