XFA フォームテンプレートまたは XDP は、次のテンプレートです。
レイアウトフラグメント
XDP は Adobe Forms Designer でデザインします。この記事では、フォームフィールドやターゲット領域を使用する場所や、どういった場合にレイアウトフラグメントを使用するかなど、効率的な通信やインタラクティブ通信を作成するための XDP のデザイン方法について説明します。
レイアウトを使用して、レターまたはインタラクティブ通信の印刷チャネルの外観を定義します。レイアウトには、「アドレス」や「参照番号」などの一般的なフォームフィールドを含めることができます。また、ターゲット領域を示す空のサブフォームも含みます。フォームデザイナーでレイアウトを作成し、完了したら、アプリケーションスペシャリストがAEMサーバーにレイアウトをアップロードします。 通信テンプレートを作成する際、またはインタラクティブ通信の印刷チャネルを作成する際に、ここからレイアウトを選択できます。
インタラクティブ通信のレター/印刷チャネルのレイアウトを作成するには、次の手順に従います。
レイアウトを分析し、すべてのページで繰り返されるコンテンツを決定します。通常、このカテゴリに適したページのヘッダーとフッターです。 このコンテンツは、レイアウトのマスターページに配置されます。 残りのコンテンツはレイアウトのボディページに移動します。 ポリシージャケットでは、ロゴと会社の住所をマスターページのヘッダーおよびフッターに追加できます。 例えば、キャンセル通知の場合も同じレイアウトが使用されます。
ボディページをデザインする場合は、ページのコンテンツを複数のセクションに分割します。 各セクションは、レイアウト自体に埋め込まれるサブフォーム、またはフラグメントレイアウトとしてデザインされます。 セクションにテーブルが含まれる場合は、セクションをレイアウトフラグメントとしてモデル化します。
レイアウトは、次のように設計できます。
インタラクティブ通信の作成に必要なレイアウトを分析したら、Forms Designer を使用して XDP テンプレートにサブフォームを作成できます。XDP テンプレートで使用される空のサブフォームコンポーネントにより、インタラクティブ通信の印刷チャンネルにターゲット領域が表示されます。
XDP テンプレートのサブフォームコンポーネントにコンテンツを追加する代わりに、インタラクティブ通信の印刷チャンネルにコンテンツを追加します。ドキュメントフラグメント、グラフ、画像、レイアウトフラグメントを使用して、印刷チャンネルのターゲット領域にコンテンツを追加します。
XDP テンプレートでサブフォームを使用するには、以下の手順を実行します。
テンプレート作成用のフォームを表示するには、Forms Designer を開き、ファイル/新規/空白のフォームを使用を選択し、「次へ」、「完了」の順にタップします。
ウィンドウメニューから「オブジェクトライブラリ」および「オブジェクト」オプションが選択されていることを確認します。
サブフォームコンポーネントをオブジェクトライブラリからフォームにドラッグアンドドロップします。
サブフォームを選択すると、右側のペインのオブジェクトウィンドウにサブフォームのオプションが表示されます。
「サブフォーム」タブを選択し、「コンテンツ」ドロップダウンリストから「フローレイアウト」を選択します。長さを調整するには、サブフォームの左のエンドポイントをドラッグします。
「連結」タブで、次のように設定します。
同様に、左のウィンドウからルートサブフォームを選択します。
「サブフォーム」タブを選択し、「コンテンツ」ドロップダウンリストから「フローレイアウト」を選択します。「連結」タブで、次の手順を実行します。
手順 2~5 を繰り返して、XDP テンプレートにさらにサブフォームを追加します。 インタラクティブ通信のオーサリング時にのみ、テキスト、ドキュメントフラグメント、画像、グラフをターゲット領域に追加します。
ローカルのファイルシステムにファイルを保存するには、ファイル/名前を付けて保存を選択して、次の手順を実行します。
ファイルを保存する場所に移動し、XDP テンプレートの名前を指定します。
選択 .xdp から 名前を付けて保存 」ドロップダウンリストから選択できます。
「保存」をタップします。
XDP テンプレートの画像フィールドまたはサブフォームコンポーネントを使用し、インタラクティブ通信のオーサリング時に画像を追加します。
XDP テンプレートの画像フィールドまたはサブフォームコンポーネントに画像を追加する代わりに、インタラクティブ通信の印刷チャネルに画像を追加します。詳しくは、 インタラクティブ通信にコンテンツを追加するを参照してください。
XDP テンプレートで画像フィールドコンポーネントを使用するには、次の手順を実行します。
画像フィールドコンポーネントをオブジェクトライブラリからフォームにドラッグ&ドロップします。
サブフォームを選択すると、右側のペインのオブジェクトウィンドウでサブフォームのオプションが表示されます。
「連結」タブで、次のように設定します。
Forms Designer のテーブルコンポーネントを使用してレイアウトフラグメントを作成し、それらを使ってインタラクティブ通信の印刷チャネルオーサリング中にテーブルを作成します。印刷チャネルを使用して web チャネルを自動生成する場合、レイアウトフラグメントを使用してテーブルを作成すると、テーブルのコンテンツの構造が維持されます。
テーブルのセルにテキストを入力するか、インタラクティブ通信のオーサリング時にのみフォームデータモデルオブジェクトとの連結の作成をします。
Forms Designer を使用して XDP テンプレートでテーブルコンポーネントを使用するには、次の手順を実行します。
テーブルコンポーネントをオブジェクトライブラリからフォームにドラッグ&ドロップします。
テーブルの挿入ダイアログで、次の手順を実行します。
テーブル名の横の左ペインで + をタップして、ヘッダーと他の行に含まれるセル名を右クリックし、オブジェクト名を変更を選択してテーブルセルの名前を変更します。
デザインビューでテーブルヘッダーのテキストフィールドをクリックして、名前を変更します。
テキストフィールドコンポーネントをオブジェクトライブラリからデザインビューの各テーブルセルにドラッグ&ドロップします。この手順を実行すると、インタラクティブ通信のオーサリング時に、テーブルのセルをフォームデータモデルオブジェクトに連結できるようになります。
左のペインから行の名前を選択し、オブジェクト/連結/各データアイテムについて行を繰り返すを選択します。この手順を実行すると、コレクション型のフォームデータモデルオブジェクトを持つこの行のテーブルセル間に連結が作成された場合、データベースで使用可能な各データ項目に対して、テーブル行が自動的に繰り返されます。
テーブルのセルにテキストを入力するか、 インタラクティブ通信のオーサリング時にのみフォームデータモデルオブジェクトとの連結の作成をします。
ローカルのファイルシステムにファイルを保存するには、ファイル/名前を付けて保存を選択して、次の手順を実行します。
ファイルを保存する場所に移動し、XDP テンプレートの名前を指定します。
選択 .xdp から 名前を付けて保存 」ドロップダウンリストから選択できます。
「保存」をタップします。
Forms Designer を使用して XDP テンプレートを作成したら、そのテンプレートをAEM Formsサーバーにアップロードして、インタラクティブ通信の作成時に使用できるようにする必要があります。
レイアウトまたはレイアウトフラグメントでスキーマを使用できますが、必須ではありません。 スキーマを使用する場合は、次の点を確認します。
デフォルトでは、すべてのフィールドは他の様々なデータソースと関連付け可能と見なされます。 レイアウトにデータソースと関連付け可能でないフィールドが含まれる場合は、そのフィールドに「_int」(内部)サフィックスを付けます。例えば、pageCount_int のように指定します。
関連付け可能なフィールドには、次の条件が当てはまります。
関連付け可能なフィールドには、次の条件が当てはまります。
関連付け可能なフィールドは次のことはできません。
関連付け可能なフィールドが上記の基準を満たす限り、レイアウト内の任意の場所と任意の深さで配置できます。 マスターページ内で関連付け可能なフィールドを使用できます。
レイアウト設定では、ターゲット領域のサブフォームよりもフィールドの方が柔軟です。ただし、単一の値の型に結び付けられています。 フィールドを大きくしたり、幅と高さを固定したりできます。 解決されたモジュールまたはルールの結果が、フィールドにプッシュされます。
トップダウンの垂直フローレイアウト(複数の段落または画像)で複数のモジュールコンテンツを取り込む場合は、サブフォームを使用します。 レイアウトは、サブフォームのコンテンツに合わせて高さが拡大されるという点に対応する必要があります。 サブフォーム/ターゲットに関連付けられたコンテンツの長さがレイアウトのサブフォーム用に確保されたスペースを超えていないと確信できない場合は、フローサブフォームコンテナ内に子としてサブフォームを作成します。 このプロセスにより、サブフォームの下のレイアウトオブジェクトは、サブフォームの拡大に応じて下方にフローします。
モジュールデータやデータディクショナリ要素のデータをレイアウトのスキーマに取り込む場合は、フィールドを使用します。フィールドはデータに連結されているためです。 マスターページ内のコンテンツは本文ページのコンテンツと共にフローできないので、画像フィールドをヘッダーロゴとして使用する必要があります。 次の表に、レイアウトでサブフォームとフィールドのどちらを使用するかについて、その他の条件を示します。
サブフォームを使用する場合 |
テキストフィールドを使用する場合 |
姓と名など、要素の組み合わせが含まれます |
ポリシー番号など、単一の要素が含まれます。 |
複数の段落が含まれます。 |
テキストを折り返し、両端揃えします。 |
繰り返し、オプションおよび条件付きのデータグループはサブフォームに連結され、スクリプトを使用して同じ結果を得る場合に発生する可能性のある設計エラーのリスクを軽減します |
組織のロゴや住所などの要素は、レター/インタラクティブ通信のすべてのページに表示されます。 この場合、これらの要素のフォームフィールドを作成し、マスターページに配置します。 フィールドの連結を「データ連結なし」に設定した場合、レター/インタラクティブ通信エディターでは、関連付け可能なフィールドとしてフィールドが表示されません。 これらのフィールドに何らかの種類のコンテンツを関連付ける場合は、連結が必要です。 会社の住所に複数行のデータが含まれる場合は、テキストフィールドの「複数行」オプションを使用して、レイアウト上の住所を表します。 テキストフィールドのデータタイプがプレーンテキストに設定されている場合、リッチテキストバージョンの代わりに、モジュール出力のプレーンテキストバージョンが使用されます(すべての書式が破棄されます)。 書式設定を保持するには、テキストフィールドのデータタイプをリッチテキストに設定します。 |
テキストをフローします |
テキストフィールドと画像フィールドは、マスターページで使用されます。 マスターページでは、サブフォームをターゲット領域として使用できません。 |
サブフォームをデータ要素に連結せずに、オブジェクトをグループ化し、整理する |
|
サブフォーム内にテキストフィールドがあります。 サブフォームは拡大しても、レイアウト上のサブフォームの下にある他のオブジェクトは上書きされません。 |
後処理で、そのデータに簡単にアクセスできる必要があります。 |
組織のロゴや住所などの要素がレターやインタラクティブ通信のすべてのページに表示される場合は、それらの要素のフォームフィールドを作成し、マスターページに配置します。 これらのフィールドには名前(フィールド名)の連結を使用します。
レイアウトのサーバーレンダリング形式をダイナミック XML フォームに使用します。使用しない場合、このレイアウトに基づくレター/インタラクティブ通信は正しくレンダリングできません。 デフォルトでは、Forms Designer のサーバーレンダリング形式はダイナミック XML フォームに設定されています。 正しい形式を使用していることを確認するには、次の手順を実行します。