テンプレート・エレメントの条件の作成

JavaScript 式を現行コンテキストでアクセス可能なデータ属性と変数で定義するには、条件エディターを使用します。

手順

  1. エレメントを右クリックし、「データ」 > 「条件の編集」を選択します。
  2. 「現行エレメントの条件を設定」ウィンドウで、「変数」「属性」を展開します。
    ヒント: 第 1 レベルの照会と照会の属性のみが、使用可能と表示できます。 第 2 レベルの場合、別の照会をエレメントに追加し、条件をそのエレメントに追加する必要があります。
  3. 以下のいずれかのオプションを使用して、JavaScript コードを入力します。
    • このウィンドウでスクリプトを手動で記述する
    • 外部エディターからこのウィンドウにスクリプトをコピーして貼り付ける
    • 「スクリプトの組み込み」をクリックして、コンピューター、リモート・サーバー、またはセントラル管理コンポーネントからファイルを選択する
    • 条件エディターを使用する:
      1. 「左オペランド」の属性または変数を選択します。
        注: 「現行エレメントの条件を設定」ウィンドウでツールを使用する場合、使用されるすべてのデータ属性または変数は、ツリー表示で自動的に選択されます。 条件を手動で入力する場合、データ属性または変数を手動で選択する必要があります。
      2. 「演算子」を選択します。
      3. ドロップダウン・メニューから「右オペランド」の属性または変数を選択します。
        注: 条件の左オペランドと右オペランドが同じ属性名からのものであるが、2 つの異なる照会に属している場合、条件は機能しません。 条件を機能させるには、それら 2 つの属性に異なる別名を設定する必要があります。
      4. 「追加」をクリックします。選択した条件がテキスト・ボックスに追加されます。
  4. オプション: 「XHTML 入力」オプションを選択して スクリプトに含まれている XHTML タグを編集できるようにする。 条件内でリッチ・テキストをコピーしているか、または リッチ・テキストを使用している場合は、「XHTML 入力」オプションを選択する必要があります。
    重要: 無効な XHTML により文書生成が失敗します。変更内容を保存する前に、 ご使用の XHTML が有効であることを確認します。
  5. オプション: 「テスト」および「実行」をクリックして、条件を現行エレメントに適用する前にテストします。 スクリプトが正しく実行されると、true が表示されます。 スクリプトが正しく実行されないと、false が表示されます。
  6. 「OK」をクリックします。

タスクの結果

条件をエレメントに適用すると、エレメントは 「条件」アイコン アイコンと一緒に、テンプレート・コンテンツ・エディターに表示されます。

段落エレメントの「条件」アイコン

例: 条件エディターでの条件の作成

これらの例を検討して、条件エディターでの固有の条件の構成に役立てることができます。

Rational® DOORS® スキーマにオブジェクト見出しがあるオブジェクト:
  • 「属性」 > 「照会」を展開します。
  • 「[オブジェクト見出し] Object_Heading ([Object Heading] Object_Heading)」を選択します。
  • 左オペランドに「[オブジェクト見出し] Object_Heading ([Object Heading] Object_Heading)」を選択します。
  • 「演算子」には「等しくない」を選択します。
  • 右オペランドには値を入力しないでください。
  • 「追加」をクリックします。JavaScript は「Object_Heading != ""」と表示されます。
REST スキーマでの最高優先順位要求:
  1. 「属性」 > 「照会」を展開します。
  2. 「優先順位」を選択します。
  3. 左オペランドに「優先順位」を選択します
  4. 「演算子」には、「等しい」を選択します。
  5. 右オペランドには High と入力します。
  6. 「追加」をクリックします。JavaScript は「Priority == "High"」と表示されます。
変数を作成し、この条件をエレメントに対して設定することで、属性から重複値を削除します。
  1. 「変数」 > 「variable」を展開します。
  2. 「variable」を選択します。
  3. 左オペランドに、「variable」を選択します。
  4. 「演算子」には、「等しい」を選択します。
  5. 右オペランドには値を入力しないでください。
  6. 「追加」をクリックします。JavaScript は「variable == ""」と表示されます。

次のタスク

変数が正しく評価されていない場合、変数が、リテラル文字列 true または false かどうかを確認してください (例: variable == "true")。

変数の値が、リテラル文字列値ではなく、ブール値に評価される場合もあります。 例: 値がブール値 true であり文字列 "true" ではない場合、variable == "true" は、false に誤って評価されます。 値の存在は探索されず、ワード true は、データ内で値として見つかりません。 この問題は、変数が計算から生じており、レポートの構成時に提供された文書仕様からも、変数のデフォルト値として指定されたテンプレートからも生じていない場合に起こります。

変数が正しく評価されるようにするには、以下のいずれかのオプションを使用して、条件を見直します。
  • オプション 1: リテラル文字列とブール値の両方を条件が扱えるようにする。

    (variable == boolean_true_or_false) || ( variable == "string")

    例: (variable == true) || ( variable == "true")

  • オプション 2: ブール値と文字列値のどちらに変数が評価されるかあらかじめ分かっている場合、その値の型を予期して条件を設計できます。
    • ブール値: variable == boolean_true_or_false

      例: variable == true

    • 文字列値: variable == "string"

      例: variable == "true"

同じ名前を持つ属性の別名の作成

スクリプト化フィルターまたは条件で、条件の左オペランドと右オペランドが同じ属性名からのものであるが、2 つの異なる照会に属している場合、条件は機能しません。 条件を機能させるには、それら 2 つの属性に異なる別名を設定する必要があります。

始める前に

Document Studio の設定を以下のように編集します。
  1. Rational Publishing Engine Document Studio で、「ウィンドウ」 > 「設定」をクリックします。
  2. 「RPE」を展開し、「文書の設計」をクリックします。
  3. 「スキーマの注釈を表示に使用する」フィールドで、「いいえ」を選択して、「OK」をクリックします。

手順

同じ名前の属性を区別するために、別名機能を使用してあいまいさを除去することができます。 モジュールの説明が DOORSObject の説明と等しいことを検査する条件を追加するには、属性を右クリックして別名を設定します。

タスクの結果

これで Query/Object/Object Text 属性は $1_Object Text と認識され、条件を正しく処理することができます。

次のタスク

ヒント: 条件がデータに適用される方法を調べるには、「テスト」をクリックします。 「テスト」ウィンドウで、「実行」をクリックします。

フィードバック