Datenmapping mit mathematischen Funktionen in XSLT3

XSLT3 erweitert die XSLT- und XSLT2-Standards für die Transformation von XML-Dokumenten um Funktionen für Trigonometrie und andere fortgeschrittene mathematische Berechnungen, neue Formatierungsfunktionen, Funktionen zur Erfassung von Umgebungsvariablen und weitere Erweiterungen. Datenanalysten und andere Fachleute im Bereich Datenverarbeitung können die Funktionen von XSLT3 nutzen um Herausforderungen bei der XML-Datenzuordnung und -integration zu lösen die komplexe mathematische Berechnungen erfordern. Sehen wir uns einige Beispiele von MapForce an: Datenmapping mit XSLT3 Mathematische Funktionen, die Trigonometrie und andere komplexe mathematische Ausdrücke verwenden.

MapForce bietet interne Verarbeitungskomponenten, die speziell für verschiedene Datentypen und Anwendungen angepasst sind.

Wenn Sie die XSLT3-Engine auswählen, werden die unten aufgeführten Funktionen dem Fenster "Funktionsbibliothek" hinzugefügt und stehen für die Datenzuordnung zur Verfügung

Zum Beispiel können wir eine Datenzuordnung erstellen, die Sinus-, Kosinus- und Tangenswerte für Eingabewerte generiert, die in einer XML-Datei gespeichert sind. Die ursprüngliche Liste lag als CSV-Datei vor, die wir in XMLSpy importierten, dem weltweit meistverkauften JSON- und XML-Editor, um sie in XML zu konvertieren.

Wir beginnen die Datenzuordnung in MapForce, indem wir XML-Schemata für die Eingabe- und Ausgabedateien einfügen und anschließend die Wurzelelemente miteinander verbinden. An diesem Punkt ist es wichtig, den Standard-Verbindungstyp "zielorientiert" auszuwählen. Dies ermöglicht uns, jede nachfolgende Verbindung individuell anzupassen.

Als Nächstes verbinden wir die Zeilenelemente, ziehen die trigonometrischen Funktionen aus der Bibliothek ein und verbinden das Element "x-Wert" aus der Quelle mit jeder Funktion und jedem Ausgabeelement. Hier ist die vollständige Datenzuordnung:

Durch Klicken auf die Schaltfläche "Ausgabe" unterhalb des Zuordnungsbereichs wird die Eingabedatei verarbeitet, die Ausgabe generiert und das Vorschaufenster geöffnet.

In diesem Beispiel reichen die Eingabewerte von Null bis 15 in Schritten von einem Zehntel, und die Ausgabe enthält für jeden Wert den entsprechenden Sinus-, Kosinus- und Tangenswert. Wir können die Datei speichern und sie in XMLSpy öffnen, um die XMLSpy-Tabellenansicht zu nutzen, eine hochgradig angepasste Grafik zu erstellen und die Grafik sogar zu exportieren, um sie in einen Bericht oder eine Präsentation einzufügen

Datenmapping mit XSLT3 zur Erstellung komplexer Ausdrücke

Sie können XSLT3-Funktionen mit anderen Funktionen in der Bibliothek kombinieren, um komplexe Ausdrücke zu erstellen. Nehmen wir an, wir möchten eine quadratische Gleichung wie y = 4x² – 3 auf eine Liste von Eingabewerten anwenden. Wir können eine Zuordnung erstellen, die die XSLT3-Funktion "pow" für die Potenzierung mit den Kernfunktionen der Bibliothek für Multiplikation und Addition kombiniert.

Beachten Sie, dass die Reihenfolge der Funktionen in der Zuordnung explizit die Verarbeitungsreihenfolge definiert, die in dem Ausdruck impliziert ist: zuerst die Potenzierung, dann die Multiplikation und schließlich die Subtraktion. Wenn der Ausdruck Klammern verwendet, um die Standardverarbeitungsreihenfolge zu ändern, würden wir die Reihenfolge der Funktionen in der Zuordnung anpassen, um die gewünschte Verarbeitungsreihenfolge festzulegen.

Möglicherweise möchten wir eine Reihe von Eingabewerten durch verschiedene Varianten des Ausdrucks laufen lassen und die Ergebnisse vergleichen. Wir können eine benutzerdefinierte Funktion erstellen, um den Ausdruck zu beschreiben, und wir können die Struktur der Ausgabedatei so ändern, dass der Exponent, der Multiplikator und der Modifikator, die zur Erstellung jeder Ausgabedatei verwendet wurden, gespeichert werden.

Hier ist die gewünschte Struktur für jede Ausgabedatei, die durch verschiedene Varianten des Ausdrucks erzeugt wird:

Die benutzerdefinierte Funktion empfängt die Werte von x aus der Eingabe-XML-Datei, berechnet den Ausdruck und übergibt außerdem die Funktionsparameter, die in der Ausgabe gespeichert werden sollen.

Hier ist die vollständige Zuordnung mit der Verwendung in einer benutzerdefinierten Funktion:

Und die erstellte Ausgabedatei:

Eine benutzerdefinierte Funktion kann einfach in andere Zuordnungen eingefügt oder von mehreren MapForce-Benutzern gemeinsam genutzt werden. Um eine benutzerdefinierte Funktion zu erstellen, wählen Sie zunächst die Funktionen aus, die den Ausdruck definieren, und klicken dann auf das Hauptmenü "Funktion":

Hier ist unsere endgültige Definition der Benutzerfunktion:

Wenn Ihr Projekt zur Datenzuordnung und -integration eine Datenzuordnung mit XSLT3, trigonometrischen Funktionen oder anderen erweiterten XSLT3-Funktionen erfordert, sollten Sie sich MapForce ansehen, das preisgekrönte, grafische Werkzeug zur Datenzuordnung für jede Art von Datenkonvertierung und -integration. Laden Sie eine kostenlose Testversion von MapForce herunter, die Tutorials, Hilfestellungen und viele weitere Beispiele enthält!