<< 目次を表示 >> ページ位置: ドキュメントの生成 > DOCX/PDF/RTFドキュメント > ドキュメントのテンプレート > テンプレート部品 > テンプレート部品の定義 > テンプレートセレクタの利用 |
テンプレートセレクタとは、ドキュメントの生成対象の要素の種類に応じて、それぞれ個別のテンプレートを呼び出すための仕組みです。呼び出す先となるテンプレートは、事前に存在するテンプレート部品でなければなりません。テンプレート部品をテンプレートセレクタとして動作させる場合には、「カスタム」のセクションのみが必要です。
利用手順:
以下のいずれかの方法でドキュメントのオプションダイアログのカスタムクエリのタブを開きます。また、この操作をする前に、テンプレート内に「カスタム」のセクションを追加してください。「カスタム > <カスタム」というようなカスタムのセクションがテンプレートに含まれます。テンプレートセレクタを利用する場合、このカスタムのセクションが必要です。
リボン |
生成・入出力 > ドキュメント > テンプレートエディタ : <対象のテンプレート部品名> : (ドキュメントのオプション) > カスタムクエリ タブ |
キーボード |
F8 > テンプレート | テンプレート部品 | <対象のテンプレート部品名>, その後 (ドキュメントのオプション) > カスタムクエリ |
テンプレートセレクタの設定
項目 |
説明 |
テンプレート部品の種類の指定 |
「テンプレートセレクタ」を選択することで、テンプレートセレクタとして動作するようにできます。 |
定義内容 |
それぞれの行ごとに、対象の要素と、呼び出し先となるテンプレート部品を明記します。定義の形式は以下のいずれかとなります。
要素の種類::テンプレート部品名 要素の種類:ステレオタイプ名:テンプレート部品名
例: Action::Behavioral ActionPin::Simple Behavioral CollaborationUse::Structural
要素のステレオタイプで分岐したい場合の例: Class:table:Database Table
条件に合致しない場合に利用するテンプレート部品がある場合には、最後に以下の内容を追加します。 default::Fragment Name |
OK |
このボタンを押すと、変更内容を保存し、ダイアログを閉じます。 |
補足
定義内容を設定する場合の注意事項です。
定義内容を設定するためには、出力対象とする要素の種類およびステレオタイプの名前(文字列)を正確に知る必要があります。また、対象となるパッケージにどのような要素が含まれているかをある程度考慮して定義を設定する必要があります。以下は検討の例です。
Archimateの Business Actor 要素を対象にする場合
- 対象のパッケージにUMLとArchimateの要素が混在する場合 - Class: Archimate_Business Actor:BusActFrag
- 対象のパッケージにArchimateの要素のみを含む場合 - Class:BusinessActor:BusActFrag
- 対象のパッケージにArchimate Business Actorのみを含む場合 - Class::BusActFrag
(標準のUML拡張の) Business Actor 要素を対象にする場合
- 対象のパッケージにUMLとArchimateの要素が混在する場合 - Class:Business Actor:BusActFrag
- 対象のパッケージにArchimateの要素のみを含む場合 - Class:BusinessActor:BusActFrag
- 対象のパッケージにBusiness Actorのみを含む場合 - Class::BusActFrag
指定する種類やステレオタイプの具体的な文字列が不明な場合に調べる方法の一つとして、検索機能のSQLタブを利用する方法があります。 (ホーム > 探索 > 検索 > モデル内の検索 : > SQL Scratch Pad):
例えば、BPMNのデータオブジェクトをモデルブラウザで選択してから上記の検索を実行すると、以下のような情報が入手できます。
Name - Issue List[Initial]
Object_Type - Artifact
Stereotype - DataObject
これにより、定義内容として指定すべき文字列が、 Artifact:DataObject:<テンプレート部品の名前> であることがわかります。
なお、テンプレートセレクタを利用せずに通常のテンプレートを作成し、対象となる要素を検索機能で抽出してから、その結果に対してドキュメントを生成するような方法もあります。
参照: