Chapter 1, Introduction to XML Forms Architecture (XFA)
XFA Specification
Major Components of an XFA Form: XFA Template and Data
19
Consider the following diagram:
A simple XFA form
This is an example of a form. To an end user (form consumer), it represents something to be filled out, by
entering data into the white spaces. This user makes little or no distinction between a blank form and a
filled one, other than the presence of data. In fact, the absence of data in a particular data entry element
can be as meaningful as the presence of data.
In contrast, a form designer views it as a vehicle for capturing, rendering and manipulating data. As such,
the designer is concerned with issues of layout, interaction and processing. A template is a specification of
capture, rendering and manipulation rules that will apply to all form instances created from that template.
When selecting a form to be filled interactively, the user perceives that s/he is selecting a “blank” form. The
user is performing an operation similar to starting a new document in a word processor, by first selecting a
template. The user directs an XFA processing application to use this template to construct a “form”, which
at first appears blank.
The user may fill out the form, and save the data content to a file, a database or in a package with a copy of
the template. It is important to note that the data was saved, not the form (and not necessarily the
template).
Containers of Fixed and Variable Content
XFA template distinguishes between containers for fixed content and containers for variable content.
The draw element, a container for fixed data
Fixed data
(boilerplate) includes any text, lines, rectangles, arcs, or images that remain unchanged
throughout the life of the form, except in regards to its container placement, container size, and container
inclusion/omission. Fixed data is defined by the template designer as the contents of
draw
elements.
“A
simple XFA form”includes
callouts that indicate a few of the many
draw
elements on this form.