Rückgabe von String-Werten aus einem Mapping

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Erstellen von Mappings >

Rückgabe von String-Werten aus einem Mapping

Verwenden Sie eine einfache Output-Komponente, wenn Sie einen String-Wert anhand des Mappings zurückgeben möchten. Einfache Output-Komponenten spielen im Mapping-Bereich die Rolle einer Zielkomponente mit einem String-Datentyp anstelle einer Struktur von Datenelementen und Sequenzen. Infolgedessen können Sie anstelle (oder zusätzlich zu) einer dateibasierten Zielkomponente eine einfache Output-Komponente erstellen. So können Sie eine einfache Output-Komponente z.B. verwenden, um die Ausgabe einer Funktion schnell zu testen und eine Vorschau des Ergebnisses anzuzeigen (siehe Beispiel: Testen der Funktionsausgabe). Dieses Verfahren eignet sich auch für Mappings, in denen String-Serialisierung verwendet wird (siehe Parsen und Serialisieren von Strings). Der Hauptzweck einer einfachen Output-Komponente ist jedoch, beim Aufruf der MapForce Server API einen String zu erhalten, ohne Dateien schreiben zu müssen.

 

Einfache Output-Komponenten sollten nicht mit Output-Parametern in benutzerdefinierten Funktionen verwechselt werden (siehe Benutzerdefinierte Funktionen). Die beiden Parameterarten weisen die folgenden Ähnlichkeiten und Unterschiede auf:

 

Output-Komponenten

Output-Parameter von benutzerdefinierten Funktionen

Werden über das Menü Funktion | Output einfügen hinzugefügt.

Werden über das Menü Funktion | Output einfügen hinzugefügt.

Haben "string" als Datentyp.

Können sowohl einfache als auch komplexe Datentypen haben.

Anwendbar auf das gesamte Mapping.

Können nur im Kontext der Funktion, in der sie definiert wurden, angewendet werden.

 

Bei Bedarf können Sie mehrere einfache Output-Komponenten zu einem Mapping hinzufügen. Sie können einfache Output-Komponenten auch in Kombination mit dateibasierten und datenbankbasierten Zielkomponenten verwenden. Wenn Ihr Mapping mehrere Zielkomponenten enthält, können Sie eine Vorschau der von einer bestimmten Komponenten zurückgegebenen Daten anzeigen, indem Sie in der Titelleiste der Komponente auf die Schaltfläche Vorschau ( ic-preview ) klicken und anschließend im Mapping-Fenster auf das Register Ausgabe klicken.

 

Sie können einfache Output-Komponenten folgendermaßen in MapForce-Transformationssprachen verwenden:

 

Sprache

Funktionsweise

BUILT-IN (bei Anzeige einer Vorschau auf die Mapping-Transformation)

Sie können von Output-Komponenten genau wie bei einer dateibasierten Mapping-Ausgabe eine Vorschau anzeigen, indem Sie im Mapping-Fenster auf das Register Ausgabe klicken.

BUILT-IN (bei Ausführung der MapForce Server-Ausführungsdatei)

Wenn Sie eine kompilierte MapForce Server-Ausführungsdatei ausführen (siehe Kompilieren eines MapForce Mappings), wird die Mapping-Ausgabe im Output-Standardstream (stdout) zurückgegeben, den Sie anzeigen oder in eine Datei weiterleiten können. Angenommen, der Name der MapForce Server-Ausführungsdatei lautet MyMapping.mfx, so verwenden Sie die folgende Syntax, um die Mapping-Ausgabe an die Datei output.txt und etwaige Fehler an die Datei log.txt weiterzuleiten:

 

MapForceServer.exe run MyMapping.mfx >output.txt 2>log.txt

 

XSLT 1.0, XSLT 2.0

Wenn Sie XSLT-Dateien generieren, wird eine im Mapping definierte einfache Output-Komponente zur Ausgabe der XSLT-Transformation.

 

Wenn Sie RaptorXML Server verwenden, können Sie RaptorXML Server anweisen, die Mapping-Ausgabe in die Datei zu schreiben, die als Wert an den Parameter --output übergeben wird.

 

Um die Ausgabe in eine Datei zu schreiben, fügen Sie in der Datei DoTransform.bat den Parameter --output hinzu oder bearbeiten Sie ihn. Die folgende Datei DoTransform.bat wurde z.B. so bearbeitet, dass sie die Mapping-Ausgabe in die Datei Output.txt schreibt (siehe markierter Text).

 

RaptorXML xslt --xslt-version=2 --input="MappingMapToResult1.xslt" --output="Output.txt" %* "MappingMapToResult1.xslt"

 

Wenn kein --output Parameter definiert ist, wird die Mapping-Ausgabe bei Ausführung des Mappings in den Output-Standard-Stream (stdout) geschrieben.

C++, C#, Java

Die Mapping-Ausgabe im generierten C++-, C#- und Java-Code wird in die Standardausgabe der generierten Applikation geschrieben.

 

Wenn das Mapping mehrere Zielkomponenten enthält, so verkettet die generierte Applikation die Standardausgabe jeder einzelnen Zielkomponente und gibt sie als eine einzige Standardausgabe zurück.

 

Wenn Sie (mit dem Menübefehl Extras | Umgekehrtes Mapping erstellen) ein umgekehrtes Mapping erstellen, wird eine einfache Output-Komponente zu einer einfachen Input-Komponente.

 


© 2019 Altova GmbH