Altova MapForce 2024 Professional Edition

Das in diesem Beispiel verwendete Mapping (ChainedReports.mfd) steht im Ordner <Dokumente>\Altova\MapForce2024\MapForceExamples\ zur Verfügung. In diesem Mapping wird eine XML-Datei namens ReportA.xml, die Reisekosten enthält und wie unten gezeigt aussieht, verarbeitet. Die Namespace-Deklaration und einige expense-item-Datenelemente wurden aus Gründen der Übersichtlichkeit weggelassen:

 

<?xml version="1.0" encoding="UTF-8"?>
<expense-report currency="USD" detailed="true">
  <Person>
    <First>Fred</First>
    <Last>Landis</Last>
    <Title>Project Manager</Title>
    <Phone>123-456-78</Phone>
    <Email>f.landis@nanonull.com</Email>
  </Person>
  <expense-item type="Travel" expto="Development">
    <Date>2003-01-02</Date>
    <Travel Trav-cost="337.88">
        <Destination/>
    </Travel>
    <description>Biz jet</description>
  </expense-item>
  <expense-item type="Lodging" expto="Sales">
    <Date>2003-01-01</Date>
    <Lodging Lodge-cost="121.2">
        <Location/>
    </Lodging>
    <description>Motel mania</description>
  </expense-item>

  <expense-item type="Travel" expto="Marketing">
    <Date>2003-02-02</Date>
    <Travel Trav-cost="2000">
        <Destination/>
    </Travel>
    <description>Hong Kong</description>
  </expense-item>
</expense-report>

ReportA.xml

Ziel des Mappings ist die Erzeugung zweiter Berichte anhand der obigen Datei:

 

ReportB.xml - dieser Bericht soll nur die Reisekosten vom Typ "Travel" enthalten.

ReportC.xml - dieser Bericht soll nur die Reisekosten enthalten, die vom Typ "Travel" sind und 1500 nicht übersteigen.

 

Die Weiterleitungsschaltfläche der Zwischenkomponente des Mappings (Komponente B) wurde zu diesem Zweck aktiviert btn_component_pass-through_pressed, wie unten gezeigt, sodass das Mapping in Phasen ausgeführt wird: von A auf B und anschließend von B auf C. Die durch die Zwischenkomponente erzeugte Ausgabe wird als Input für das Mapping zwischen B und C verwendet.

mf_passthrough_02

Die Namen der in den einzelnen Phasen der Mapping-Kette generierten Ausgabedateien sind in den Einstellungen der einzelnen Komponenten definiert. (Um die Komponenteneinstellungen zu öffnen, klicken Sie mit der rechten Maustaste auf die Komponente und wählen Sie im Kontextmenü den Befehl Eigenschaften). Die erste Komponente wurde so konfiguriert, dass sie Daten aus einer XML-Datei namens ReportA.xml liest. Da es sich hierbei um eine Quellkomponente handelt, ist das Feld XML-Output-Datei hier nicht von Bedeutung und wurde leer gelassen.

mf_passthrough_03

Einstellungen der Quellkomponente

Wie unten gezeigt, wurde für die zweite Komponente (ReportB) eine Output-Datei namens ReportB.xml konfiguriert. Beachten Sie, dass das Feld XML-Input-Datei ausgegraut ist. Wenn die Weiterleitung wie in diesem Beispiel aktiv ist, so wird das Feld XML-Input-Datei der Zwischenkomponente automatisch deaktiviert. Ein Input-Dateiname ist hier nicht nötig, damit das Mapping ausgeführt wird, da die in dieser Phase des Mappings erzeugte Ausgabe in einer temporären Datei gespeichert wird und im Mapping weiterverwendet wird. Wenn, wie unten gezeigt, eine XML-Output-Datei definiert wird, so wird dieser Name als Name der Zwischenausgabedatei verwendet. Wenn keine XML-Output-Datei definiert ist, so wird automatisch ein Standarddateiname verwendet.

mf_passthrough_04

Einstellungen der Zwischenkomponente

Schlussendlich wird die dritte Komponente konfiguriert. Sie soll eine Ausgabedatei namens ReportC.xml erzeugen. Das Feld XML-Input-Datei ist hier nicht relevant, da es sich hier um eine Zielkomponente handelt.

mf_passthrough_05

Einstellungen der Zielkomponente

Wenn Sie durch Klick auf das Fenster Ausgabe im Mapping-Fenster eine Vorschau auf das Mapping anzeigen, werden in der Ausgabe, wie erwartet, zwei Dateien angezeigt:

 

1.ReportB.xml, welcher das Ergebnis des Mappings A auf B darstellt

2.ReportC.xml, welcher das Ergebnis des Mappings B auf C darstellt

 

Um auszuwählen, welche der beiden generierten Ausgabedateien in Fenster "Ausgabe" angezeigt werden soll, klicken Sie entweder auf die Pfeilschaltflächen oder wählen Sie den gewünschten Eintrag aus der Dropdown-Liste aus.

mf_passthrough_06

Generierte Ausgabedateien

Wenn das Mapping mit MapForce ausgeführt wird, gibt die Einstellung "Direkt in die endgültigen Output-Dateien schreiben" (aus dem Menü Extras | Optionen | Allgemein) an, ob die Zwischendateien als temporäre oder als physischen Dateien gespeichert werden sollen. Beachten Sie, dass diese Einstellung nur dann gilt, wenn die Vorschau direkt in MapForce erfolgt. Würde dieses Mapping mit MapForce Server oder durch generierten Code ausgeführt, würden in jeder Phase der Mapping-Kette tatsächlich Dateien erzeugt.

 

Wenn StyleVision installiert ist und der Zielkomponente (wie in diesem Beispiel) eine StyleVision Power Stylesheet (SPS)-Datei zugewiesen wurde, so kann die endgültige Mapping-Ausgabe als HTML-, RTF-Datei angezeigt (und gespeichert) werden. Um diese Ausgabe in MapForce zu generieren und anzuzeigen, klicken Sie auf das Register mit dem entsprechenden Namen.

mf_passthrough_07

Generierte HTML-Ausgabe

Beachten Sie, dass nur die Ausgabe der endgültigen Zielkomponente in der Mapping-Kette angezeigt wird. Um die StyleVision-Ausgabe von Zwischenkomponenten anzuzeigen, müssten Sie die Weiterleitungsschaltfläche deaktivieren und die Vorschau der Zwischenkomponente anzeigen (wie im Beispiel: Weiterleitung deaktiviert gezeigt).

© 2017-2023 Altova GmbH