distinct-values
Verarbeitet die mit dem values Input verbundene Wertesequenz und gibt nur die eindeutigen Werte als Sequenz zurück. Dies dient zum Entfernen doppelt vorhandener Werte aus einer Sequenz und zum Mappen der eindeutigen Datenelemente auf die Zielkomponente.
![mf-func-distinct-values](./images/mf-func-distinct-values.png)
Sprachen
Built-in, C++, C#, Java, XQuery, XSLT 2.0, XSLT 3.0..
Parameter
Name | Beschreibung |
---|---|
values | 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 verbunden werden. |
Beispiel
Die folgende XML-Datei enthält Informationen über Mitarbeiter einer Demo-Firma. Einige Mitarbeiter haben dieselbe Rolle (role), daher enthält das Attribut "role" doppelt vorhandene Werte. So haben etwa sowohl "Loby Matise" als auch "Susi Sanna" die Rolle "Support".
<?xml version="1.0" encoding="UTF-8"?> |
Angenommen, Sie möchten eine Liste aller eindeutigen Rollennamen, die in dieser XML-Datei vorkommen, extrahieren. Dies lässt sich mit einem Mapping wie dem unten gezeigten, ermitteln:
![mf-func-distinct-values-example](./images/mf-func-distinct-values-example.png)
Im oben gezeigten Mapping geschieht Folgendes:
•Jedes Property-Element aus der XML-Quelldatei wird durch einen Filter verarbeitet.
•Mit Hilfe der Verbindung mit dem Input bool des Filters wird sichergestellt, dass an die Zielkomponente nur Property-Elemente, deren Key-Attribut gleich "role" ist, übergeben werden. Der String "role" wird von einer Konstanten bereitgestellt. Beachten Sie, dass die Ausgabe des Filters an diesem Punkt immer noch Duplikate enthält (da es zwei "Support"-Eigenschaften gibt, die den Filterbedingungen entsprechen).
•Die vom Filter erzeuge Sequenz wird von der distinct-values-Funktion verarbeitet, die etwaige doppelt vorhandenen Werte ausschließt.
Infolgedessen erhalten wir die folgende Mapping-Ausgabe (ausschließlich der XML- und Schema-Deklaration):
<items> |