Assembler サービスの動的アセンブリ機能では、XDP ファイルを結合したりフラグメントを XDP ファイルの挿入ポイントに配置することができます。フォームのデザイナーがフラグメントおよび画像を相対参照する LiveCycle Designer ES2 のデフォルトの動作を使用する場合、他の LiveCycle Designer ES2 のサービスで、フォームの処理やレンダリングに問題が発生する場合があります。とくに次の問題は発生する可能性があります。

  • フラグメント内で使用されている相対画像参照を解決できない
  • フラグメントへの相対参照を使用している XDP フォームやフラグメントを解決できない

これらの制限は将来のサービスパックで解決される予定です。 

フラグメントや画像を使用してフォームを作成する

LiveCycle ES2 Designer と Assembler サービスを利用すると、フラグメントを含む XML フォームテンプレートが作成できます。フラグメントは、他のフォームで使用されるフォームの一部です。フラグメントを使用すると、大量のフォームの作成と保守が素早く簡単にできます。 

  • Designer を使用すると、デザイナーはフラグメントを含むフォームを作成できます。 
  • LiveCycle ES2 (9.0) を使用し、Assembler サービスは XDP 動的アセンブリーをサポートし、DDX 文書がフォームへのフラグメントの挿入を指定します。(動的 XDP アセンブリーは、複数の XDP 文書を 1 つの XDP 文書にアセンブルすることもできます。)XDP 動的アセンブリは、フォームフラグメントの Designer サポートを強化します。つまり、フォームのフラグメントを含むためのデザインと XDP 動的アセンブリの使用に互換性があります。

以下に、ベースフォーム内でフラグメントや画像をいかに使用できるかを図で示します。ベースフォームは 2 つのフラグメントを参照しています。これらのフラグメントの 1 つは画像を参照しています。下位のフォームには、アセンブルされレンダリングされたフォームが表示されます。

Interform_References

Designer を使用してフラグメントを含むフォームを作成する

フォームのデザイナーは、フラグメントライブラリからフラグメントを選択することで、フラグメントをフォームに挿入できます。XML バージョンのフォームでは、Designer がそのフラグメントに対応する参照を挿入します。デフォルトでは、これらの参照は相対的です。

既存のフォームからのサブフォームを、フラグメントとしてフラグメントライブラリに抽出できます。この場合、フォームのデザイナーはこのサブフォームを、抽出されたフラグメントへの参照で置き換えたり(デフォルトの動作)、サブフォームのコンテンツをそのまま保持したりできます。

Designer を使用して画像を含むフォームを作成する

フォームのデザイナーは、画像やオブジェクトをフォームに追加するときに、画像の URL を指定したりその場所を参照して指定したりできます。後者の場合、デフォルトでは Designer は相対参照を使用して、画像ファイルの場所を指定します。

問題:

フォームまたは出力のサービスが XDP フォームをレンダリングすると、フォームを構築するために使用されるフラグメント内に表示される相対的な画像の参照(たとえば、../myImage.jpg)を解決できません。このような未解決の画像を持つ XDP フォームでは、これらのサービスは XDP をレンダリングしますが、その結果には未解決の画像は省略されます。画像が解決できないという警告も表示されます。

解決策

フォームのデザイナーは、フォームに画像を埋め込むか、画像の参照を画像を正しく検出する絶対 URL に変更することで、画像の参照を解決できます。絶対 URL の例 : File:///myDirectory/myImage.jpg。Designer ES2 のデフォルト動作は、画像に対して相対参照を使用します。 

Assembler サービスを使用してフラグメントを含むフォームを作成する(XDP 動的アセンブリー)

XDP 動的アセンブリで、開発者は、Assembler サービスに XML フォームテンプレート内の挿入ポイントにフラグメントを読み込むように指示する DDX ドキュメントを作成します。これらの DDX 文書は、フラグメントを別のフラグメントの挿入ポイントに読み込むこともできます。DDX の式で画像をフォームやフラグメントに読み込むように指定することはできません。その代わりに、フォームのデザイナーは画像の参照を作成します。 

問題

Assembler サービスは、文書オブジェクト(入力マップ経由)またはファイルの URL として XDP ソースを指定する DDX 文書を処理すると、その XDP ソース内に表示されるフラグメントへの相対参照を解決できません。また、XDP ソース内に含まれる他のフラグメント内に表示されるフラグメント(入れ子のフラグメント)への相対参照も解決できません。相対参照の例 : ..myForm.xdp。

これとは逆に、DDX 文書がアプリケーションまたはレポジトリ URL を使用して XDP ソースを指定する場合、かつ、XDP フォームおよびフラグメントもアプリケーションまたはレポジトリ URL を使用している場合は、Assembler サービスはフラグメントへの相対参照および絶対参照を解決できます。

Assembler サービスは、フラグメントへの参照を解決できないときは、エラーとしてジョブを終了します。

  操作名の操作が XDP 名で失敗しました。

  XFA 動的アセンブラーはフラグメントの綴じ込みに失敗しました。

解決策

この問題の回避方法は二つあります。

  • DDX および XDP 参照でアプリケーションまたはレポジトリ URL のみを使用します。DDX および XDP フォームとフラグメント内のすべての参照は、一貫してアプリケーションまたはレポジトリ URL を使用する必要があります。XDP フォームおよびフラグメント内では、これらの参照は相対的にできます。 
  • XDP フォームおよびフラグメント内で絶対参照のみを使用します。(この解決方法は、アプリケーションまたはレポジトリ URL を一貫して使用できない場合にのみ適用します。)フォームのデザイナーがフラグメントを XDP(または別のフラグメント)に追加すると、Designer ES2 はそのフラグメントへの参照を作成します。デフォルトでは、この参照はフラグメントライブラリへの相対参照です。フォームのデザイナーは、相対参照を絶対参照に変更することで、Assembler サービスがフラグメント参照を確実に解決できるようにすることができます。  

 

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー