Altova MapForce 2024 Enterprise Edition

Sie können für beinahe jedes Datenelement im Mapping Node-Funktionen und Standardwerte erstellen. Wenn Node-Funktionen und Standardwerte erstellt werden, bedeutet dies, dass eine Regel definiert wird. Um eine Regel zu erstellen, wählen Sie das Datenelement (den Node oder das Feld) aus, für das Sie eine Regel definieren möchten. Es kann sich dabei einen einzelnen Node oder um einen Node mit untergeordneten Datenelementen handeln. Wenn Sie eine Regel für einen Node mit untergeordneten Datenelementen erstellen, wird die Regel auf alle untergeordneten Datenelemente angewendet, außer Sie deaktivieren diese Option explizit.

 

Wichtige Aspekte von Standardwerten und Node-Funktionen

Standardwerte und Node-Funktionen haben die folgenden wichtigen Aspekte:

 

Sie können Standardwerte und Node-Funktionen auf der Input-Seite einer Zielkomponente oder auf der Output-Seite einer Quellkomponente erstellen. Um herauszufinden, welche Seite für Ihre Zwecke geeignet ist, lesen Sie nach unter Input- oder Output-Seite.

 

Wenn für ein und dasselbe Datenelement mehrere Regeln vorhanden sind, wendet MapForce diejenige Regel an, die diesem Datenelement näher ist. Eine Anleitung dazu, wie Sie Regeln außer Kraft setzen, finden Sie in den Anwendungsfallszenarien unter Szenario 4.

 

Standardwerte und Node-Funktionen können erstellt werden, wenn der Verbindungstyp zwischen Quell- und Zielkomponente quellorientiert oder zielorientiert ist. "Alles kopieren"-Verbindungen werden jedoch nicht unterstützt. Node-Funktionen und Standardwerte werden nicht auf untergeordnete Datenelemente von "Alles kopieren"-Verbindungen angewendet. Der übergeordnete Node mit der "Alles kopieren"-Verbindung kann Node-Funktionen und Standardwerte haben, jedoch nur, wenn er einen einfachen Wert hat, z.B. ein XML-Element mit Inhalt und Attributen vom Typ simpleType. Nähere Informationen zu Verbindungsarten finden Sie in unter Verbindungsarten.

 

Beachten Sie, dass die Erstellung von Standardwerten oder Node-Funktionen für den Datei-Node nicht unterstützt wird.

 

In einer Node-Funktion werden nur bestimmte, in diesem Zusammenhang sinnvolle Komponenten wie z.B. vordefinierte Funktionen, Variablen, if-else-Bedingungen unterstützt. Komplexe Strukturen wie XML, JSON, EDI oder Datenbanken werden nicht unterstützt. Auch benutzerdefinierte Inline-Funktionen und Join-Komponenten werden in diesem Zusammenhang nicht unterstützt.

 

Eine Node-Funktion kann einen Input-Parameter oder gar keinen Parameter haben. Der Input-Parameter hat immer den Namen raw_value. Löschen Sie den Input-Parameter auch dann nicht, wenn Sie für Ihre Funktion keinen Input benötigen, da sonst bei der Ausführung des Mappings Validierungsfehler entstehen. Dasselbe gilt auch für den Output der Funktion. Falls Sie eine versehentlich gelöschte Input-Komponente wiederherstellen müssen, wählen Sie den Menübefehl Funktion | Input-Komponente einfügen.

 

Sie können in MapForce Node-Metadaten (z.B. einen Node-Namen, eine Annotation) zu einer Node-Funktion hinzufügen. Nähere Informationen dazu finden Sie unter Node-Metadaten in Node-Funktionen.

 

Im Dialogfeld Node-Funktionen und Standardwerte filtern stehen verschiedene Datentypen zur Auswahl, von denen einige Typkategorien sind, d.h. sie stehen für eine größere Palette von Typen. So steht etwa der Typ string für verschiedene andere von string abgeleitete Datentypen wie z.B. normalizedString, token, NCName, NMTOKEN, IDREF, ENTITY und andere. Ebenso steht der Typ decimal für die abgeleiteten Typen integer, long, short und andere. Die Hierarchie von Typen ist in der XML Schema W3C Recommendation definiert.

 

Erstellen einer Regel

Um eine Regel zu erstellen, gehen Sie folgendermaßen vor:

 

1.Klicken Sie mit der rechten Maustaste auf den gewünschten Node und wählen Sie im Kontextmenü die Option Node-Funktionen und Standardwerte | Input/Output-Node-Funktionen und Standardwerte. Ob es sich um Input- oder Output-Node-Funktionen und Standardwerte handelt, hängt davon ab, auf welcher Seite der Komponente Sie eine Node-Funktion oder einen Standardwert erstellen müssen. Klicken Sie alternativ dazu mit der rechten Maustaste auf einen Konnektor und wählen Sie den Node-Funktionsbefehl für die jeweilige Seite aus. Daraufhin wird im Mapping-Fenster das Node-Funktionsfenster angezeigt, in dem Sie Standardwerte und Node-Funktionen definieren können (rotes Rechteck in der Abbildung unten).

mff_nodefunc_ex2

Wenn für ein übergeordnetes Datenelement Regeln definiert wurden und Sie diese vom Parent auf ein Child übertragen möchten, aktivieren Sie das Kontrollkästchen Regeln von Vorfahren erben (Abbildung oben). Nähere Informationen zur Vererbung finden Sie unter Anwendungsfallszenarien.

 

2.Im nächsten Schritt muss nun definiert werden, ob Sie einen Standardwert (mf_ic_add_default) oder eine Funktion (mf_ic_add_nodefunc) hinzufügen möchten. Nach Auswahl der gewünschten Option wird eine neue Regel erstellt (eine Zeile im Raster des Node-Funktionsfensters). Informationen zur Konfiguration von Regeln finden Sie weiter unten unter Regelkonfiguration. Wenn Sie eine Funktion definieren, werden die Input- und Output-Parameter der Funktion im Mapping-Bereich angezeigt.

 

Bearbeiten/Löschen von Regeln

Um eine Regel anzuzeigen, zu ändern oder zu löschen, klicken Sie auf das mf_ic_node_func_defined-Symbol (schwarz oder rot) neben dem entsprechenden Node. Im Node-Funktionsfenster werden alle für diesen Node definierten Regeln angezeigt. Wenn Sie eine Node-Funktion hinzugefügt haben, sehen Sie im Raster die Schaltfläche mf_ic_nodefunc_edit, über die Sie die Implementierung der Funktion ändern können. Wenn die Schaltfläche mf_ic_nodefunc_edit nicht vorhanden ist, wurde die Funktion höchstwahrscheinlich für ein übergeordnetes Datenelement definiert. Klicken Sie in diesem Fall neben dem Datenelement, für das die Regel definiert wurde, auf die Schaltfläche mf_ic_node_func_defined.

 

Um eine Regel zu löschen, wählen Sie sie im Raster im Node-Funktionsfenster aus und klicken Sie auf die Schaltfläche ic_paramdel .

 

Konfigurieren einer Regel

Sobald Sie im Kontextmenü Node-Funktionen und Standardwerte | Input/Output-Funktionen und Standardwerte auswählen (siehe Anleitung oben), wird das Node-Funktionsfenster angezeigt, in dem Sie Node-Funktionen und Standardwerte konfigurieren können. Weiter unten finden Sie eine Beschreibung der verfügbaren Einstellungen.

 

Anwenden auf: Eine Regel kann auf das aktuelle Datenelement, alle direkten Sub-Einträge oder auf alle untergeordneten Datenelement angewendet werden. Wenn das in ausgewählte Datenelement keine untergeordneten Datenelemente hat, steht nur die Option Aktuelles Datenelement zur Auswahl.

 

Datentyp: Klicken Sie auf die Schaltfläche mf_ic_ellipsis   und wählen Sie einen Datentyp aus dem Dialogfeld aus. Die Regel wird nur auf Datenelemente dieses Datentyps (oder eines davon abgeleiteten Datentyps) angewendet. Wenn das ausgewählte Datenelement keine untergeordneten Datenelemente hat, steht nur der Datentyp dieses Datenelements zur Auswahl.

 

Standardwert/Funktionsbeschreibung: Wenn Sie einen Standardwert definieren, geben Sie den gewünschten Standardwert ein, der für das ausgewählte Datenelement (und ggf. auf alle untergeordneten Datenelemente) definiert werden soll. Um einen leeren String als Standardwert zu definieren, lassen Sie dieses Feld leer. Wenn Sie eine Funktion definieren, dient dieses Feld nur zu Informationszwecken: Sie sehen darin eine zusammenfassende Beschreibung der Funktion.

 

Um das Funktionsfenster zu schließen, klicken Sie in der linken oberen Ecke dieses Fensters auf die Schaltfläche mf_ic_exit_door oder drücken Sie die Escape-Taste.

 

Visuelle Anhaltspunkte

Damit Sie besser erkennen, welche Regeln definiert sind und ob sie auf einen bestimmten Node angewendet werden, werden in MapForce verschiedene visuelle Hilfsmittel angezeigt (siehe Tabelle unten).

 

Symbol

Beschreibung

mf_ic_node_func_defined

Dieses Symbol gibt an, dass für dieses Datenelement eine Regel definiert wurde, die sich eventuell auch auf alle untergeordneten Datenelemente auswirkt. Klicken Sie auf das Symbol, um die Regel zu ändern oder zu löschen.

mf_ic_node_func_applied

Dieses Symbol gibt an, dass das Datenelement die auf einer übergeordneten Ebene definierte Regel erbt.

mf_ic_node_func_defined_applied

Dieses Symbol gibt an, dass für dieses Datenelement eine Regel definiert ist und darauf angewendet wird. Dieses Symbol wird normalerweise angezeigt, wenn für einen einzelnen Node eine Funktion oder ein Standardwert definiert ist.

mf_ic_node_function_blocked

Dieses Symbol gibt an, dass zwar eine Regel auf dieses Datenelement angewendet würde, diese aber absichtlich blockiert wurde. Dieses Symbol wird nur dann angezeigt, wenn die Vererbung blockiert wurde und für diesen Node keine anderen Regeln definiert sind. Wenn eine Regel von einem übergeordneten Datenelement angewendet wird, hat das Symbol mf_ic_node_func_applied Vorrang.

mf_ic_node_func_inactive

Dieses Symbol gibt an, dass eine für dieses Datenelement definierte Regel nicht aktiv ist. Dieses Symbol könnte z.B. bei Child-Datenelementen angezeigt werden, die noch nicht verbunden wurden.

ic_nodefunc_unconnected

Dieses Symbol zeigt an, dass die Regel derzeit nicht aktiv ist, da keine Node-Entsprechungen und Verbindungen gefunden wurden. Mit Node-Entsprechungen ist Folgendes gemeint: Bevor eine Funktion oder ein Standardwert angewendet wird, sucht MapForce nach dem Datentyp, den Sie definiert haben; wenn Sie z.B. auch einen Filter definiert haben, dem ein bestimmter Node-Name entsprechen muss, so sucht MapForce auch nach dem entsprechenden Node-Namen.

 

© 2018-2024 Altova GmbH