フォームに事前入力すると、レンダリングされるフォーム内で、データがユーザーに表示されます。例えば、ユーザー名とパスワードを使用してユーザーが Web サイトにログインするとします。認証に成功すると、カスタムアプリケーションがユーザー情報についてデータベースに対してクエリーを実行します。次に、データがフォームにマージされ、フォームがユーザーに表示されます。その結果、フォーム内に個人設定されたデータが表示されます。
フォームへの事前入力には、次のような利点があります。
ユーザーがフォーム内にカスタムデータを表示できる
ユーザーがフォームに入力する作業を削減できる
データを配置する場所を制御できるため、データの整合性を維持できる
フォームに事前入力できるのは、次の 2 つの XML データソースです。
XDP データソース。これは、XFA 構文に準拠した XML(または Acrobat を使用して作成されたフォームに事前入力するための XFDF データ)です。
フォームのフィールド名に一致する名前と値のペアを含む、任意の XML データソース。
XML 要素は、事前入力するフォームフィールドごとに存在している必要があります。XML 要素名は、フィールド名と一致している必要があります。XML 要素がフォームフィールドに対応していない場合、または XML 要素名がフィールド名に一致していない場合、XML 要素は無視されます。すべての XML 要素を指定していれば、XML 要素を表示する順序どおりとする必要はありません。
既にデータを含んでいるフォームに事前入力する際は、XML データソース内で既に表示されているデータを指定します。10 個のフィールドを含むフォームで、そのうち 4 つのフィールドにデータがあるとします。次に、残りの 6 つのフィールドに事前入力するとします。この状況では、フォームへの事前入力に使用される XML データソースで、10 個の XML 要素を指定する必要があります。6 つの要素のみを指定する場合、元の 4 つのフィールドは空になります。
例えば、ある確認フォームに事前入力するには、3 つのフォームフィールドに一致する 3 つの XML 要素を含む XML データソースを作成する必要があります。このフォームには、FirstName、LastName および Amount の 3 つのフィールドが含まれます。最初の手順は、フォームデザインにあるフィールドに一致する XML 要素を含む XML データソースを作成することです。これは次の XML コードのようになります。
<Untitled>
<FirstName>
<LastName>
<Amount>
</Untitled>
次の手順では、次の XML コードに示すように、XML 要素にデータ値を割り当てます。
<Untitled>
<FirstName>Jerry</FirstName>
<LastName>Johnson</LastName>
<Amount>250000</Amount>
</Untitled>
この XML データソースを確認フォームに事前入力し、フォームをレンダリングすると、XML 要素に割り当てたデータ値が表示されます。次の図のようにデータ値が表示されます。
流動レイアウトのフォームへの事前入力流動レイアウトのフォームは、不確定な量のデータをユーザーに表示する際に便利です。このようなフォームのレイアウトは、マージされるデータの量に応じて自動的に調整されます。したがって、固定レイアウトのフォームとは異なり、ページ数を事前に決める必要がありません。
通常、流動レイアウトのフォームには、実行中に取得されるデータが入力されます。その結果、メモリ内 XML データソースを作成し、そこにデータを直接配置して、フォームに事前入力することができます。
次の図は、流動レイアウトの発注書フォームの例を示しています。
注意: フォームには、エンタープライズデータベースや外部アプリケーションなど、他のソースからのデータを事前入力することもできます。
データサブグループについてフォームへの事前入力には XML データソースが使用されます。流動レイアウトのフォームへの事前入力に使用される XML データソースには、繰り返しデータサブグループが含まれます。次の XML コードは、発注書フォームへの事前入力に使用される XML データソースを示しています。
<header>
<!-- XML elements used to prepopulate non-repeating fields such as address
<!and city
<txtPONum>8745236985</txtPONum>
<dtmDate>2004-02-08</dtmDate>
<txtOrderedByCompanyName>Any Company Name</txtOrderedByCompanyName>
<txtOrderedByAddress>555, Any Blvd.</txtOrderedByAddress>
<txtOrderedByCity>Any City</txtOrderedByCity>
<txtOrderedByStateProv>ST</txtOrderedByStateProv>
<txtOrderedByZipCode>12345</txtOrderedByZipCode>
<txtOrderedByCountry>Any Country</txtOrderedByCountry>
<txtOrderedByPhone>(123) 456-7890</txtOrderedByPhone>
<txtOrderedByFax>(123) 456-7899</txtOrderedByFax>
<txtOrderedByContactName>Contact Name</txtOrderedByContactName>
<txtDeliverToCompanyName>Any Company Name</txtDeliverToCompanyName>
<txtDeliverToAddress>7895, Any Street</txtDeliverToAddress>
<txtDeliverToCity>Any City</txtDeliverToCity>
<txtDeliverToStateProv>ST</txtDeliverToStateProv>
<txtDeliverToZipCode>12346</txtDeliverToZipCode>
<txtDeliverToCountry>Any Country</txtDeliverToCountry>
<txtDeliverToPhone>(123) 456-7891</txtDeliverToPhone>
<txtDeliverToFax>(123) 456-7899</txtDeliverToFax>
<txtDeliverToContactName>Contact Name</txtDeliverToContactName>
</header>
<detail>
<!-- A data subgroup that contains information about the monitor>
<txtPartNum>00010-100</txtPartNum>
<txtDescription>Monitor</txtDescription>
<numQty>1</numQty>
<numUnitPrice>350.00</numUnitPrice>
</detail>
<detail>
<!-- A data subgroup that contains information about the desk lamp>
<txtPartNum>00010-200</txtPartNum>
<txtDescription>Desk lamps</txtDescription>
<numQty>3</numQty>
<numUnitPrice>55.00</numUnitPrice>
</detail>
<detail>
<!-- A data subgroup that contains information about the Phone>
<txtPartNum>00025-275</txtPartNum>
<txtDescription>Phone</txtDescription>
<numQty>5</numQty>
<numUnitPrice>85.00</numUnitPrice>
</detail>
<detail>
<!-- A data subgroup that contains information about the address book>
<txtPartNum>00300-896</txtPartNum>
<txtDescription>Address book</txtDescription>
<numQty>2</numQty>
<numUnitPrice>15.00</numUnitPrice>
</detail>
各データサブグループには、次の情報に対応する 4 つの XML 要素が含まれます。
アイテムの品番
アイテムの説明
アイテムの数量
単価
データサブグループの親 XML 要素の名前は、フォームデザイン内のサブフォームの名前に一致する必要があります。例えば、前の図では、データサブグループの親 XML 要素の名前は detail です。これは、発注書フォームの基になっているフォームデザインにあるサブフォームの名前に対応します。データサブグループの親 XML 要素の名前とサブフォームが一致しない場合は、サーバー側のフォームは事前入力されません。
各データサブグループには、サブフォームのフィールド名に一致する XML 要素が含まれている必要があります。フォームデザイン内の detail サブフォームには、次のフィールドが含まれています。
txtPartNum
txtDescription
numQty
numUnitPrice
|
|
|