Chapter 4, Exchanging Data Between an External Application
and a Basic XFA Form
XFA Specification
Basic Data Binding to Produce the XFA Form DOM
172
because they can not contain subforms or fields, for example
pageSet
nodes. See
“Template Features for
Designing Static Forms” on page 25
for more information about these objects. Again, these are copied
into the Form DOM for use by scripts and other XFA subsystems.
Exclusion Groups
An exclusion group is a template construct that contains a set of fields, each of which has an activated
state and a deactivated state. In an interactive context an exclusion group is normally presented to the
user as either a set of radio buttons or a set of checkboxes.
When presented as radio buttons not more than one member of the set can be activated at the same time.
When one radio button is turned
on
(depressed) any other radio button in the group that was
on
is forced
off
(released). It is also permissible for every button to be
off
. By contrast, when an exclusion group is
presented as check boxes the fields can be activated and deactivated independently.
Each field within an exclusion group is associated with a key value. When a field is activated a variable is set
to the key value for that field. At any time the field can tell whether it is on or off by comparing the value of
the variable to its own key value.
Exclusion groups are declared in the template via an
exclGroup
element enclosing the members of the
set. In the following example, the exclusion group itself is named
sex
and it contains three radio button
fields named
male
,
female
and
NA
(to represent a declined response). The field named
male
is on when
and only when the controlling variable is
"M"
. Similarly
female
is on when it is
"F"
and
NA
is on when it is
"NA"
. For simplicity the accompanying GUI elements are not shown.
<subform name="main" …>
<exclGroup name="sex">
<field name="male">
<items><text>M</text></items>
</field>
<field name="female">
<items><text>F</text></items>
</field>
<field name="NA">
<items><text>NA</text></items>
</field>
</exclGroup>
</subform>