XFA フォームテンプレートまたは XDP は、以下の項目のテンプレートです。
レイアウトフラグメント
XDP は Adobe Forms Designer でデザインします。この記事では、フォームフィールドやターゲット領域を使用する場所や、どういった場合にレイアウトフラグメントを使用するかなど、効率的な通信やインタラクティブ通信を作成するための XDP のデザイン方法について説明します。
レイアウトを使用して、レターまたはインタラクティブ通信の印刷チャネルの外観を定義します。レイアウトには、「住所」や「参照番号」などの一般的なフォームフィールドを含めることができます。 また、ターゲット領域を示す空のサブフォームも含めます。Form Designer で作成したレイアウトは、アプリケーションによって AEM サーバーにアップロードされます。通信テンプレートまたはインタラクティブ通信の印刷チャネルを作成する際に、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」(internal)というサフィックスの名前を付けます(例えば、pageCount_int)。
関連付け可能なフィールドには、次の要件があります。
関連付け可能なフィールドには、次の要件があります。
次の条件の関連付け可能なフィールドは禁止されています。
関連付け可能なフィールドが上記の条件を満たす限り、レイアウトの任意の位置、任意の深さの入れ子に配置できます。マスターページ内で関連付け可能なフィールドを使用できます。
レイアウトの設定で、フィールドはターゲット領域のサブフォームよりも柔軟に使用できますが、単一の値の型に関連付けられています。フィールドのサイズを大きくしたり、幅と高さを固定したりできます。解決されたモジュールまたはルールの結果は、フィールドにプッシュされます。
トップダウンの縦型フローレイアウトの複数モジュールコンテンツ(複数の段落や画像)をキャプチャする場合、サブフォームを使用します。このレイアウトは、コンテンツに合わせてサブフォームの高さが増加することに対処する必要があります。サブフォームまたはターゲットに関連付けられるコンテンツが、レイアウトでサブフォーム用に予約したスペースを超えないと確信できない場合、フローされるサブフォームコンテナ内の子としてサブフォームを作成します。このプロセスによって、サブフォームの下のレイアウトオブジェクトは、サブフォームの成長に合わせて下方にフローします。
モジュールデータまたはデータディクショナリ要素データをレイアウトのスキーマにキャプチャする場合や、モジュールコンテンツをマスターページに表示する場合、フィールドを使用します。マスターページのコンテンツはボディページのコンテンツと共にフローできないので、画像フィールドは必ずヘッダーロゴとして使用します。次の表に、レイアウトにサブフォームとフィールドのどちらを使用するかについて、その他の条件を示しています。
サブフォームを使用する場合 |
テキストフィールドを使用する場合 |
姓と名など、複数の要素の組み合わせが含まれます。 |
ポリシー番号など、単一の要素が含まれます。 |
複数の段落が含まれます。 |
テキストを折り返し、両端揃えします。 |
繰り返し、オプションおよび条件付きのデータグループはサブフォームに連結され、スクリプトを使用して同じ結果を達成する場合に発生する可能性がある設計エラーのリスクが軽減されます。 |
会社のロゴや住所などの要素が、レターまたはインタラクティブ通信のすべてのページに表示されます。この場合、それらの要素のフォームフィールドを作成し、マスターページに配置します。フィールドの連結を「データ連結なし」に設定すると、レターエディターまたはインタラクティブ通信エディターで、関連付け可能なフィールドが表示されなくなります。このようなフィールドに何らかのタイプのコンテンツを関連付ける場合、フィールドには連結が必要です。 会社の住所が複数行にわたる場合、テキストフィールドの「複数行」オプションを使用して、レイアウト上に住所を示します。 テキストフィールドのデータタイプがプレーンテキストに設定されている場合、リッチテキストバージョンではなくプレーンテキストバージョンのモジュール出力が使用されます(すべてのフォーマットが破棄されます)。書式設定を維持するには、テキストフィールドのデータタイプをリッチテキストに設定します。 |
テキストをフローします。 |
マスターページでテキストフィールドと画像フィールドが使用されます。マスターページはターゲット領域としてサブフォームを使用できません。 |
サブフォームがデータ要素に連結されずに、オブジェクトがグループ化および編成されます。 |
|
サブフォーム内にテキストフィールドがあります。サブフォームのサイズが大きくなります。レイアウトの下方にある他のオブジェクトは上書きされません。 |
後処理時にフィールドのデータにアクセスしやすくする必要があります。 |
会社のロゴや住所などの要素が、レターまたはインタラクティブ通信のすべてのページに表示されている場合は、それらの要素用のフォームフィールドを作成してマスターページ上に配置します。これらのフィールドには名前(フィールド名)の連結を使用します。
ダイナミック XML フォームに対して、レイアウトのサーバーレンダリング形式を使用する必要があります。この形式を使用しないと、このレイアウトをベースとするレターやインタラクティブ通信が正しくレンダリングされません。デフォルトで、ADEP Designer のサーバーレンダリング形式はダイナミック XML フォームに設定されています。正しい形式を使用していることを確認するには、次の手順を実行します。