Ein continue-Ausdruck löst die nächste Iteration der innersten umschließenden while-, for- oder foreach-Schleife aus.
Wenn dieser Ausdruck in einem while-Ausdruck verwendet wird, wird die Steuerung an die while-Bedingung übergeben. Wenn dieser Ausdruck in einem for-Ausdruck verwendet wird, wird die Steuerung an den step-Ausdruck übergeben.Das Ziel des folgenden Beispiels ist es, die Dropdown-Liste mit Werten aus der XML-Datei zu füllen. Wenn der Wert des aktuellen XML-Elements „Display data for 3“ ist, wird die while-Schleife über den break-Ausdruck beendet. Wenn der Wert des aktuellen XML-Elements „Display data for 2“ ist, fügt das Skript der Variablen i (dem Zähler) „2“ hinzu und die Schleife beginnt sofort ihren nächsten Zyklus. Die letzten beiden Zeilen werden ignoriert, wenn der Wert des aktuellen XML-Elements „Display data for 2“ ist.Mit Hilfe einer Reihe von Kurzbefehlen lassen sich Referenzen in FormCalc bequemer erstellen, wodurch der Zugriff auf Objekteigenschaften und -werte erleichtert wird. Die folgende Tabelle bietet einen Überblick über die für FormCalc verfügbaren Referenzsyntax-Kurzbefehle.
Bezeichnet die Stamm-Node des Datenmodells xfa.datasets.data. Beispiel: Bezeichnet den Stammknoten des Formularmodells xfa.form. Beispiel: Bezeichnet den Stammknoten des Layoutmodells xfa.layout. Beispiel: Bezeichnet den aktuellen Datensatz aus einer Zusammenste
llung von Daten, z. B. aus einer XML-Datei. Beispiel: Bezeichnet den Stammknoten des Vorlagenmodells xfa.template. Beispiel: Bezeichnet den Stammknoten des Datenmodells xfa.datasets. Beispiel: Wählt alle Formularobjekte innerhalb eines gegebenen Containers, z. B. in einem Teilformular, unabhängig von ihrem Namen bzw. alle Objekte mit einem ähnlichen Namen aus.Beispielsweise wählt der folgende Ausdruck alle Objekte namens item in einem Formular aus:
Hinweis: Sie können an jeder Stelle in Ihrer Referenzsyntax zwei Punkte einsetzen, um nach Objekten zu suchen, die Teil eines Unter-Containers des aktuellen Container-Objekts (z. B. eines Teilformulars) sind. Beispielsweise bedeutet der Ausdruck Subform_Page..Subform2: Node Subform_Page lokalisieren (wie üblich) und einen Subform_Page untergeordneten Knoten namens Subform2 finden.da sich TextField2[0] im ersten Subform1-Knoten befindet, auf den FormCalc bei der Suche stößt. Ein zweites Beispiel:gibt alle vier TextField2-Objekte zurück.
Hinweis: Sie können die Syntax mit zwei Punkten (..) in JavaScript in Verbindung mit der resolveNode-Methode verwenden. Das Nummernzeichen (#) dient zur Bezeichnung eines der folgenden Elemente in einer Referenzsyntax:
• Ein unbenanntes Objekt. Beispielsweise greift die folgende Referenzsyntax auf ein unbenanntes Teilformular zu:
• Geben Sie in einer Referenzsyntax eine Eigenschaft an, wenn eine Eigenschaft und ein Objekt den gleichen Namen tragen. Beispielsweise greift die folgende Referenzsyntax auf die Eigenschaft name auf einem Teilformular zu, wenn das Teilformular außerdem ein Feld namens name hat:
Hinweis: Sie können die Syntax mit Nummernzeichen (#) in JavaScript in Verbindung mit der resolveNode-Methode verwenden. [ ] Die eckige Klammer ([ ]) gibt den Wert für das Vorkommen eines Objekts an. 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:
• [ +/- n ], wobei n ein Vorkommen relativ zum Vorkommen des Objekts angibt, von dem der Verweis 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 der Verweis 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 aus.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 bei dem 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 referenziert alle Objekte mit dem Namen Quantity, die mit dem ersten von der Referenz gefundenen Vorkommen von Quantity verwandt sind.
Hinweis: 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).
• 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 auf der linken Seite aufgelöst und TextField2[*] wird relativ zum Objekt Subform3 ausgewertet.
• Subform_Page.Subform1[*].TextField1 gibt beide Exemplare von TextField1 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 beide Exemplare des Objekts Subform3 zurück.
•
• Subform_Page.Subform2.* gibt die beiden Exemplare des Objekts NumericField2 zurück.
Hinweis: Sie können die Syntax mit eckigen Klammern ([ ]) in JavaScript in Verbindung mit der resolveNode-Methode verwenden.
continue-Ausdrücke