Verarbeitung von XML-Dateien

Die Verarbeitung von XML-Dateien unterscheidet sich leicht von der anderer Dateien. Wie diese verarbeitet werden, wird im Format-Deskriptor definiert. Der Backend-Prozess spaltet die XML-Quelldatei in eine Reihe von Instanzen auf, die anhand der Tabellen im Deskriptor definiert werden. Beim Laden der Datei wird jede Instanz separat verarbeitet, sortiert von Parent nach Child, was zu einem anderen Ansatz führt als beim Laden einer normalen Datei, wie z.B. einer CSV-Datei. Die Unterschiede bestehen in den folgenden Punkten:

  • Die resultierende Tabelle, wie in den Task-Eigenschaften definiert, wird in diesem Falle nicht die Daten der XML-Datei enthalten, sondern nur die verschiedenen Instanzen auflisten. Für jede Instanz wird der Name der Tabelle geliefert, in der die Daten für diese Instanz gefunden werden können. Somit werden die Daten der XML-Datei nicht in der in den Task-Eigenschaften definierten Tabelle gespeichert, sondern in mehreren unterschiedlichen Tabellen.
  • Beim Laden der verschiedenen Instanzen wird das gespeicherte Verfahren (zum Verarbeiten der Daten) für jede Instanz angezeigt, und zwar direkt nachdem die Instanz geladen wurde. Wenn es n Instanzen gibt, so wird das Verfahren n Mal ausgeführt. Wenn eine Instanz jedoch verarbeitet wird, könnten Child-Instanzen evtl. noch nicht geladen worden sein. Um die verschiedenen Instanzen während der Verarbeitung zu identifizieren, kann das Parameter ‘TEMPFILENAME’ in den gespeicherten Verfahren definiert werden. Dieses Parameter enthält den Dateinamen (welcher dem Tabellennamen entspricht) für die Instanz, die geladen wurde und verarbeitet werden muss.
  • Die Daten für jede Instanz verbleiben während des gesamten Ladezeitraums in ihren entsprechenden Tabellen. Sie werden nur entfernt, wenn dasselbe Task erneut ausgeführt wird.