照会の割り当て

照会は、データ・ソースから抽出するデータを定義し、データ・ソース・スキーマでパスの形式を取ります。 照会をテンプレート・エレメントに割り当てて、そのエレメントと子のデータ・コンテキストを定義できます。

このタスクについて

IBM® Rational® DOORS® の照会は、先頭がルート・エレメント (モジュール) であり、それに子エレメント (オブジェクト)、オブジェクトの子属性が続きます。 例: Module/Object/Attribute/Name

IBM Rational Tau の照会には、XPath 構文と似た構文があります。 ただし、XPath とは異なり、Rational Publishing Engine 照会はフィルターを指定しません。フィルター節とソート節は照会からは分離されています。 照会を別にして、各スキーマ・エレメントは、Rational Tau ネイティブ照会によって定義されます。 OCL で表現されるこの照会は、Rational Tau データを取り出します。 例えば、モデル・エレメント model.rootResource の下のルート・エレメントには、それに接続された GetModelRoots() Rational Tau 照会があります。

手順

  1. 照会を割り当てます。
    1. Document Studio で、「データ・ソース・スキーマ」ビューを開きます。
    2. エレメントをテンプレートに追加します。
    3. 照会を「データ・ソース・スキーマ」ビューからエレメントにドラッグします。
    照会はテンプレート・エレメントに割り当てられます。照会タイプの属性として、「データ・ソース・スキーマ」ビューからドラッグしたエレメントを、テンプレート・エレメントおよびその子エレメントの任意の場所で使用できます。
  2. 制限を照会エレメントに対して設定します。
    注: 制限を照会エレメントに設定することで、テンプレート・エレメントのサブセットを処理できます。
    1. Document Studio で、照会を含むテンプレート・エレメントを選択します。
    2. 「プロパティー」ビューで、「データ」タブを選択します。
    3. 「限度」プロパティーで、各照会で使用するデータ・ソースからのオブジェクトの数を入力します。 値 0 (ゼロ) は、照会に対して設定される限度がないことを表します。
  3. 再帰プロパティーを照会に割り当てます。 データ再帰を使用して、スキーマのメイン・ソース要求からすべての子要求を抽出します。
    1. 照会が含まれるエレメントを選択します。
    2. 「プロパティー」ビューで、Recursive Level プロパティーに対して、照会のレベルの深さを入力します。
    3. Recursive Segments プロパティーに対して、照会でセグメントを繰り返す回数を入力します。
    再帰レベルと再帰セグメントに関して、以下の例を参照してください。
  4. 変更を保存します。

タスクの結果

照会をエレメントに適用する場合は、テンプレート・コンテンツ・エディターでデフォルトでは青色で表示される 3 つの表示インディケーターがあります。
  • データ・ソース・スキーマ名
  • ドル記号 ($) で表示されるコンテキスト
  • 照会名
照会が適用されたセル・エレメント
ヒント: 照会から情報をクリアする場合、「参照のクリーンアップ」「データのクリア」は異なった働きをします。 「参照のクリーンアップ」は、照会があるエレメントを選択した場合にのみ使用できます。 「参照のクリーンアップ」では、エレメントにさらに割り当てられている照会や属性がある場合に、選択したエレメントとその子エレメントのすべての照会、属性、フィルター、ソート、および条件が削除されます。 「データのクリア」では、選択したエレメントとその子エレメントのすべての照会、属性、フィルター、ソート、および条件が削除されます。 マスター・ページ、スタイル、およびフォーマット設定の各プロパティーは削除されません。

例: 再帰レベルおよび再帰セグメント

Rational Publishing Engine でインストールされたサンプル (%RPE_HOME%\source\XML\examples\RequisitePro.xsd) で使用できる IBM Rational RequisitePro® スキーマの PRRequirement 照会を使用して、ソフトウェア要件のリストを表示できます。

それぞれの PRRequirement については、すべての子要求を抽出できます。それぞれの子要求については、各照会をテンプレートに追加せずにその子要求を抽出できます。

以下のそれぞれの照会を追加する代わりに、次のようにします。
  • PRRequirements を抽出する [$1] Project/Requirements/PRRequirement
  • PRRequirement の子要求を抽出する [$2] $1/Children/Relationship/RelatedReq
  • PRRequirement の各子要求の子要求を抽出する [$3] $2/Children/Relationship/RelatedReq
これらの要件に対して 1 つの照会を自動的に構成できます。
  1. Project/Requirements/PRRequirement/Children/Relationship/RelatedReq 照会をエレメントに追加します。
  2. 以下のようにして値を「Recursive Level」と「Recursive Segments」の各プロパティーに追加します。
    • 「Recursive Level」プロパティーに 4 を入力します。

      「Recursive Level」は、照会の深さのレベルを表します。1 以上の値を入力した場合、Recursive Segments プロパティーにも 1 以上の値を設定する必要があります。

    • 「Recursive Segments」プロパティーに 3 を入力します。
      「Recursive Segments」は、照会でセグメントを繰り返す回数を表しています。 この例の中のセグメントは、Children/Relationship/RelatedReq です。
      注: Recursive Segments プロパティーに入力される数値は、照会が含むセグメントの個数を超えてはなりません。 親照会は、セグメントとして含まれません。
  3. レポートを実行してテストします。
    レポートの実行時には、以下の照会が組み込まれます。
    • [$1] – Project/Requirements/PRRequirement/Children/Relationship/RelatedReq
      注: 最初の照会には、照会のコンテキスト全体を組み込む必要があります。
    • [$2] – $1/ Children/Relationship/RelatedReq
    • [$3] - $2/Children/Relationship/RelatedReq
    • [$4] – $3/Children/Relationship/RelatedReq
    Recursive Segments プロパティーに入力された数値が、照会が含むセグメントの個数を超えている場合、以下の 2 つのオプションのいずれかを使用して、問題を解決できます。
    • Recursive Segments プロパティーが適用されているエレメントを選択します。 「プロパティー」ビューで、「データ」タブを選択し、Recursive Segments プロパティーの値を減らします。
    • また、照会を再設計して、別の親照会から開始することもできます。 Recursive Segments の値が 1 セグメント高すぎる場合、コンテナー・エレメントを作成し、既存のエレメントの親照会より 1 レベル高位の照会を追加します。 その後、既存のエレメントをコンテナー・エレメントに移動します。

次のタスク

ヒント: エレメントを右クリックして、「検索」 > 「エレメント内のデータ参照」を選択することで、照会と属性のリストを検索できます。 「検索」ビューが開き、照会と属性のリストが表示されます。 結果に示された照会または属性をダブルクリックして、その内容を編集できます。

要素を右クリックして、「検索」 > 「要素内のすべての参照 (All references in element)」を選択することによって、要素で使用されている変数割り当て、属性、および照会のリストを検索できます。「検索」ビューが開き、リストが表示されます。結果内の項目をダブルクリックすると、それを編集できます。

適用対象のエレメントから、エレメントを右クリックして「検索」 > 「スキーマへ移動」を右クリックすることで、「データ・ソース・スキーマ」ビューで照会または属性を見つけることができます。 「データ・ソース・スキーマ」ビューが開き、照会または属性が強調表示されます。


フィードバック