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.

Fanden Sie diesen Artikel nützlich?
Noch keine Bewertung vorhanden.

Aktuelle Job-Angebote

ZDNet.de Live

Apple ...

Apple fordert Leitlinien für Mobilfunkpatente t.co/...

9.02.12, 09:10 von zdnet_de
Judge ...

Judge: Chinese engineer didn't spy on US. t.co/...

9.02.12, 08:55 von zdnetasia
Consu ...

Consumerization a double-edged sword for SMBs. t.co/...

9.02.12, 08:54 von zdnetasia
Aliba ...

Alibaba raising $3B to buy back Yahoo stake. t.co/...

9.02.12, 08:53 von zdnetasia
Analy ...

Analyst: Low-cost markets to springboard Cisco's growth. t.co/...

9.02.12, 08:53 von zdnetasia
Caffe ...

Caffeine fix? Now you can literally inhale it. t.co/...

9.02.12, 08:40 von ZDNet
Wolfr ...

WolframAlpha Pro angekündigt (5 Dollar/Monat): t.co/...

9.02.12, 08:29 von coke4all
Faceb ...

Facebook highest valuation yet: $102.3 billion t.co/...

9.02.12, 08:10 von ZDNet
Defen ...

Defence IT blamed in vetting fiasco: t.co/...

9.02.12, 07:59 von zdnetaustralia
Hack ...

Hack exposes Google Wallet PIN: t.co/...

9.02.12, 07:54 von zdnetaustralia
Art ...

Art installation blurs boundary between physical and digital (video) t.co/...

9.02.12, 07:25 von ZDNet
First ...

First 'biological computer' created, can read DNA. t.co/...

9.02.12, 07:14 von zdnetasia
Conro ...

Conroy caps 'waterfront' spectrum buys: t.co/...

9.02.12, 07:06 von zdnetaustralia
APAC ...

APAC IT services growth hits 'speed bump'. t.co/...

9.02.12, 07:03 von zdnetasia
Coupl ...

Couple unfriends woman on Facebook, father murders them t.co/...

9.02.12, 06:20 von ZDNet
Qld ...

Qld hacklab seeks Linux Australia funding t.co/...

9.02.12, 06:15 von zdnetaustralia
Techn ...

Technolatte podcast now recording. Got any questions?

9.02.12, 05:21 von zdnetaustralia
Apple ...

Apple doesn't enforce its own Address Book policy t.co/...

9.02.12, 04:45 von ZDNet
The ...

The internet won't always be anonymous: ITU t.co/...

9.02.12, 04:24 von zdnetaustralia
Thode ...

Thodey is 'pleased' with Telstra's Next G performance t.co/...

9.02.12, 04:11 von zdnetaustralia