Die eckige Klammer (
[ ]
) gibt den Wert für das Vorkommen eines Objekts an.
In sprachspezifischen Formularen für Arabisch, Hebräisch, Thailändisch und Vietnamesisch befindet sich die Referenzsyntax grundsätzlich rechts (auch bei Sprachen, die von rechts nach links geschrieben werden).
Beispiel
Um eine Referenz mit einem solchen Wert zu erstellen, setzen Sie eckige Klammern (
[ ]
) hinter einen Objektnamen und fügen Sie zwischen den eckigen Klammern einen der folgenden Werte ein:
-
[ n ]
, wobei
n
eine absolute Vorkommens-Indexnummer ist (der Index beginnt bei 0). Wenn eine Vorkommensnummer außerhalb des zulässigen Bereichs liegt, wird kein Wert zurückgegeben. Beispiel,
xfa.form.form1.#subform.Quantity[3]
referenziert das vierte Vorkommen des Objekts „Quantity“.
-
[ +/- n ]
, wobei
n
ein Vorkommen relativ zum Vorkommen des Objekts angibt, von welchem die Referenz ausgeht. Positive Werte liefern höhere Vorkommensnummern und negative Werte liefern niedrigere. Beispiel,
xfa.form.form1.#subform.Quantity[+2]
Diese Referenz liefert das Vorkommen von „Quantity“, dessen Vorkommensnummer um 2 höher ist als die Vorkommensnummer des Containers, von dem die Referenz ausgeht. Stünde diese Referenz beispielsweise mit dem Objekt „Quantity[2]“ in Verbindung, so wäre sie gleichbedeutend mit:
xfa.template.Quantity[4]
Wenn die berechnete Indexnummer außerhalb des zulässigen Bereichs liegt, gibt die Referenz einen Fehler zurück.
Die häufigste Anwendung dieser Syntax ist die Ansteuerung des vorigen oder nächsten Vorkommens eines bestimmten Objekts. Beispielsweise könnte man bei jedem Vorkommen des Objekts „Quantity“ (außer beim ersten) mit „Quantity[-1]“ den Wert des vorigen „Quantity“-Objekts abrufen.
-
[*]
gibt mehrere Vorkommen eines Objekts an. Das erste benannte Objekt wird gefunden und die mit dem ersten Objekt verwandten Objekte desselben Namens werden zurückgegeben. Beachten Sie, dass bei dieser Notation eine Zusammenstellung von mehreren Objekten zurückgegeben wird. Beispiel,
xfa.form.form1.#subform.Quantity[*]
-
Dieser Ausdruck bezieht sich auf alle Objekte mit dem Namen
Quantity
, die mit dem ersten von der Referenz gefundenen Vorkommen von
Quantity
verwandt sind.
In dem gezeigten Baumdiagramm geben diese Ausdrücke jeweils die folgenden Objekte zurück:
-
Subform_Page.Subform1[*]
gibt beide
Subform1
-Objekte zurück.
-
Subform_Page.Subform1.Subform3.TextField2[*]
gibt zwei
TextField2
-Objekte zurück.
Subform_Page.Subform1
wird zum ersten
Subform1
-Objekt links aufgelöst und
TextField2[*]
wird relativ zum Objekt
Subform3
ausgewertet.
-
Subform_Page.Subform1[*].TextField1
gibt beide
TextField1
-Instanzen zurück.
Subform_Page.Subform1[*]
wird zu beiden
Subform1
-Objekten aufgelöst und
TextField1
wird relativ zu den
Subform1
-Objekten ausgewertet.
-
Subform_Page.Subform1[*].Subform3.TextField2[1]
gibt das zweite und vierte
TextField2
-Objekt
von links zurück.
Subform_Page.Subform1[*]
wird zu beiden
Subform1
-Objekten aufgelöst und
TextField2[1]
wird relativ zu den
Subform3
-Objekten ausgewertet.
-
Subform_Page.Subform1[*].Subform3[*]
gibt die beiden Instanzen des
Subform3
-Objekts zurück.
-
Subform_Page.*
gibt beide
Subform1
-Objekte und das Objekt
Subform2
zurück.
-
Subform_Page.Subform2.*
gibt die beiden Instanzen des
NumericField2
-Objekts zurück.
-
Sie können die Syntax mit eckigen Klammern (
[ ]
) in Verbindung mit JavaScript und der
resolveNode
-Methode verwenden.
|
|
|