掲示板一覧   -   トピック一覧
   Enterprise Architect 全般
     RTFドキュメントに子ダイアグラムを出力する場合のテンプレートの書き方


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
sugimoto
投稿日時: 2011-7-11 16:07
EA Administrator
投稿: 1895

RTFドキュメントに子ダイアグラムを出力する場合のテンプレートの書き方

サポートに寄せられたご質問の要約です。

○ご質問

RTFテンプレートにて、子ダイアグラムを生成するようにカスタマイズしましたが、
うまくいきません。

子ダイアグラムも含めるため、以下のようにチェックしましたが生成されませんでした。
---
パッケージ
パッケージー>ダイアグラム
パッケージー>ダイアグラムー>要素(ここで要素名を表示)
パッケージー>要素
パッケージー>要素ー>ダイアグラム
パッケージー>要素ー>子要素
パッケージー>子パッケージ
---

○回答

「パッケージ→ダイアグラム→要素」を有効にし、かつ、その要素のモデル情報タグ内に
要素名を出力するようにされていると思います。

この場合は、ダイアグラム上に配置した要素の情報を生成することになります。

この説明ですと問題ないように読めますが、今回の場合は「子要素」を有効にされており、
継承の関係により「子要素」の情報は「パッケージ→要素」内のモデル情報タグを参照する
ようになっております。

現在、この「パッケージ→要素」が空になっているので何も出力されません。

また、「パッケージ→ダイアグラム→要素」は、ダイアグラムと要素が
別々のパッケージに格納されている場合に利用しますが、ダイアグラムと要素が
同じパッケージ内に含まれる場合は、このチェックは不要になります。


このため、以下の2つの対応が必要になります。
・「パッケージ→要素」のモデル情報タグ内に、要素名を記述する
・「パッケージ→ダイアグラム→要素」は無効にする


○ご質問(続)

回答の内容で、子ダイアグラムの情報を生成するようにできました。

ただ、生成の順序として、まず、親ダイアグラムおよび親ダイアグラム上の
要素の情報をすべて生成した後、続いて、子ダイアグラムおよび子ダイアグラム上の
要素の情報をすべて生成したいのですが可能ですか?

現状は、親ダイアグラムの後、その要素の情報が生成されますが、
その配下に子ダイアグラムがあると、続いて子ダイアグラムおよびその要素が
生成されてしまいます。続いて、親ダイアグラム上の要素が生成されます。


○回答(続)

ご要望の出力順番につきましては、現在のRTFドキュメント生成テンプレートでは
実現できません。

実現するには、EA9.0から対応しております、RTFドキュメント生成のためのAPIを利用し、
プログラミングする必要があります。
RTFテンプレートよりも柔軟な条件・順序で生成することが可能です。


このAPIの情報は、ヘルプ「DocumentGenerator」にあります。

APIを利用して、パッケージ配下のダイアグラムや要素の情報を取得して
ドキュメントに情報を埋め込み、それが完了したら、子ダイアグラムや
子要素があるかをAPIで確認し、存在するようであれば、続いてその情報を
ドキュメントに埋め込むというプログラミングが必要になると思います。

APIの利用につきましては、以下の「アドインを作ってみる」のWebページで
作成の手順やソースコードのサンプルを提供しておりますので、ご参考になると思います。
https://www.sparxsystems.jp/products/EA/tech/tc_23.htm

また、コーポレートエディションでは、スクリプト機能が利用できますので、
EAのメインメニューから「表示」→「スクリプト」で開かれるサブウィンドウの
ローカススクリプト内のサンプルも参考になると思います。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ