Neues XML aus alten Daten

Im folgenden Artikel wird erklärt, wie man aus einer etwas nebulösen Anforderung an eine Anwendung mit XML eine flexible funktionierende Lösung macht.

Nebulös ist ein schönes Wort, das perfekt die Anforderungen an ein Projekt beschreibt, an dem der Autor dieser Zeilen kürzlich arbeitete. Die Anforderungen lasen sich etwa so: „Übernehme eine reine Textdatei von einer vorgeschalteten Mainframe-Anwendung und mache daraus ein XML-Dokument für eine nachfolgende Anwendung.“ Keinerlei Angaben, wie die Eingabedaten aussahen, nur dass es sich um eine reine Textdatei handelte. Der einzige Punkt, mit dem man etwas anfangen konnte, war die Ausgabeseite, denn XML ist sehr flexibel und mit etwas XSLT kann man es genau so aussehen lassen, wie der Kunde es wünscht.

Da außer der Tatsache, dass es sich um eine reine Textdatei handelte, über die Eingabeseite nichts bekannt war, fiel die Entscheidung, ein Utility zu schreiben, das Datensätze fester Länge sowie Datensätze mit Trennzeichen handhaben kann. Eine Datei mit Datensätzen fester Länge besteht aus vordefinierten Datensätzen mit jeweils vordefinierten Feldern, die immer eine feste Länge haben. Der Datensatz A besteht zum Beispiel aus den Feldern X, Y und Z, mit einer Länge von 3 Bytes für X, 10 für Y und 5 für Z. Die Gesamtlänge beträgt immer 18 Bytes, weil die Länge der einzelnen Felder immer fest ist.

Bei Dateien mit Trennzeichen ist dies nicht der Fall. Statt eine feste Länge zu haben, sind die einzelnen Felder durch ein spezielles Zeichen voneinander getrennt, zum Beispiel ein Komma oder Semikolon. Daher kann man für einen Datensatz vom Typ B nicht vorab die Länge der Felder M, N und O feststellen. Man weiß jedoch, dass die einzelnen Felder entweder mit dem Trennzeichen oder mit dem Ende des Datensatzes enden, je nachdem, was eher kommt.

Themenseiten: Anwendungsentwicklung, Software, XML

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Neues XML aus alten Daten

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *