XFA Specification
Chapter 2, Template Features for Designing Static Forms
Basic Layout
60
Locating Containers Based on Data
In a static form with fixed-size fields the template controls exactly how the form will be presented. When
the template is bound to data (merged), some fields are filled in. Any fields left unfilled are present in the
form but empty (or optionally given default data). These types of forms are uncomplicated and easy to
design, and suffice for many applications. A variation of this type of form takes advantage of XFA notation
to avoid repeated declarations for multiple, identical objects. The effects of this notation on layout
processing are described in
“Template Features for Designing Forms with Repeating Sections” on
page 193.
Forms may be designed with containers that stretch or shrink to accomodate varying amounts of data
within individual fields. Containers of this sort are called growable containers.
“Layout for Growable
Objects” on page 217explains
how the content of forms with growable containers is laid out. The need to
accomodate variable amounts of data in fixed-size pages imposes a significant burden of additional layout
mechanism.
Forms may be designed to change structure to accommodate changes in the structure of the data
supplied to the form. For example, a section of the form may be omitted if there is no data for it. Such
forms are called dynamic forms. From the perspective of the layout process such forms are almost the
same as static forms that have growable containers.
“Layout for Dynamic Forms” on page 280
describes
the differences between layout for static forms with growable containers and layout for dynamic forms.
Page Background
A
pageArea
may contain subforms, fields, draw objects and area objects. Typically, this is used for
letterhead, watermark, and/or identifying data such as a purchase order number. The layout processor
makes no attempt to detect or prevent overlaps between background and foreground objects.
In the following example, a template contains the following declarations:
<subform name="X">
<pageArea name="A">
<draw …>
<image href="Preliminary.jpg" … />
</draw>
<contentArea name="B" ID="A_ID" … />
</pageArea>
<subform name="C" …>
<breakBefore targetType="contentArea" target="#A_ID"/>
<field …> … </field>
</subform>
</subform>
Home Index Bookmark Pages
Pages: Home Index All Pages