欠落データ

テンプレートでモデルに存在しない属性に関する情報を取り出そうとすると、«No Model Data» というメッセージが印刷されます。例えば、Dishwasher モデルの一部のクラスの説明がない場合などです。

このタスクについて

データの欠落は属性と反復という 2 つのレベルで発生する可能性があります。Dishwasher クラスでの説明の欠落は、属性レベルでの発生 (IBM® Rational® Rhapsody® ReporterPLUS でモデルからクラスを取り出すことはできるが、一部のクラスにテンプレートで指定されたすべての属性のデータが含まれていない) を示しています。反復レベルでデータが欠落する場合もあります。例えば、オブジェクト・モデル図のないモデルを開いた状態で、オブジェクト・モデル図を反復するテンプレートを使用して文書を作成したときに、テンプレートはオブジェクト・モデル図を取り出そうとしますが、該当するオブジェクト・モデル図がない場合などです。

このセクションでは、属性または反復のいずれかのレベルでモデルからデータが欠落している場合の Rational Rhapsody ReporterPLUS の動作を制御する方法について学習します。

属性の変更

このタスクについて

«No Model Data» メッセージの印刷は、属性がモデルから欠落している場合の本製品のデフォルトの振る舞いです。この振る舞いを何かより具体的な内容に変更するには、以下の手順を実行します。

手順

  1. クラスのサブノード (テンプレート・ビューにある ‘…iterate over association "classes"' というラベルの付いた最後のノード) をクリックします。
  2. 「テキスト」タブで、«$descriptionHTML» 属性を右クリックしてコンテキスト・メニューを表示します。属性の上部を直接クリックするようにしてください。
  3. コンテキスト・メニューから「属性の編集」を選択して、「属性の編集」ダイアログ・ボックスを表示します。このダイアログ・ボックスで代替テキストを指定、および欠落している属性の前後のテキストに対する動作を制御できます。
  4. 「代替テキストを使用」を選択して、テキスト・フィールドに「モデルにこのクラスの説明が含まれていません」と入力します。これで、Rational Rhapsody ReporterPLUS では «No Model Data» の代わりにこのテキストが印刷されるようになります。
  5. ダイアログ・ボックスの「前のテキスト」セクションから、「前のテキストをスキップする」を選択します。 これは、Rational Rhapsody ReporterPLUS で、欠落している属性に対して「Description:」という語を印刷しないことを意味します。「属性の編集」ウィンドウは以下の図のようになります。
    「属性の編集」ウィンドウ
  6. 「OK」をクリックしてダイアログ・ボックスを閉じ、テンプレート・ノード・ビューで「適用」をクリックします。
  7. テンプレートを保存します。
  8. Microsoft Word 文書を生成し、最後のページに移動して文書のクラス・セクションを確認します。AbstractFactory クラスと AcmeFactory クラスについては、「モデルにこのクラスの文書が含まれていません (Model contains no documentation for this class)」というメッセージを参照してください。
    注: 「属性の編集」ダイアログ・ボックスでは、属性の後に定型句を組み込むかどうかを指定することもできます。「前」および「後」の選択に組み込まれる具体的なテキストについて詳しくは、オンライン・ヘルプ・トピックの『欠落属性の処理』を参照してください。さらに、Q 言語を使用して属性に関する詳細なステートメントを作成することができます。例えば、値が「true」に相当する場合にのみ、Rational Rhapsody ReporterPLUS でブール属性が印刷されるように指定するステートメントを作成できます。Q について詳しくは、『Q 言語』セクションを参照してください。

欠落している反復要素

このタスクについて

反復で取り出そうとしている要素がモデルにない場合、デフォルトの振る舞いでは反復がスキップされ、生成された文書にその反復について何も印刷されません。しかし、モデルに要素が含まれていない インスタンスを知りたい場合もあります。反復が指定されたモデル・データを検出できなくても、見出しまたは本文のテキストを印刷することができます。

ご使用のテンプレートは非常に単純 (ダイアグラムとクラスを取り出すだけ) であるため、このオプションがどのように機能するかを確認するには、Dishwasher モデルに存在しないことが分かっている汎用要素をテンプレートに追加する必要があります。

次の手順に従ってください。

手順

  1. モデル・ビューで、project ノードと containedPackages ノードを展開します。
  2. nestedPackages ノードを選択して、それをテンプレート・ビューの containedPackages 反復サブノード (…iterate over association "containedPackages") の上にドラッグします。 新規反復ノードが、テンプレートの下部の containedPackages クラス・サブノードの下に配置されます。
    注: nestedPackages をテンプレート・ビューのノード上にドラッグすると、マウス・ポインターが ✸ のシンボルに変わります。これは、その位置に項目をドロップできないことを表しています。
  3. 新規の nestedPackages 反復ノードをクリックします。
  4. 「データなし」タブをクリックします。
  5. 「代替テキストを使用」を選択します。
  6. テキスト・ボックス内でクリックしてカーソルを置いてから、「このモデルのパッケージにはネストされたパッケージはありません」と入力します。「データなし」タブは以下の例のようになります。
  7. 「OK」をクリックしてダイアログ・ボックスを閉じます。
  8. テンプレートを保存します。
  9. Word 文書を生成し、最後のページに移動して結果を確認します。「パッケージ «$name» のパッケージ情報」という見出しと、その後に続く「このモデルのパッケージにはネストされたパッケージはありません (No nested packages in the Package(s) of this model)」を確認してください。

フィードバック