グループの定義
グループを定義すると、「パブリッシャ」に、要素が出現した「それぞれ」で、含まれているフィールドが表示されることを通知します。 実行時に、「パブリッシャ」は要素の出現をループし、毎回フィールドを表示します。
この例では、XMLファイルのG_VENDOR_NAMEが出現するたびに、テンプレートに子要素VENDOR_NAME (サプライヤ名)、G_INVOICE_NUM (請求書グループ)、入力済金額合計および計上済金額合計を表示します。 また、G_INVOICE_NUM (請求書グループ)が出現するたびに、テンプレートに請求書番号、請求書日付、GL記帳日、通貨、入力済金額および計上済金額を表示します。
繰返しフィールドのグループを指定するには、繰り返す要素の周りにグループ化タグを挿入します。
最初の要素の前に次のタグを挿入します:
<?for-each:XML group element tag name?>
最後の要素の後に次のタグを挿入します:
<?end for-each?>
「繰返しグループの挿入」を参照してください。
グループ・シナリオ
グループ化する場合、グループ要素はXML入力ファイルの繰返し要素の親である必要があります。 グループ化シナリオの一部を次に示します。
-
テキスト要素または書式設定要素を囲むグループ化タグを挿入すると、グループ・タグ間のテキスト要素と書式設定要素が繰り返されます。
-
表の周囲にタグを挿入すると、表が繰り返されます。
-
表のセルのテキストの前後にタグを挿入すると、タグ間の表のセル内のテキストが繰り返されます。
-
同じ表の行にある2つの異なる表のセルの周りにタグを挿入すると、単一の行が繰り返されます。
-
2つの異なる表の行にタグを挿入すると、タグ間の行が繰り返されます("end group"タグを含む行は含まれません)。
基本RTFメソッドの使用
文書内のタグを入力して、繰返し要素グループの開始と終了を定義します。
例でSuppliersグループを作成するには、タグを挿入します:
<?for-each:G_VENDOR_NAME?>
以前に作成したSupplier(サプライヤ)フィールドの前。
サマリー行の後に、ドキュメントに<?end for-each?>を挿入します。
次の図は、基本的なRTFグループ化およびプレースホルダー・マークアップを使用した買掛/未払金請求書台帳を示しています。
例の完成
例の2番目のグループは請求書グループです。 このグループの繰返し要素が表に表示されます。 請求書ごとに表の行を繰り返します。 これらの要素を含むグループを表内に作成します。
ノート:
各請求書について、表「行」のみが繰り返され、表全体は繰り返されません。 グループ化タグを表の行の最初と最後に配置すると、行のみが繰り返されます。 表の周囲にタグを配置すると、新しい請求書ごとに、見出しを含む表全体が繰り返されます。
例をマークアップするには、請求書番号プレースホルダーの前に、表のセルにグループ化タグ<?for-each:G_INVOICE_NUM?>を挿入します。 デフォルトのテキストGroup:Invoicesを入力して、グループの先頭を指定します。
終了タグを、計上済金額プレースホルダーの後に、行の最終表のセル内に挿入します。 デフォルトのテキストEnd:Invoicesを入力して、グループの終わりを指定します。
次の図は、フォーム・フィールド・メソッドを使用した完成した例を示しています。