アダプティブフォームのセットを使用したアダプティブフォームの作成 create-an-adaptive-form-using-a-set-of-adaptive-forms

CAUTION
AEM 6.4 の拡張サポートは終了し、このドキュメントは更新されなくなりました。 詳細は、 技術サポート期間. サポートされているバージョンを見つける ここ.

概要 overview

銀行口座の開設の申し込みなどのワークフローでは、ユーザーは複数のフォームに記入します。 フォームのセットに入力するよう依頼する代わりに、フォームを積み重ねて大きなフォーム(親フォーム)を作成できます。 大きい方のフォームにアダプティブフォームを追加すると、パネル(子フォーム)として追加されます。 子フォームのセットを追加して、親フォームを作成します。 ユーザーの入力に基づいて、パネルの表示と非表示を切り替えることができます。 親フォームのボタン(送信やリセットなど)は、子フォームのボタンを上書きします。 親フォームにアダプティブフォームを追加するには、アダプティブフォームを(アダプティブフォームフラグメントと同様に)アセットブラウザーからドラッグ&ドロップします。

使用できる機能は、次のとおりです。

  • 独立オーサリング
  • 適切なフォームの表示/非表示
  • 遅延読み込み

独立オーサリングや遅延読み込みなどの機能を使用すると、個々のコンポーネントを使用して親フォームを作成する場合のパフォーマンスが向上します。

NOTE
XFA ベースのアダプティブフォーム/フラグメントは、子フォームや親フォームとして使用することはできません。

舞台裏 behind-the-scenes

親フォームに XSD ベースのアダプティブフォームとフラグメントを追加することができます。 親フォームの構造は 任意のアダプティブフォーム. アダプティブフォームを子フォームとして追加すると、親フォームのパネルとして追加されます。バインドされた子フォームのデータは、親フォームの XML スキーマの afBoundData セクションの data ルートに保存されます。

例えば、顧客が申込フォームに入力するとします。 フォームの最初の 2 つのフィールドは、名前と ID です。 XML は次のようになります。

<afData>
    <afUnboundData>
        <data />
    </afUnboundData>
    <afBoundData>
        <data xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
            <applicantName>Sarah Rose</applicantName>
            <applicantId>1234</applicantId>
        </data>
    </afBoundData>
</afData>

顧客がオフィスの住所を入力できるフォームをアプリに追加します。 子フォームのスキーマのルートは officeAddress です。bindref/application/officeAddress または /officeAddress を適用します。bindref がない場合、子フォームが officeAddress サブツリーとして追加されます。以下のフォームの XML を参照してください。

<afData>
    <afUnboundData>
        <data />
    </afUnboundData>
    <afBoundData>
        <data xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
            <applicantName>Sarah Rose</applicantName>
            <applicantId>1234</applicantId>
            <officeAddress>
                <addressLine>1, Geometrixx City</addressLine>
                <zip>11111</zip>
            </officeAddress>
        </data>
    </afBoundData>
</afData>

顧客が住所を入力できる別のフォームを挿入する場合は、bindref /application/houseAddress or /houseAddress.を適用すると、XML は次のようになります。

<afData>
    <afUnboundData>
        <data />
    </afUnboundData>
    <afBoundData>
        <data xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
            <applicantName>Sarah Rose</applicantName>
            <applicantId>1234</applicantId>
            <officeAddress>
                <addressLine>1, Geometrixx City</addressLine>
                <zip>11111</zip>
            </officeAddress>
            <houseAddress>
                <addressLine>2, Geometrixx City</addressLine>
                <zip>11111</zip>
            </houseAddress>
        </data>
    </afBoundData>
</afData>

スキーマのルートと同じサブルート名にするには、(この例ではAddress )、インデックス付きの bindref を使用します。

例えば、bindref /application/address[1] または /address[1] および /application/address[2] または /address[2] を適用します。このフォームの XML は、以下のようになります。

<afData>
    <afUnboundData>
        <data />
    </afUnboundData>
    <afBoundData>
        <data xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
            <applicantName>Sarah Rose</applicantName>
            <applicantId>1234</applicantId>
            <address>
                <addressLine>1, Geometrixx City</addressLine>
                <zip>11111</zip>
            </address>
            <address>
                <addressLine>2, Geometrixx City</addressLine>
                <zip>11111</zip>
            </address>
        </data>
    </afBoundData>
</afData>

bindRef プロパティを使用して、フォームまたはフラグメントのデフォルトサブツリーを変更することができます。bindRef プロパティにより、XML スキーマのツリー構造における位置を示すパスを指定できます。

バインドされていない子フォームのデータは、親フォームの XML スキーマの afUnboundData セクションの data ルートに保存されます。

アダプティブフォームを子フォームとして、複数回追加できます。bindRef が正しく修正されて、アダプティブフォームの各使用済みインスタンスが、データルート上で異なるサブルートを指定するようにします。

NOTE
異なるフォームやフラグメントが同じサブルートにマッピングされている場合、データは上書きされます。

アセットブラウザーを使用した子フォームとしてのアダプティブフォームの追加 adding-an-adaptive-form-as-a-child-form-using-asset-browser

アセットブラウザーを使用してアダプティブフォームを子フォームとして追加するには、次の手順を実行します。

  1. 親フォームを編集モードで開きます。

  2. サイドバーで、アセット アセットブラウザー をクリックします。アセットの下で、アダプティブフォーム をドロップダウンリストから選択します。
    アセットの下でアダプティブフォームを選択する

  3. 子フォームとして追加するアダプティブフォームをドラッグ&ドロップします。
    サイトにアダプティブフォームをドラッグ&ドロップします。 ドロップしたアダプティブフォームは、子フォームとして追加されます。

recommendation-more-help
a6ebf046-2b8b-4543-bd46-42a0d77792da