掲示板一覧   -   トピック一覧
   EA ドキュメント生成
     RTFテンプレートで子要素の状態マシン図を出力する方法


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
sugimoto
投稿日時: 2012-1-25 13:51
EA Administrator
投稿: 1895

RTFテンプレートで子要素の状態マシン図を出力する方法

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

○ご質問

RTFテンプレートでドキュメント出力を行う際、子要素の状態マシン図を
出力できません。

パッケージの構成は、あるパッケージの中にダイアグラムと、
その要素のクラスがあり、クラス要素の子要素として状態マシンがあります。

例)
パッケージ
- ダイアグラム
- クラス1
 - 状態マシン1
- クラス2
 - 状態マシン2

テンプレートでは子要素の項目として名前などがありますが、
子要素のダイアグラムが見当たりません。

これはテンプレートで表示できるものなのでしょうか?

○回答

状態マシン1、状態マシン2とありますが、この要素の配下にステートマシン図が
配置されているという認識で合っておりますでしょうか?

この場合は、まずRTFテンプレートの構成欄の「パッケージ」配下の「要素」を有効にします。
このタイミングで内容欄に「子要素><子要素」が表示されますが「子要素>」と「<子要素」の間には
何も記述しないことがポイントとなります。

この場合は「要素>」と「<要素」と同じ内容が、子要素に対して出力されるようになります。

今回は、状態マシン要素配下のダイアグラム(ステートマシン図)を出力したいのでは
ないかと思いますので、構成欄の「パッケージ」→「要素」配下の「ダイアグラム」を
有効にしてください。

○ご質問(続)

状態マシンのダイアグラムを出力することは出来ました。

ただ、図の他に状態マシンの「開始」等の各要素も表示されてしまいます。
これは子要素を親要素と一緒のテンプレートで再帰的に出力しているために
{Element.Name}で表示されているものと思います。

状態マシンの各要素を出力させないようにするテンプレートの書き方はあるのでしょうか?
また、状態マシンの親要素の名前にのみ段落番号をつけることはできるでしょうか?

○回答(続)

提案1)

状態マシンの各要素とは、状態マシン要素配下にあるステートマシン図に配置した
開始・状態・終了などの要素を指していますでしょうか?

RTFドキュメントテンプレートでは、要素の種類によらず「要素>」と「<要素」
で囲まれた情報が出力されるようになっています。

分岐条件により、クラス要素用のフォーマット、そのほかの要素であれば
別のフォーマットで出力するということはテンプレート自体では実現できません。

この場合は、EAのAPIを利用し、要素の種類の判断およびDocumentGeneratorにより、
ご希望の出力ができるようにカスタマイズ(プログラミングによるアドインの作成)を
していただく必要がございます。

類似のご質問について、以下に情報を掲載しています。
「RTFドキュメントに子ダイアグラムを出力する場合のテンプレートの書き方」
https://www.sparxsystems.jp/forum/modules/xhnewbb/viewtopic.php?topic_id=4367&post_id=8748#forumpost8748

提案2)

クラス要素直下にステートマシン図および開始・状態・終了要素を配置する
(状態マシン要素を利用しない)ことも可能です。

この場合は、「要素>」と「<要素」の間には段落番号のある要素名、
「子要素>」と「<子要素」の間には、子要素(クラス要素配下の開始・状態・終了要素)用
に出力したい情報を設定することにより、同じ要素でも出力内容を変えることが可能になります。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ