ガイドのデータモデルのタイプ

既存のデータモデルに基づいてガイドを作成します。データモデルは、Workbench の Data Model パースペクティブで作成されたデータモデル(FML ファイル)か、XDP または PDF フォームの Adobe® XML Form Object Model です。XDP および PDF フォームを Designer で作成できます。

データモデル(FML)

データモデル(FML)は、Workbench の Data Model パースペクティブで作成されます。モデルによって、データシェイプ、制約および検証ロジックが定義されます。Data Model パースペクティブで、スクリプトを記述しなくても、制約および検証ロジックをモデルに追加できます。

Designer で作成されるフォームでは、データモデル(FML)をデータ接続として使用することもできます。ただし、結果の XDP フォームは、Adobe LiveCycle ES3 - Output 10 によって非インタラクティブ PDF フォームとしてのみレンダリングできます。基になるモデルのデータをブラウザーでインタラクティブ PDF フォームと共有することはできません。

XDP および PDF フォーム

XDP および PDF フォームを Designer で作成できます。フォームを XML スキーマ定義にバインドでき、そのスキーマに対して検証されたデータをフォームで送信できます。

XDP または PDF フォームに基づくガイドでは、ブラウザー内でインタラクティブ PDF フォームとデータを交換することもでき、デュアルデータ入力メカニズムが提供されます。

XDP または PDF フォームに基づくガイド

ガイドが XDP または PDF フォームに基づく場合、Data Model ビューに表示されるモデルはフォーム内のモデルに対応しています。フォームが XML スキーマを使用して作成された場合、送信はその特定の XML スキーマに従います。

すべてのフォームオブジェクトをガイド内の項目にバインドできます。

注意: 壊れたフラグメントを含むフォームを使用しないでください。フォームを使用してガイドを作成する前に、壊れたフラグメントを Designer で解決してください。

ガイドでは、Designer でのフォームデザインで使用される XML Form Object Model 内で、スクリプトイベント、オブジェクト、プロパティおよびメソッドのサブセットがサポートされます。スクリプトのサブセットについて詳しくは、「Scripting Support for HTML Forms and Guides」を参照してください。

Designer ES(バージョン 8.x)で作成されたフォームガイドの移行

Designer ES(バージョン 8.x)では、フォームに対して 1 つ以上のフォームガイドを作成できました。ガイドの基になるフォームに Designer ES(バージョン 8.x)で作成されたフォームガイドが含まれている場合、Workbench でフォームガイドをガイドフォーマットに移行できます。フォームおよび元のフォームガイドは変更されず、Designer ES(バージョン 8.x)で使用を継続できます。

注意: ガイドタイトルに次の文字が含まれている場合、移行されたガイドをプレビューすることはできません。\ / : * ? “ < > |

Designer ES(バージョン 8.x)で作成されたガイドの移行について詳しくは、Designer ES(バージョン 8.x)で作成されたフォームガイドのアップグレードを参照してください。

Data Model ビューに表示されるフォーム

ガイドが XDP または PDF フォームに基づく場合、フォームは Guide Design パースペクティブの Data Model ビューに表示されます。サブフォームごとにエンティティが生成され、ネストされたサブフォーム、図面またはフィールドごとにプロパティが生成されます。プロパティ名は、フォーム内のオブジェクト名に対応します。

注意: ガイドが XDP または PDF フォームに基づく場合、Data Model ビューに表示される ID プロパティを使用しないでください。

次の表に、Data Model ビューでのフォームの表示を示します。

フォームオブジェクト

Data Model ビュー内

説明

サブフォーム

エンティティ

サブフォームごとにエンティティが生成されます。ルートエンティティは、属性 persistent = "true" で示されます。

ダイナミックサブフォーム

コレクション

subform.occur.max 値が "-1" の場合、または max 値が min 値よりも大きい場合、サブフォームはコレクションとして表されます。

ネストされたサブフォーム

プロパティ

プロパティ name は、フォーム内のサブフォーム名に対応します。

プロパティ type は、親サブフォームに対して生成されたエンティティの名前に対応します。

数値フィールド

プロパティ

float プロパティとして生成されます。

日付フィールド

プロパティ

date プロパティとして生成されます。

テキストフィールド

プロパティ

string プロパティとして生成されます。

チェックボックスまたはラジオボタン

プロパティ

各チェックボックスまたはラジオボタンは、Boolean プロパティとして生成されます。エディターまたは Guide Tree ビューで、各チェックボックスまたはラジオボタンを項目にバインドできます。

チェックボックスは、本来のブール値オブジェクトのようには動作せず、true または false に評価されません。ルールの評価でチェックボックスを使用するには、XDP フォームで定義されているようにチェックボックスの値をテストする条件を設定します。Designer でフォームを開き、チェックボックスを選択します。オブジェクトパレットで、「バインド」タブを選択します。デフォルトでは、「オン」/「オフ」の値は 1/0 です。ガイドで、{Checkbox} = 1 のときにトリガーされる条件を設定します。

図面

プロパティ

string プロパティとして生成されます。

変数

プロパティ

string プロパティとして生成されます。

スクリプトオブジェクト

なし

スクリプトオブジェクトは、実行時にガイドで実行されます。

ガイドのフォームのデザイン

Designer で、次のガイドラインに従ってガイド作成プロセスを単純化します。

  • フォームのセクションをサブフォームにグループ化します。

  • 繰り返しサブフォームでネストされたサブフォームを使用しません。ガイドでは、すべての繰り返しフォームオブジェクトは繰り返しサブフォームのすぐ下の子と想定されます。

  • マスターページでのフォームフィールドの使用は避けます。

  • スタティックテキストの代わりにフィールドキャプションを使用します。フォームデザインでフィールドキャプションを使用すると、ガイドを作成するときに手順を省くことができます。キャプションは、フィールドをガイドに追加すると自動的に表示されます。ただし、スタティックテキストを使用するときは、テキストをガイド内の項目に手動でリンクする必要があります。

サポートされていないフォームデザイン機能

ガイドでは次のフォームデザイン機能はサポートされていません。

  • 表示者のシステムロケールを使用するようにフォームおよびフォームオブジェクトのロケールを設定すること

  • フォームオブジェクトのグローバルバインドの使用

  • 署名フィールド

  • 電子メール送信ボタン

フォームデザインでのスクリプト

ガイドでは、Designer でのフォームデザインで使用される XML Form Object Model 内で、スクリプトイベント、オブジェクト、プロパティおよびメソッドのサブセットがサポートされます。サブセット外のスクリプトはコンパイルされません。

ガイドでサポートされるスクリプトイベント、オブジェクト、プロパティおよびメソッドについて詳しくは、「Scripting Support for HTML Forms and Guides」を参照してください。

一般的なスクリプトガイドライン

ガイドで実行されるフォームデザイン上のスクリプトを開発するには、次のガイドラインに従います。

  • スクリプトがクライアント上で実行されるように設定する場合、ガイドでは JavaScript のみがサポートされます。サーバー側のスクリプトでは、Javascript または FormCalc を使用できます。

  • ガイドでは、JavaScript 内のネストされた関数はサポートされません。

  • 再利用可能なスクリプトオブジェクト内の共通ガイド機能のライブラリを保持します。

  • メッセージボックスについては、xfa.host.messageBox を使用します。メッセージボックスは、ガイド内のデフォルトの Flex Alert コントロールとして表示されます。Alert コントロールのスタイルをアプリケーションの他の部分と一致させるには、カスタムスタイル(SWF)を使用します。ガイドでのカスタムスタイルの使用について詳しくは、「Customizing Guides Using Flash Builder」を参照してください。

  • ガイドでは、メッセージボックスからのユーザー応答を待機できません。この動作を追加するには、カスタム Flex コンポーネントを作成します。

  • スクリプトをフォームに追加するときに、実行をガイドに制限するか、ホスト環境に応じて代替実行パスを指定できます。この動作を実現するには、xfa.host.name プロパティを問い合わせます。

    if (xfa.host.name == "Flash") 
    { 
        //script will execute in Guide 
    } else { 
        //script will execute in Acrobat/Reader 
    }
  • date{DD-MM-YYYY}|date{DD/MM/YYYY} などの代替表示パターンまたは編集パターンを使用しないでください。ただし、米国 ZIP コードの検証パターン text{99999-9999}|text{99999} など、代替検証パターンを使用できます。

  • フィールドに対して表示パターンまたは編集パターンを使用する場合は、そのフィールドの検証パターンを含めます。表示パターンまたは編集パターンによってフィールドが正しい入力を受け取ることが保証され、検証パターンによってデータが有効であることが保証されます。

  • 繰り返しパネルレイアウトにサブフォームが含まれ、occur.min プロパティの値が「0」の場合、ガイドのレンダリング時にサブフォームインスタンスが作成されます。

イベントのガイドライン

ガイドで実行されるフォームデザイン上のスクリプトを開発するときは、次のイベントのガイドラインに従います。

  • formReady イベントは、PDF フォームおよびガイドのロード時に 1 回のみ起動します。

  • calculate イベントは、参照されるフィールド値の変更時およびガイドと PDF フォームの切り替え時に起動します。

  • xfa.event.change は、ガイドでサポートされていないので使用しないでください。

値の使用のガイドライン

ガイドで実行されるフォームデザイン上のスクリプトを開発するときは、次の値の使用のガイドラインに従います。

  • 値を割り当てるスクリプトは、次のように表現します。

    this.rawValue= price.rawValue * quantity.rawValue.

    値を割り当てるスクリプトを次のように表現しないでください。

    price.rawValue * quantity.rawValue. 

    このように表現されたスクリプトは、ガイド内で機能しません。XML Form Object Model によって、計算結果はフィールドの値に自動的に割り当てられます。

  • 空のフィールド値をチェックするときは、ヌル値および長さが 0 の値を検索します。