group-starting-with
Die Funktion group-starting-with erhält eine Boolsche Bedingung als Argument. Wenn die Boolsche Bedingung "true" ergibt, wird ab dem Datensatz, auf den die Bedingung zutrifft, eine neue Gruppe erstellt.
![mf-func-group-starting-with](./images/mf-func-group-starting-with.png)
Im Beispiel unten ist die Bedingung, dass "Key" (Schlüssel) gleich "heading" sein soll. Diese Bedingung triftt auf den ersten und vierten Datensatz zu, daher werden als Ergebnis zwei Gruppen erstellt:
![mf_group-starting-with](./images/mf_group-starting-with.png)
Anmerkung: | Wenn vor dem ersten Datensatz, auf den die Bedingung zutrifft, weitere Datensätze vorhanden sind, wird eine zusätzliche Gruppe erstellt. Wenn vor dem ersten "heading"-Datensatz z.B. weitere "line"-Datensätze vorhanden waren, 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 vorangestellten ("heading") Datensatz Gruppen zu erstellen. Außerdem muss jede Gruppe auch alle "line" (Zeilen)-Datensätze enthalten, die auf den "heading"-Datensatz folgen. Zu diesem Zweck wird im folgenden Mapping die Funktion group-starting-with aufgerufen. Immer, wenn der key-Name im nachstehenden Mapping gleich "heading" ist, wird das an bool gelieferte Argument true und es wird eine neue Gruppe erstellt.
![mf_group-starting-with_map](./images/mf_group-starting-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.