Thread csv Datei mit BNF Steuerdatei parsen
(9 answers)
Opened by unaware at 2008-09-08 19:54 Gast+2008-09-10 01:00:02-- ok, ich schau mir das mal an Quote die einzelnen Felder sollen geprüft werden auf: syntax_1. Belegung=optional, mandatorisch, eindeutig Wobei die Prüfung auf Eindeutigkeit (unique) sich eh nur auf die aktuelle Datei beziehen könnte, und dann schon genug Mühe macht (Feldwerte sammeln -> sortieren -> doppelte identifizieren. ==> nächst schwächerers Kriterium für unique Felder wäre "mandatorisch", das wäre auch schon ok syntax_2. Format-Prüfung vermutlich relativ leicht machbar (Grundtyp = String definierter Länge, numerischer Wert mit definierter Anzahl vorkomma/Nachkommastellen, oder Datum in einer bestimmten Formatform) syntax_3. Wertebereich-Überprüfung Da stelle ich mir einen regulären Ausdruck vor, dann sind zumindest "einfache" numerische und alfanumerische Dinge relativ leicht abprüfbar (incl. "*" oder "'a' | 'b' | 'c'" ) . Bei Datums-Formatangaben könnte es etwas kniffliger werden (z.B. "vorgefundene Uhrzeit muß größer/kleiner als $sysdate sein", oder: "Uhrzeit wird mit hh:mm:ss angegeben, aber mm:ss müssen 00:00 enthalten" semantik_1: (Spaltenabhängigkeiten innerhalb einer Zeile) zuvor benannte Urzeit-Bereichs-Prüfung könnte schon fast zu derartigen semantischen prüfungen zählen. Spaltenabhängigkeiten kommen bei meinen Datenformaten auch vor, aber da könnte ich momentan noch drauf verzichten semantik_2: (Zeilenabhängigkeiten zwischen Zeilen) "Ende-Record 1. Spalte enthält die Anzahl aller Datenrecords" verlangt ein wenig Arithmetik-Kenntnisse, deises Feld gibts in jeder Datei. Auf dessen Auswertung müsste ich vermutlich initial verzichten Die unter syntax_1 genannte eindeutigkeit (unique key) fällt im Prinzip in die gleiche Prüfklasse wie die Zählerei |