FlowForce-Datentypen

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

Startseite >  Die FlowForce-Ausdrücke >

FlowForce-Datentypen

FlowForce arbeitet mit den folgenden Datentypen.

 

String

Repräsentiert einen String-Wert, z.B.: 'Hello, World!'.

 

Zahl

Repräsentiert einen numerischen Wert, z.B.: -1, 0, 56, 0.45565.

 

Boolean

Repräsentiert den Wert true oder false.

 

result

Dies ist ein abstrakter Datentyp, der ein von einem Ausführungsschritt erzeugtes Ergebnis repräsentiert.

 

Mit einem Ausführungsschritt können verschiedene ausführbare Dateien, wie z.B. MapForce-Mappings, StyleVision-Transformationen, Shell-Funktionen und andere verarbeitet werden. Daher steht der Datentyp result für ein beliebiges Ergebnis solcher Dateien.

 

Wenn mit dem Ausführungsschritt ein MapForce-Mapping ausgeführt wird, so kann es sich beim Ergebnis um eine XML-, XBRL-, Text-, JSON-Datei oder jeden anderen von MapForce generierten Dateityp handeln.

 

Wenn mit dem Ausführungsschritt eine StyleVision-Transformation ausgeführt wird, so kann es sich beim Ergebnis um eine PDF-, Word-, HTML-Datei oder jeden anderen von StyleVision generierten Dateityp handeln.

 

Um Zugriff auf den erzeugten Wert zu erhalten, geben Sie ihm einen Namen (z.B. "output") und übergeben Sie Ihn an die Ausdrucksfunktion {results}. Dadurch wird er in einen Stream konvertiert, den Sie mit Hilfe von Stream-Ausdrucksfunktionen weiterverarbeiten können (siehe auch Aufrufen von Ausdrucksfunktionen).

 

Wenn mit dem Ausführungsschritt ein Shell-Befehl ausgeführt wird, rufen Sie, je nachdem, was für ein Ergebnis Sie erzielen möchten, spezifische Schrittergebnis-Ausdrucksfunktionen auf. Damit die Standardausgabe z.B. als Stream zurückgegeben wird, verwenden Sie den Ausdruck {stdout(output)}. Damit der Standardfehler als Stream zurückgegeben wird, verwenden Sie den Ausdruck {stderr(output)}. Nähere Informationen dazu finden Sie unter Schrittergebnisfunktionen.

 

results

In manchen Fällen werden von einem MapForce-Mapping oder einer StyleVision-Transformation mehrere Objekte zurückgegeben. Die von solchen Schritten erzeugten Ergebnisse haben den Datentyp results.

 

Verwenden Sie zur Behandlung eines solchen Ergebnisses die Ausdrucksfunktion {results(output)}, die ein Array von Streams zurückgibt. Wählen Sie anschließend mit Hilfe der Funktion nth einen bestimmten Stream aus dem Array aus.

 

Der unten gezeigte Auftrag wurde z.b. anhand einer auf FlowForce bereitgestellten StyleVision Transformationsdatei erstellt. Dieser Auftrag hat als Input-Parameter eine XML-Datei und gibt mehrere Ausgabedateien in verschiedenen Formaten zurück.

 

fs_results_example

 

Der Auftrag enthält drei Ausführungsschritte.

1.Im ersten Ausführungsschritt erfolgt die eigentliche Datentransformation.
2.Im zweiten Ausführungsschritt wird die Funktion compute in FlowForce aufgerufen, um eines der Ergebnisse dieser Transformation aufzurufen. Dabei ruft der Ausdruck as-file(nth(results(output), 0)) den ersten Eintrag im Stream-Array als Datei auf. Im Ausdruck wird "0" und nicht "1" verwendet, da das Array einen Null-basierten Index hat.
3.In dritten Ausführungsschritt wird die HTML-Datei in das Verzeichnis c:\archive kopiert.

 

item

Manchmal müssen Sie Ausdrücke erstellen, die Listen zusammenfügen oder zerlegen (siehe Listenfunktionen). Eine Liste besteht aus Objekte vom allgemeinen Typ item. Ein Item (Eintrag) hat einen abstrakten Datentyp. Sie können den Datentyp von item anhand der Art der Objekte, aus denen die Liste besteht, ermitteln (dabei kann es sich um Strings, Zahlen oder sogar Streams handeln). Beachten Sie, dass eine Liste nur Einträge desselben Datentyps enthalten kann.

 

In der Abbildung unten sehen Sie eine Schleife, wobei es sich bei "item" um einen numerischen Typ handelt, da die Liste selbst aus numerischen Werten besteht.

 

expression_field_foreach

 

Ein Schritt-für-Schritt-Beispiel, in dem Listen zum Einsatz kommen, finden Sie unter Kopieren von Dateien.


© 2019 Altova GmbH