Das folgende Schema stellt einen Kunden und ein Konto dar:
bank
*customer
age
*account
baseInterestRate
actualInterestRate
In diesem Beispiel sind die Bank, der Kunde und das Konto zusammengesetzte Elemente. Kunde und Konto sind Elemente, die sich wiederholen. Das Alter ist vom Typ „int“, „baseInterestRate“ und „actualInterestRate“ sind vom Typ „float“. Die Bank kann viele Kunden und jeder Kunde kann mehrere Konten haben. Zu jedem Konto gehören ein Basiszinssatz und ein effektiver Zinssatz. Der effektive Zinssatz ist ein berechnetes Element, das vom Basiszinssatz und vom Alter des Kunden abhängig ist. Angenommen, für „actualInterestRate“ gilt der Ausdruck baseInterestRate + (age >= 60 ? 0.5:0.0). Zur Laufzeit werden die folgenden Werte für „age“ und „baseInterestRate“ für Expression Manager bereitgestellt:
age: [20, 61]
baseInterestRate: [[7, 8][7.5, 8, 8.5]]
Diese Variablen werden zusammengefasst und das folgende zweidimensionale Array wird erstellt:
20 7
20 8
61 7.5
61 8
61 8.5
Die Elemente für das Alter werden so oft wiederholt, wie Elemente für „baseInterestRate“ vorhanden sind. Der Ausdruck wird für jede dieser Zeilen ausgewertet. Nachdem die Ausdrücke ausgewertet wurden, werden die Ergebnisse entsprechend der Hierarchie für die Eingabevariable „baseInterestRate“ geordnet. Hierfür wird die Variable mit der höchsten Anzahl von Wiederholungsebenen verwendet, da der Ausdruck sich immer auf die unterste Ebene bezieht und tiefer liegende Variablen in der Hierarchie nicht verwendet werden. Die API gibt das folgende Ergebnis zurück: [[7, 8], [8, 8,5, 9]].