1
Introduction to XML Forms Architecture (XFA)
The XML Forms Architecture (XFA) provides a template-based grammar and a set of processing rules that
allow businesses to build interactive forms. At its simplest, a template-based grammar defines fields in
which a user provides data.
The open nature of XFA provides a common grammar for describing interactive forms. This common
grammar provides a common basis for form-related interactions between form processing applications
produced by diverse businesses.
Key Features
XFA forms provide a wide range of key features.
●
●
Workflow: Data presentation, data capture and data editing, application front-end, printing.
Dynamic interactions: From interactive, human edited forms with dynamic calculations, validations and
other events to server-generated machine-filled forms.
Dynamic layout: Forms can automatically rearrange themselves to accommodate the data supplied by
a user or by an external data source, such as a database server.
Complexity: Single-page static forms, dynamic document assemblies based on data content, large
production runs containing hundreds of thousands of transactions.
●
●
XFA is similar to PDF interactive forms introduced in PDF 1.2, which is also known as AcroForm, with the
following differences:
●
●
XFA can be used in XML-based workflows.
XFA separates data from the XFA template, which allows greater flexibility in the structure of the data
supported and which allows data to be packaged separately from the form.
XFA can specify dynamically-growing forms.
XFA can specify Web interactions, such as HTTP and Web Services (WSDL). Such interactions can be
used to submit data to a server or to request a server perform a calculation and return the result.
XFA works with other XML grammars.
●
●
●
Scenarios for Using an Interactive Form Described by XFA
An XFA template describes how an interactive form should appear and behave. It can play a role in several
situations: interacting with a user, printing forms, and processing machine-generated data.
XFA template may describe a range of form characteristics, such as the following:
●
●
●
●
Appearance of the form, including fields, layout and graphics
Default data (optional) to be used for fields
Types of data expected, including checks on the validity of provided data
Scripts associated with specific events, such as the user clicking a particular field
14