Steuerungsattribute und Knoten
Spezifische Mechanismen für den Import können durch eine Reihe von Steuerungsattributen gesteuert werden. Diese werden innerhalb der Importstruktur als Felder der betreffenden Knoten konfiguriert.
Steuerungsattribut |
Wert |
Kurzbeschreibung |
core:clear |
true/false |
entfernt alle Einträge aus einer Liste |
core:delete |
true/false |
entfernt einzelnes Element |
core:index |
0,1,... |
identifiziert ein Element in einer Liste anhand seiner Reihenfolgeposition (nicht für alle Listen unterstützt) |
core:updateOnly |
true/false |
bei true wird der Listeneintrag nicht hinzugefügt, falls dieser nicht aufgelöst werden konnte |
|
true/false |
überspringt das Auflösen der Daten eines Objekts vor dem Aktualisieren - Ersetzt durch: core:mode="NO_RESOLVE" |
core:mode |
|
Gibt den Zusammenführungsmodus des Knotens an. Der Standardwert ist INHERITED welches den Modus des übergeordneten Modus entspricht. Daher ist der Standardmodus APPEND |
INHERITED |
Verwende den Modus des übergeordneten Objekts |
|
APPEND |
Gemappte Werte werden übernommen und zusammengeführt. |
|
OVERWRITE |
Gemappte Werte werden übernommen und zusammengeführt. |
|
NO_RESOLVE |
Es werden keine vorhanden Daten aufgelöst. Somit werden auch nur gemappte Daten übernommen |
|
core:listMode |
|
Gibt den Zusammenführungsmodus einer Liste an. Der Standardwert ist INHERITED welches den Modus des übergeordneten Modus (core:mode) entspricht. Der Listenmodus wird nie vererbt! Daher ist der Standardmodus APPEND |
INHERITED |
Verwende den Modus des übergeordneten Objekts |
|
APPEND |
Gemappte Werte werden übernommen und zusammengeführt. Nicht gemappte Werte werden beibehalten |
|
OVERWRITE |
Gemappte Werte werden übernommen und zusammengeführt. Nicht gemappte Werte werden verworfen |
|
base:keepChildren |
true/false |
Gültig nur bei core:listMode="OVERWRITE" auf einem"<lineItem>" Knoten eines hierarchischen Geschäftsobjekts Dabei werden alle nicht gemappten Kindpositionen trotzdem übernommen |
base:keepTrees |
Positions Prefix oder Regulärer Ausdruck |
Gültig nur bei core:listMode="OVERWRITE" auf dem "<lineItems>" Knoten eines hierarchischen Geschäftsobjekts Dabei werden alle zutreffenden nicht gemappten Positionen übernommen. Es kann eine mit "," Separierte Liste angegeben werden. Die einzelnen Werte können ein Prefix sein, oder ein Regulärer ausdruck: base:keepTrees="1.,2.,ORD,/^X[0-9]/" |
Steuerungsknoten |
Wert |
Kurzbeschreibung |
core:itemMatcher |
Das erste Objekt einer Liste, welches auf die konfigurierte Regel zutrifft, wird zur Aktualisierung verwendet |
Die Verwendung wird je Attribut / Knoten anhand von Beispielen erklärt:
core:index (Identifzieren eines Listeneintrags per Reihenfolgeposition)
core:itemMatcher (Identifzieren eines Listeneintrags per Regel)
core:mode="NO_RESOLVE" (Überspringen des Abrufs bestehender Objektdaten)
Gemeinsam ist in allen Fällen die folgende Checkliste für das Anlegen des Attribut-Felds in Lobster_data:
Das Feld sitzt an der richtigen Position innerhalb der Importstruktur?
Der Feldname verbindet den Namen des Steuerungsattributs (clear, delete, index, skipResolve) mit dem Suffix "_attr"?
Der passende Wert wird diesem Attribut als Fixwert, durch Mapping oder Funktionen zugewiesen?
Der Datentyp passt zum zugewiesenen Wert?
Der Eintrag core wurde für die Eigenschaft "XML-Namespace" eingetragen?
Der folgende Screenshot illustriert die Punkte der Checkliste im Editor für die Zielstruktur eines Lobster_data-Profils:
|
Das Beispiel zeigt einen Knoten, der das Löschen des ersten Eintrags eines plurales Textattributs innerhalb einer Adresse bewirken soll. (1) Position Die korrekte Position für das Feld, das das Steuerattribut core:delete definiert, ist im Bild per Selektion hervorgehoben. Im Unterschied dazu muss das Steuerattribut core:index (per Rahmen hervorgehoben) als Feld des value-Knotens definiert sein. (2) Name Zwischen dem eigentlichen Namen des Steuerungsattributs (delete) und dem Suffix (_attr), das das Feld als Attribut kennzeichnet, erscheint im Feldnamen eine Erweiterung (#accessCode), die erforderlich ist, um einen eindeutigen Feldnamen zu erzeugen. Diese erscheint nicht in XML-Ausgabe für die Zielstruktur. (3) Wert Als Wert des Steuerattributs wird hier der Fixwert true statisch zugewiesen. (4) Datentyp Der passende Datentyp ist in diesem Fall "Boolean". (5) XML-Namespace Die Zuweisung core für die Eigenschaft XML Namespace des Felds bewirkt das entsprechende Präfix in der XML-Ausgabe für die Zielstrukur. |
Zur Kontrolle empfiehlt sich immer ein Blick in die erzeugte Zielstruktur (XML), in der Abweichungen vom gewünschten Zustand ggf. leichter erkennbar sind als im Profil selbst.
... <base:AddressText core:delete="true"> |