The square bracket (
[ ]
) notation denotes
the occurrence value of an object.
In language-specific forms for Arabic, Hebrew, Thai, and Vietnamese,
the reference syntax is always on the right (even for right-to-left
languages).
Example
To
construct an occurrence value reference, place square brackets (
[ ]
)
after an object name, and enclose within the brackets one of the
following values:
-
[ n ]
, where
n
is
an absolute occurrence index number beginning at 0. An occurrence
number that is out of range does not return a value. For example,
xfa.form.form1.#subform.Quantity[3]
refers
to the fourth occurrence of the Quantity object.
-
[ +/- n ]
, where
n
indicates
an occurrence relative to the occurrence of the object making the
reference. Positive values yield higher occurrence numbers, and
negative values yield lower occurrence numbers. For example,
xfa.form.form1.#subform.Quantity[+2]
This
reference yields the occurrence of Quantity whose occurrence number
is two more than the occurrence number of the container making the
reference. For example, if this reference was attached to the Quantity[2]object
, the reference would be the same as
xfa.template.Quantity[4]
If
the computed index number is out of range, the reference returns
an error.
The most common use of this syntax is for locating
the previous or next occurrence of a particular object. For example,
every occurrence of the Quantity object (except the first) might
use Quantity[-1] to get the value of the previous Quantity object.
-
[*]
indicates multiple occurrences of an
object. The first named object is found, and objects of the same
name that are siblings to the first are returned. Note that using
this notation returns a collection of objects. For example,
xfa.form.form1.#subform.Quantity[*]
-
This expression refers to all objects with a name of
Quantity
that
are siblings to the first occurrence of
Quantity
found
by the reference.
Using
the tree for reference, these expressions return the following objects:
-
Subform_Page.Subform1[*]
returns
both
Subform1
objects.
-
Subform_Page.Subform1.Subform3.TextField2[*]
returns two
TextField2
objects.
Subform_Page.Subform1
resolves
to the first
Subform1
object
on the left, and
TextField2[*]
evaluates
relative to the
Subform3
object.
-
Subform_Page.Subform1[*].TextField1
returns
both of the
TextField1
instances.
Subform_Page.Subform1[*]
resolves
to both
Subform1
objects,
and
TextField1
evaluates
relative to the
Subform1
objects.
-
Subform_Page.Subform1[*].Subform3.TextField2[1]
returns the
second and fourth
TextField2
objects
from the left.
Subform_Page.Subform1[*]
resolves
to both
Subform1
objects, and
TextField2[1]
evaluates
relative to the
Subform3
objects.
-
Subform_Page.Subform1[*].Subform3[*]
returns
both instances of the
Subform3
object.
-
Subform_Page.*
returns both
Subform1
objects
and the
Subform2
object.
-
Subform_Page.Subform2.*
returns
the two instances of the
NumericField2
object.
-
You can use the ‘
[ ]
’ (square bracket)
syntax with JavaScript if it used with the
resolveNode
method.
|
|
|