Seitenhistorie
...
Die XML Strukturdefinition beschreibt für ein Business Object (BO), wie die XML Inhalte aus der gegebenen XML Datei auf die Attribute/Felder übertragen werden (Mapping). Die Strukturdefinition benötigt die folgenden Angaben:
Match (Struktur)
Einfacher XPath Ausdruck, der die Attributverarbeitung (s.u.) der Strukturdefinition triggert.
Businessobjekt
Das BO, das durch diese Strukturdefinition erzeugt (aktualisiert/gelöscht) wird.
Attribute
Jede Zeile definiert, wie ein Attribut (Feld) des BOs aus dem XML extrahiert werden soll.
Match (Attribut)
Einfacher XPath Ausdruck (relativ zum Struktur Match), der den XML Knoten (Element bzw. Attribute) auswählt, dessen Wert auf das BO Attribut übertragen wird. Details weiter unten.
Attribut (BO)
BO Attribut (Feld), in den der aus dem XML extrahierte Wert eingetragen wird.
Berechnungsausdruck
Über das Feld Berechnungsausdruck kann ein zu importierendes Attribut dynamisch berechnet werden. Dies ist z.B. notwendig, wenn der Wert eines BO Attributes aus mehreren XML Knoten-Werten zusammen gesetzt werden muss. Über ein Groovy-Script können Sie den zu importierenden Wert für jede Zeile aus den kompletten Daten der Zeile ableiten. Dabei sehen in die Variablen values
(java.lang.String[]), alle Werte der aktuellen Zeile 0-indiziert), line
(java.lang.Integer, die aktuelle Zeilennummer in der XML Datei) und log
(org.nuclos.server.fileimport.ImportLogger) zur Verfügung.
Format (Parsestring)
Verhält sich genau wie beim CSV Import (weitere Informationen dort).
XML Datei Import
Der XML Datei Import definiert, in welcher Reihenfolge die Strukturdefinitionen abgearbeitet werden. Der eigentliche Import geht dann wie folgt vor sich:
...
- Die XML Datei muss well-formed sein. Ein XML Schema wird nicht benötigt (und kann auch nicht angegeben werden)
- Der XML Import von Dateien mit mixed content (d.h. in einem Tag können sich gleichzeitig Text und Unterelemente befinden) ist nicht vorgesehen. Anders gesagt: in jedem XML Element befindet sich entweder Text oder weitere XML Element Elemente (Tags).
- Die Inhalte für ein BO müssen sich im XML in einem zusammenhängenden Teilbaum befinden. Diese Teilbäume müssen für den Import komplett in den Speicher geladen werden, sie sollten also möglichst klein sein.
...
Info |
---|
Warum ist der XML Import fern von XML und so nah am CSV Import?Das liegt an Einschränkungen im Nuclos Kern, insbesondere an:
Diese Einschränkungen führen dazu, dass es nicht einfach möglich ist, eine (normale) XML Struktur mit Nuclos Bordmitteln auf der Metaebene (also auf der Ebene, wo sich z.B. XML Schema befindet) zu beschreiben. |
...