Aktivieren Sie bitte JavaScript, um diese Seite anzeigen zu können.

Altova MapForce 2021 Basic Edition

MapForce mappt Daten im Allgemeinen auf intuitive Art, doch gibt es einige Situationen, in denen die erzeugte Ausgabe zu viele oder zu wenige Datenelemente enthält. In diesem Kapitel wird beschrieben, wie Sie Situationen vermeiden, in denen infolge falscher Verbindungen oder des falschen Kontexts unerwünschte Ergebnisse erzeugt werden.

 

Mapping-Regeln

Damit ein Mapping gültig ist, muss es mindestens eine Quell- und Zielkomponente enthalten. Eine Quellkomponente ist eine Komponente, mit der Daten normalerweise aus einer Daten oder Datenbank ausgelesen werden. Eine Zielkomponente ist eine Komponente, mit der Daten normalerweise in eine Datei oder Datenbank geschrieben werden. Wenn Sie versuchen, ein Mapping zu speichern, in dem diese Voraussetzungen nicht erfüllt werden, wird im Fenster "Meldungen" ein Fehler angezeigt: "Für ein Mapping sind mindestens zwei miteinander verbundene Strukturen erforderlich, z.B. eine Schema- oder eine Datenbank-Struktur."

 

Um ein Datenmapping zu erstellen, ziehen Sie Mapping-Verbindungen zwischen Datenelementen in der Quellkomponente und Datenelementen in der Zielkomponente.

 

Alle erstellten Mapping-Verbindungen bilden gemeinsam einen Mapping-Algorithmus. Zur Laufzeit des Mappings wertet MapForce den Algorithmus aus und verarbeitet Daten anhand dessen. Ob und wie effizient der Mapping-Algorithmus funktioniert, hängt in erster Linie von den Verbindungen ab. Einige Einstellungen können außerdem auf Mapping-, Komponenten- oder sogar Verbindungsebene angepasst werden, doch im Prinzip wird mit den Mapping-Verbindungen festgelegt, wie Ihre Daten verarbeitet werden.

 

Beachten Sie beim Ziehen von Verbindung Folgendes:

 

1.Wenn Sie eine Verbindung von einem Quelldatenelement aus ziehen, liest das Mapping die mit diesem Datenelement verknüpften Daten aus der Quelldatei oder -datenbank aus. Die Daten können null, eine oder mehrere Instanzen haben (d.h. es kann sich dabei, wie weiter unten beschrieben, um eine Sequenz handeln). Wenn z.B. Daten aus einer XML-Datei, die Bücher enthält, ausgelesen werden, kann die XML-Quelldatei null, ein oder mehrere book-Elemente enthalten. Beachten Sie, dass das Datenelement book im unten gezeigten Mapping in der Mapping-Komponente nur einmal angezeigt wird, obwohl die Quelldatei (Instanzdatei) mehrere book-Elemente oder keines enthalten kann.

mfdBooksToLibrary-BAS

2.Wenn Sie eine Verbindung zu einem Zieldatenelement ziehen, generiert das Mapping Instanzdaten dieser Art. Wenn das Quelldatenelement einfachen Inhalt (z.B. Strings oder Ganzzahlen) enthält und im Zieldatenelement einfacher Inhalt zulässig ist, wird der Inhalt in das Zieldatenelement kopiert und der Datentyp, falls nötig, konvertiert. Es können je nach Quelldaten null, ein oder mehrere Werte generiert werden, siehe nächster Punkt.

3.Für jedes (Instanz)datenelement in der Quellkomponente wird ein (Instanz)datenelement in der Zielkomponente erstellt. So lautet die allgemeine Mapping-Regel in MapForce. Wenn also die XML-Quelldatei, wie in der Abbildung oben, drei book-Elemente enthält,so werden in der Zielkomponente drei publication-Elemente erstellt. Beachten Sie, dass es auch einige Sonderfälle gibt, siehe Sequenzen.

4.Für jede Verbindung wird ein aktueller Mapping-Kontext erstellt. Der Kontext legt fest, welche Daten aktuell gerade für den aktuellen Ziel-Node zur Verfügung stehen, d.h. mit dem Kontext wird festgelegt, welche Quelldatenelemente tatsächlich aus der Quell- in die Zielkomponente kopiert werden. Indem Sie eine Verbindung ziehen oder nicht erstellen, ändern Sie eventuell unabsichtlich den aktuellen Kontext, was sich auf die Ausgabe des Mappings auswirkt. So könnte z.B. eine Datenbank oder ein Webservice unnötigerweise mehrmals während derselben Mapping-Ausführung aufgerufen werden. Eine ausführlichere Beschreibung dazu finden Sie weiter unten unter Der Mapping-Kontext.

© 2015-2021 Altova GmbH