Codegenerierung
Code Generator ist eine integrierte MapForce-Funktionalität, mit Hilfe derer Sie Code anhand von Mapping-Dateien generieren können. Mit Hilfe des generierten Codes könne Sie Ihre Mappings außerhalb vom MapForce ausführen und somit Ihre Mappings automatisieren. Code kann in den folgenden Datentransformationssprachen generiert werden:
•XSLT 1.0/XSLT 2.0/XSLT 3.0 (Alle Editionen)
•XQuery (Professional und Enterprise Edition)
•Java (Professional und Enterprise Edition)
•C# (Professional und Enterprise Edition)
•C++ (Professional und Enterprise Edition)
Sie können Code entweder anhand eines einzigen Mapping-Designs (.mfd) oder anhand eines Mapping-Projekts (.mfp) generieren. Die Generierung von Code anhand eines Projekts wird nur in der Professional und der Enterprise Edition unterstützt. Nähere Informationen dazu finden Sie in den Unterabschnitten weiter unten.
Wichtige Punkte
Beachten Sie bei der Codegenerierung die folgenden Aspekte:
•Bestimmte MapForce-Funktionalitäten werden in generiertem Programmcode nicht unterstützt. Nähere Informationen dazu finden Sie unter Unterstützte Funktionalitäten im generierten Code.
•Informationen zur Behandlung von Pfaden im generierten Code finden Sie unter Pfade in Ausführungsumgebungen.
•Professional und Enterprise Edition: Sie können die allgemeinen Codegenerierungsoptionen im Abschnitt Code-Generierung des Dialogfelds Optionen ändern.
•Professional und Enterprise Edition: Je nach Plattform variiert die Unterstützung für Datenbankverbindungen und es gibt Verbindungsarten, die nicht auf allen Plattformen unterstützt werden. Wenn Sie in Ihrem Mapping eine Verbindung zu einer Datenbank herstellen, wählen Sie eine Datenbankverbindung, die mit der Zielumgebung, für die Sie Code generieren, kompatibel ist.
Informationen zur Unterstützung
Die nachstehende Tabelle enthält einen Überblick über die Unterstützung für C++, C# und Java.
Zielsprache | C++ | C# | Java |
---|---|---|---|
Entwicklungsumgebungen | Microsoft Visual Studio 2013, 2015, 2017, 2019, 2022 | Microsoft Visual Studio 2013, 2015, 2017, 2019, 2022
Ziel-Frameworks:
•.NET Framework •.NET Core 3.1 •.NET 5.0 •.NET 6.0 •.NET 8.0 | Java SE JDK 8, 11, 17, 21 (einschließlich OpenJDK) Eclipse 4.4 oder höher Apache Ant |
XML DOM Implementierungen | MSXML 6.0 Apache Xerces 3 | System.Xml | JAXP |
Datenbank API | ADO | ADO.NET | JDBC |
Generieren von Code anhand eines Mappings
Um Code anhand einer Mapping-Designs (.mfd) zu generieren, gehen Sie folgendermaßen vor:
1.Wählen Sie im Abschnitt Code-Generierung des Dialogfelds Optionen und in den Mapping-Einstellungen die entsprechenden Codegenerierungsoptionen aus (gilt für C# und C++).
2.Klicken Sie auf Datei | Code generieren in und wählen Sie die gewünschte Transformationssprache aus. Klicken Sie alternativ dazu auf Datei | Code in ausgewählter Sprache generieren. In diesem Fall wird der Code in der in der Symbolleiste ausgewählten Sprache generiert.
3.Wählen Sie ein Zielverzeichnis für die generierten Dateien aus und klicken Sie anschließend zur Bestätigung auf OK. MapForce generiert den Code und zeigt das Ergebnis der Operation im Fenster Meldungen an.
Generieren von Code anhand eines Projekts (Projekte (Professional und Enterprise Edition)
Sie können anhand eines Mapping-Projekts (.mfp), das aus mehreren Mapping-Design-Dateien (.mfd) besteht, Code generieren. Beachten Sie, dass alle Mapping-Design-Dateien im Projekt für die Codegenerierung geeignet sein müssen, d.h. alle ihre Komponenten müssen in der ausgewählten Transformationssprache unterstützt werden, wie unter Unterstützte Funktionalitäten im generierten Code beschrieben.
Um Code anhand eines Mapping-Projekts zu generieren, gehen Sie folgendermaßen vor:
1.Öffnen Sie das entsprechende Mapping-Projekt, anhand dessen Sie Code generieren möchten.
2.Klicken Sie mit der rechten Maustaste im Fenster Projekt auf den Projektnamen und wählen Sie im Kontextmenü den Befehl Eigenschaften. Klicken Sie alternativ dazu auf den Projektnamen und wählen Sie den Menübefehl Projekt | Eigenschaften.
3.Überprüfen Sie die Projekteinstellungen und ändern Sie sie gegebenenfalls. Stellen Sie v.a. sicher, dass die Zielsprache und das Ausgabeverzeichnis korrekt eingestellt wurden. Klicken Sie anschließend auf OK.
4.Klicken Sie im Menü Projekt auf den Befehl Code für das gesamte Projekt generieren.
Unabhängig von der im Dialogfeld Projekteigenschaften ausgewählten Sprache können Sie jederzeit Projektcode in einer anderen Sprache generieren, indem Sie den Menübefehl Projekt | Code generieren in | <Sprache> auswählen.
Der Fortschritt und das Ergebnis der Codegenerierung werden im Fenster "Meldungen" angezeigt. Standardmäßig ist der Name der generierten Applikation mit dem Projektnamen identisch. Wenn der Projektname Leerzeichen enthält, werden diese im generierten Code in Unterstriche konvertiert. Standardmäßig wird Code im selben Verzeichnis wie das MapForce-Projekt generiert, nämlich im untergeordneten Ausgabeverzeichnis.
Sie können das Ausgabeverzeichnis und/oder den Namen des Projekts im Dialogfeld Projekteigenschaften ändern. Wenn Ihr MapForce-Projekt Ordner enthält, können Sie die Codegenerierungseinstellungen für die einzelnen Ordner konfigurieren. Klicken Sie mit der rechten Maustaste auf den gewünschten Ordner und wählen Sie im Kontextmenü den Befehl Eigenschaften. Andernfalls erben alle Projektordner die auf der obersten Ebene definierten Einstellungen.
Nächste Schritte
Je nachdem, welche Transformationssprache Sie für die Codegenerierung gewählt haben, unterscheiden sich die nächsten Schritte. Wenn Sie Code in XSLT 1-3 oder XQuery generiert haben, wird im nächsten Schritt die Transformation über die Befehlszeile ausgeführt (nähere Informationen siehe unten).
Wenn Sie Java-, C#- oder C++-Code generiert haben, wird in den nächsten Schritten der generierte Code gebaut und ausgeführt. Sie können den generierten Java-, C#- und C++-Code auch ändern und in Ihren benutzerdefinierten Code integrieren.
XSLT- und XQuery-Code
Nachdem Sie XSLT 1-3-Code generiert haben, enthält der Zielordner die folgenden Dateien:
1.Eine XSLT-Transformationsdatei mit dem folgenden Format: <Mapping>MapTo<Zieldateiname>.xslt. <Mapping> ist der Wert des Felds Applikationsname in den Mapping-Einstellungen. <Zieldateiname> ist der Name der Zielkomponente. Öffnen Sie die Einstellungen der Zielkomponente und bearbeiten Sie den Wert des Felds Komponentenname, um den Wert zu ändern. Nähere Informationen dazu finden Sie unter Ändern der Komponenteneinstellungen und Bibliothekspfade im generierten Code.
2.Die Datei DoTransform.bat, mit der Sie die XSLT-Transformation mit Altova RaptorXML Server über die Befehlszeile ausführen können. Um den Befehl ausführen zu können, müssen Sie RaptorXML installieren.
Wenn es sich um ein verkettetes Mapping handelt, wird für jede Zielkomponente eine separate Transformationsdatei generiert.
Die XQuery-Codegenerierung ähnelt der XSLT-Codegenerierung, mit dem Unterschied, dass die Transformationsdatei(e) die Erweiterung .xq und das folgende Format haben: <Mapping>MapTo<TargetFileName>.xq.