group-ending-with
Die Funktion group-ending-with erhält eine Boolsche Bedingung als Argument. Wenn die Boolsche Bedingung "true" ergibt, wird bis inklusive dem Datensatz, auf den die Bedingung zutrifft, eine neue Gruppe erstellt.
![mf-func-group-ending-with](./images/mf-func-group-ending-with.png)
Im Beispiel unten ist die Bedingung, dass "Key" (Schlüssel) gleich "trailing" sein soll. Diese Bedingung triftt auf den dritten und fünften Datensatz zu, daher werden als Ergebnis zwei Gruppen erstellt:
![mf_group-ending-with](./images/mf_group-ending-with.png)
Anmerkung: | Wenn nach dem letzten Datensatz, auf den die Bedingung zutrifft, weitere Datensätze vorhanden sind, wird eine zusätzliche Gruppe erstellt. Wenn z.B. nach dem letzten "trailing"-Datensatz z.B. weitere "line"-Datensätze vorhanden wären, würden diese in eine neue Gruppe platziert. |
Sprachen
Built-in, C++, C#, Java, XSLT 2.0, XSLT 3.0..
Parameter
Name | Beschreibung |
---|---|
nodes/rows | Mit diesem Input muss ein Mapping-Datenelement verbunden werden, das eine Sequenz von null oder mehr Werten liefert. So kann damit etwa ein Datenelement aus einer XML-Quelldatei, einem CSV-Feld, einem Datenbankdatensatz, usw. verbunden werden. |
bool | Liefert die Boolsche Bedingung, durch die bei true eine neue Gruppe begonnen werden soll. |
Beispiel
Angenommen, bei Ihren Quelldaten handelt es sich um eine XML-Datei folgenden Inhalts (Beachten Sie, dass der Namespace und die XML-Deklarationen im Codefragment unten aus Gründen der Einfachheit entfernt wurden).
<records> |
Die Aufgabe ist es, für jeden nachfolgenden ("trailing") Datensatz Gruppen zu erstellen. Außerdem muss jede Gruppe auch alle "line" (Zeilen)-Datensätze enthalten, die vor dem nachfolgenden Datensatz stehen. Zu diesem Zweck wird im folgenden Mapping die Funktion group-ending-with aufgerufen. Immer, wenn der key-Name im nachstehenden Mapping gleich "trailing" ist, wird das an bool gelieferte Argument true und es wird eine neue Gruppe erstellt.
![mf_group-ending-with_map](./images/mf_group-ending-with_map.png)
Das Ergebnis des Mappings sieht folgendermaßen aus:
<groups> |
Sie finden dieses Beispiel sowie einige weitere Gruppierungsbeispiele in der folgenden Mapping-Datei: <Dokumente>\Altova\MapForce2024\MapForceExamples\GroupingFunctions.mfd. Klicken Sie auf die Schaltfläche Vorschau für die jeweilige Funktion, bevor Sie auf das Fenster Ausgabe klicken.