反復エレメントの追加

セクションを複写するためにテンプレートのブロックをコピーして張り付けるよりも、 反復エレメント内の do while condition プロパティーを 使用してテンプレート内にループを作成します。
制約事項: 新機能アイコン 反復エレメントは、バージョン 2 テンプレートでのみ使用可能です。

始める前に

このタスクについて

反復は、それらと、その子エレメントに適用される照会を 2 段階で処理します。 最初の段階として、文書生成中にそれらのエレメントは 1 回処理されます。 2 番目の段階として、反復エレメントに適用される条件が処理されます。 条件が真である場合、反復エレメントとその子エレメントは再び処理されます。 これらのセクションは、条件が真でなくなるまで処理が続行されます。

最初の段階で、条件で使用されるデータは、段階が有限数となるように変更する必要があります。 この条件は、セクションの処理を終了させ、ループを続行しないようにするためのものです。 以下の例のステップ 5 では、この条件は「teamList 変数が空でない」です。 そのため、teamList 変数にデータ項目があれば、条件は真であることになります。 データ項目がなくなった場合、条件は偽となり、繰り返しは終了します。

照会を複数回実行するには、ループ・コンテナー内に動的データ・ソース構成エレメントを追加して、照会が複数回初期化されるように強制します。

手順

  1. 「反復」
アイコン 「反復」エレメントをテンプレート・コンテンツ・エディターに 追加します。
    注: 反復エレメントをマスター・ページに入れることはできません。
  2. 複写するテンプレートのセクションを選択して、反復 エレメントにドラッグします。
  3. 反復エレメントを選択します。
  4. 「プロパティー」ビューで、「特定」タブを選択します。
  5. do while condition 値で、「構成」アイコンをクリックします。
  6. 「スクリプト式」タブを選択します。 無限ループが作成されるため、「単純値」タブに スクリプトを入力することはできません。
  7. 変数を選択します。 変数を持つループを作成すると、ループに特定の回数が適用されるか、またはこの変数を使用して多くのデータ値が適用されるようにすることができます。
  8. スクリプトを入力します。
  9. 「OK」をクリックします。
  10. 変更を保存します。

使用されるチーム・メンバーのリストの作成:
  1. teamList という名前の外部変数を作成します。
  2. currentMember という名前の外部変数を作成します。
  3. テーブル・エレメントを作成して条件を適用するには、以下のようにします。
    1. 「テーブル」アイコン テーブル・エレメントをテンプレート・コンテンツ・エディターに追加します。
    2. 1 列および 2 行を入力します。
    3. テーブル・エレメントを右クリックし、「データ」 > 「条件の編集」を選択します。
    4. teamList 変数を選択します。
    5. 左オペランドには teamList 変数を選択します。
    6. 「演算子」には「等しくない」を選択します。
    7. 右オペランドには値を入力しないでください。
    8. 「追加」をクリックします。スクリプトの結果は次のようになります。teamList != ""
    9. 「OK」をクリックします。
  4. 最初のセルに、列の見出しを追加するには、以下のようにします。
    1. 「テキスト」アイコン テキスト・エレメントをセルに追加します。
    2. テキスト・エレメントをダブルクリックして、コンテンツ・エディターを開きます。
    3. 見出し名 Team Member List を入力します。
    4. 「OK」をクリックします。
    5. 「プロパティー」ビューで、「フォント」タブを選択します。
    6. 「太字」プロパティーをクリックします。
    7. 「True」を選択して、「OK」をクリックします。
  5. 反復エレメントを追加するには、以下のようにします。
    1. 「反復」
アイコン 反復エレメントを「パレット」ビューからドラッグして、 テーブルの行間に配置します。
    2. 反復エレメントを選択します。
    3. 「プロパティー」ビューで、do while condition プロパティーに、このスクリプトを入力します。teamList != ""
    4. 2 つの「コンテナー」
アイコン コンテナー・エレメントを反復エレメント内に追加します。最初のコンテナーは、現在の行で使用される最初の名前をリストから計算するために使用されます。2 番目のコンテナーは、ループが不必要に継続されないよう、それを終了させるために使用されます。
    5. 2 番目の行およびそのコンテンツを反復エレメントにドラッグして、 コンテナー・エレメントの後に配置します。
  6. 最初のコンテナー・エレメントに変数を割り当てるには、以下のようにします。
    1. 最初のコンテナー・エレメントを右クリックします。
    2. 「データ」 > 「割り当ての編集」を選択します。
    3. 「追加」をクリックします。
    4. currentMember 変数を選択して、「OK」をクリックします。
    5. 「スクリプト式」タブを選択します。
    6. teamList 変数を選択して、次のスクリプトを 入力します。
      var pos = teamList.indexOf( ",");
      
      if ( pos >=0)
      {
         // get the first member ( till the first comma)
          teamList.substr( 0, pos);
      }
      else
      {
          // last member
          teamList;
      }
    7. 「OK」をクリックし、「OK」をクリックします。
  7. 2 番目のコンテナー・エレメントに変数を割り当てるには、以下のようにします。
    1. 2 番目のコンテナー・エレメントを右クリックします。
    2. 「データ」 > 「割り当ての編集」を選択します。
    3. 「追加」をクリックします。
    4. teamList 変数を選択して、「OK」をクリックします。
    5. 「スクリプト式」タブを選択します。
    6. teamList 変数を選択して、次のスクリプトを 入力します。
      var pos = teamList.indexOf( ",");
      
      if ( pos >=0 && pos < teamList.length)
      {
         // get the first author ( till the first comma)
          teamList.substr( pos + 1);
      }
      else
      {
          // last member, remove it
          ""
      }
  8. currentMember 変数を「アウトライン」ビューから 2 番目の行内のセルにドラッグします。
  9. 出力をテストします。

フィードバック