Rational® DOORS® はプロプラエタリー API をサポートし、フィルターは Rational DOORS ビュー構文を使用して表現されます。
以下の
Rational DOORS ネイティブ・フィルターの例は、「オブジェクト・テキスト」属性に語「
Documentation」が含まれるオブジェクトをフィルタリングします。
Attribute 'Object Text' contains 'Documentation' (case sensitive)
Rational DOORS データ・ソース用のネイティブ・フィルター・テキストを生成するには、次のようにします。
- Rational DOORS モジュールを開き、をクリックします。
- 以下のようにしてフィルター構文を作成します。
- 「属性」タブを選択します。
- 「属性」に対して、「オブジェクト・テキスト」を選択します。
- 「条件」に対して、「含む」を選択します。
- 「値」に対して、フィルター対象とする特定の値を入力します。
例えば、「オブジェクト・テキスト」属性で「Documentation」という語を含むオブジェクトのみをフィルタリングするには、「Documentation」と入力します。
- 「追加」をクリックします。拡張オプションのセクションで、規則構文が作成されます。
- 「説明」をクリックし、説明全体をコピーします。
これで、DXL スクリプトである Rational DOORS フィルターを使用できるようになります。
Rational DOORS フィルターを
Rational Publishing Engine テンプレート・エレメントに追加するには、次のようにします。
- フィルター対象の照会を含むテンプレート・エレメントを選択します。
- 「プロパティー」タブで、「データ」を展開します。
- 「フィルター」フィールドで、省略符号をクリックします。
「フィルター・エディター」ウィンドウが開きます。
- 「ネイティブ・フィルター」タブで、Rational DOORS フィルター (DXL スクリプト) を貼り付け、「OK」をクリックします。
向きによるフィルター
すべてのイン・リンクまたはアウト・リンクをフィルター処理するための構文は次のとおりです。
Link direction in|out
リンク・モジュールによるフィルター
リンク・モジュールを使用してすべてのリンクをフィルター処理するための構文は、Link module link_module_path_and_name です。
このフィルターには大/小文字の区別があります。
次の例は、Link Module 1 からのリンクをすべてフィルター処理します。
Link module/Demo/Car/Link Module 1
ターゲット・モジュールによるフィルター
指定したモジュールへのリンクまたは指定したモジュールからのリンクをすべてフィルター処理するための構文は、Link analyze module target_module_path_and_name です。
次の例は、analyze モジュールと system requirement モジュール間のリンクをすべてフィルター処理します: Link analyze module /Demo/Car/System Requirements
ネイティブ・リンク・フィルターの結合
「ネイティブ・フィルター」タブで複数のフィルターを結合できます。1 行に 1 つのフィルターを入力します。
例えば、
「ネイティブ・フィルター」タブで、次のようなフィルターを入力します。
Link direction out.
Link analyze module/Demo/Car/System Requirements.
再帰的取得
Rational DOORS のリンクに再帰的に従うには、「プロパティー」ビューで Recursive Level プロパティーをゼロ以外の値に設定します。これにより、初期オブジェクトおよびそのすべてのリンク・オブジェクトから、指定した再帰レベルまで、リンクに従います。
注: リンクに従うプロセスには時間がかかります。通常、各オブジェクトには多くのリンクが含まれているため、レベルが 1 つ増えると、処理するオブジェクトの数は急激に増加します。時間を短縮するには、ネイティブ・フィルターを使用して、従わないリンクの数を減らしてください。