Beispiel: Hinzufügen benutzerdefinierter XSLT-Funktionen
In diesem Beispiel wird gezeigt, wie Sie benutzerdefinierte XSLT 1.0-Funktionen in MapForce importieren. Die für dieses Beispiel benötigten Dateien befinden sich im Verzeichnis C:\Users\<username>\Documents\Altova\MapForce2025\MapForceExamples.
•Name-splitter.xslt. In dieser XSLT-Datei ist ein Named Template namens tokenize mit einem einzigen Parameter "string" definiert. Das Template funktioniert über einen Input-String und trennt Großbuchstaben durch ein Leerzeichen für jede Instanz.
•Name-splitter.xml (die zu verarbeitende XML-Quellinstanzdatei)
•Customers.xsd (das XML-Quellschema)
•CompletePO.xsd (das XML-Zielschema)
So fügen Sie eine benutzerdefinierte XSLT-Funktion hinzu:
1.Klicken Sie im unteren Bereich des Fensters Bibliotheken auf die Schaltfläche Bibliotheken hinzufügen/entfernen. Daraufhin wird das Fenster Bibliotheken verwalten geöffnet (siehe Abbildung unten).
2.Um Funktionen als lokale Bibliothek (nur im Geltungsbereich des aktuellen Dokuments) zu importieren, klicken Sie auf die Schaltfläche Hinzufügen unterhalb des aktuellen Mapping-Namens. Um Funktionen als globale Bibliothek (auf Programmebene zu importieren, klicken Sie auf die Schaltfläche Hinzufügen neben Globale Bibliotheksimporte. Wenn Sie eine Bibliothek lokal importieren, können Sie den Pfad zur Bibliotheksdatei als relativ zur Mapping-Datei definieren. Bei gobal importierten Bibliotheken ist der Pfad zur importierten Bibliothek immer absolut.
3.Navigieren Sie zur .xsl- oder .xslt-Datei, die das Named Template, das Sie als Funktion hinzufügen möchten, enthält - in diesem Fall zu Name-splitter.xslt und klicken Sie auf Öffnen. Daraufhin erscheint ein Meldungsfeld, in dem Sie darüber informiert werden, dass eine neue Bibliothek hinzugefügt wurde und der Name der XSLT-Datei sowie die als Named Templates definierten Funktionen (in diesem Beispiel Name-splitter mit der Funktion tokenize) werden im Fenster "Bibliotheken" angezeigt.
So verwenden Sie die XSLT-Funktion in Ihrem Mapping:
1.Ziehen Sie die tokenize-Funktion in das Mapping-Fenster und mappen Sie die Datenelemente wie folgt.
2.Klicken Sie auf das Fenster XSLT, um den erzeugten XSLT-Code zu sehen.
Anmerkung: | Sobald eine Named Template in einem Mapping verwendet wird, wird die XSLT-Datei, die den Namen des Named Template enthält, im generierten XSLT-Code inkludiert (xsl:include href...) und mit dem Befehl xsl:call-template aufgerufen. |
3.Klicken Sie auf das Fenster Ausgabe, um das Ergebnis des Mappings zu sehen.
So entfernen Sie benutzerdefinierte XSLT-Funktionen aus MapForce:
1.Klicken Sie im unteren Bereich des Fensters "Bibliotheken" auf die Schaltfläche Bibliotheken hinzufügen/entfernen. Daraufhin wird das Fenster "Bibliotheken verwalten" geöffnet.
2.Klicken Sie neben der zu löschenden XSLT-Bibliothek auf Bibliothek löschen .