XFA Specification
Chapter 3, Object Models in XFA
Document Object Models
76
the Form DOM are simultaneously tied to nodes representing data in the XFA Data DOM. Operations that
modify the value of a node in the Form DOM are passed through to the corresponding node in the XFA
Data DOM and vice-versa.
The Form DOM is neither loaded from nor written to XML. It can always be reconstructed from the
template and the XFA Data DOM so there is no need for it to persist.
The Form DOM is the natural territory of scripts because it is where logical entities assume values. For
example, when the user tabs into a field, the resulting field enter event is associated with afield object in
the Form DOM, not the Template DOM. When the script runs the
$
or
this
variable points to the field
object in the Form DOM.
The Layout DOM
This internal DOM holds the result of laying out the form, including data, onto a page or pages. Each node
in the Layout DOM represents the placing of an object, or portion of an object, from the Form DOM into a
particular position on a particular page.
The Layout DOM is neither loaded from nor written to XML. It can always be reconstructed from the
template and the Form DOM so there is no need for it to persist.
The Layout DOM connects to the UI in interactive contexts but that connection is not defined in this
specification. except in very general terms. The Layout DOM also connects to the printer driver in
non-interactive contexts.
The Locale Set DOM
A locale is a cultural context (usually language and country). The Locale Set DOM provides resources for
each locale. For example, it provides the currency symbol and the month and day names. These are
grouped by locale so that the form can automatically adjust to the locale in which it is used.
The Source Set DOM
This DOM holds information about the connection between a form and external data sources and/or sinks.
It is only used for connections employing ActiveX® Data Objects (ADO). This interface is record-oriented
and is usually used for connections to data bases within a corporate LAN or WAN.
The Template DOM
This DOM holds the fixed components of the form. It controls the structure and organization of the form. It
supplies all the boilerplate. And it contains all the form’s intelligence, including scripts, defaults,
calculations, and validations.
The Template DOM is commonly loaded from and written to XML. No useful XFA processing can take place
without a template.
The XFA DOM
As described in
“Hierarchy of DOMs” on page 71,
the XFA DOM is a wrapper for the other DOMs. In
addition it has a few nodes of its own, for example the
host
object (
$host
) which holds a number of
convenience methods for scripts.