Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:software:info:format

Format

Ein paar grundlegende Anmerkungen zum Format der Infodateien.

Kriterien für das Dateiformat

  • maschinenlesbar und vom Menschen lesbar („human readable“)
  • Reintext (ASCII)
  • eindeutige Identifizierbarkeit des Dateiformats
    • durch eine Kennung in der ersten oder zweiten Zeile

Allgemeine Formatbeschreibung

  • Format
    • Das grundsätzliche Dateiformat ist ASCII (7-bit)
    • Durch die Beschränkung auf die 7-bit-ASCII-Zeichentabelle wird die Kompatibilität über Betriebssystemgrenzen hinaus gewährleistet.
    • Das bedeutet gleichzeitig: keine Umlaute und andere Sonderzeichen.
  • Dateiname und Endung
    • Die Dateiendung ist „.info“.
    • Der Dateiname ist identisch mit dem Grundnamen der zugehörigen Datendateien.1)
  • Die erste Zeile der Datei ist für eine Kennung reserviert.
    • ermöglicht die eindeutige Erkennung des Dateiformates beim Parsen
    • wird durch eine Leerzeile vom Rest der Datei abgetrennt
    • sollte eine Versionsnummer beinhalten.
  • Feldbezeichner
    • Feldbezeichner dürfen Leerzeichen enthalten, aber keine Sonderzeichen und keinen Doppelpunkt2).
    • Feldbezeichner müssen mit einem Buchstaben beginnen (keine Zahl!).
    • Jeder Feldbezeichner wird durch einen Doppelpunkt beendet.
    • Im Feldbezeichner sollte der Blockname nicht wiederholt werden.3)
  • Werte
    • Werte stehen immer hinter einem Feldbezeichner
    • Innerhalb eines Blockes werden die Werte alle soweit eingerückt, daß sie bündig miteinander abschließen. D.h. der längste Feldbezeichner definiert die Einrückung der Werte.
    • Werte dürfen Sonderzeichen4) und Doppelpunkte enthalten
    • NEW Werte können sich über mehrere Zeilen erstrecken. In diesem Fall muß jede neue Zeile mit einem „Whitespace character“ (Leerzeichen, Tabulator, …) beginnen.
  • Verwendung von Doppelpunkten
    • Doppelpunkte dienen lediglich der Trennung von Feldbezeichnern und Werten
    • An allen anderen Stellen (nach einem zusätzlichen Bezeichner, nach einer Blocküberschrift) sind Doppelpunkte verboten. Einzige Ausnahme (s.o.) sind Feldwerte.
    • Doppelpunkte werden intern beim Parsen dazu verwendet, die entsprechenden Feldbezeichner und Werte voneinander zu trennen (in Matlab: regexp mit Option split).
  • Die Infodatei ist in Blöcke unterteilt
    • Blöcke werden durch den Blocknamen in Großbuchstaben eingeleitet
  • Alle Bezeichner und alle Beschriftungen innerhalb der Datei sind aus Gründen der Internationalität in englischer Sprache zu halten.
  • Blöcke und Felder können optional sein, solange aus den Werten bestimmter (obligatorischer?) Felder („Schalter“) auf die (Nicht-)Existenz dieser Felder und/oder Blöcke geschlossen werden kann.
    • Gibt es zu einem Feld keine Werte, aber trotzdem gute Gründe, das Feld nicht zu entfernen5), wird „N/A“ als Wert gesetzt.
  • zu den Blöcken:
    • Jeder Block beginnt mit einer Überschrift (Blockbezeichner) in Großbuchstaben.
    • Jeder Block wird durch eine Leerzeile vom vorangegangenen Inhalt der Datei abgetrennt.
    • Innerhalb der Blöcke finden sich Schlüssel-Wert-Paare aus einem Feldbezeichner, gefolgt von einem entsprechenden Wert
  • Kommentare
    • Kommentare werden grundsätzlich mit dem Prozentzeichen (%) eingeleitet.
    • Soll ein Prozentzeichen als solches verwendet werden, wird es durch den vorangestellten Backslash (\) geschützt.
    • Kommentare sind sowohl innerhalb einer Zeile als auch alleinstehend möglich.
    • Kommentarblöcke sind auch direkt vor Blöcken möglich, dann muss die Leerzeile nach oberhalb des Kommentarblocks verlegt werden, um den Block nach wie vor eindeutig zu identifizieren.
1)
Das ist im Idealfall so, läßt sich allerdings in der Praxis nicht immer umsetzen. Deshalb ist das keine harte Regel, sondern eine, wenn auch offensive, Empfehlung.
2)
Einzige Ausnahme sind momentan runde Klammern. Kommen noch einzelne weitere Ausnahmen hinzu, ließe sich das auch noch nachbauen. Hintergrund der Beschränkung ist, daß die Feldbezeichner als Feldnamen intern in Matlab-Strukturen (struct) verwendet werden.
3)
Beispiel: „Preparation“ statt „Sample preparation“ im Block „SAMPLE“. Das sorgt einerseits für kürzere Feldnamen, andererseits für größere Übersichtlichkeit.
4)
Grundsätzlich ist von der Verwendung von Sonderzeichen aber abzuraten, da sie häufig der unterschiedlichen Zeichensatzkodierung zum Opfer fallen. Umlaute etc. sind, obwohl vermutlich eh unnötig, da die Inhalte möglichst in englischer Sprache formuliert werden sollen, definitiv keine gute Idee, da Matlab mit unterschiedlichen Zeichensatzkodierungen auf den unterschiedlichen Betriebssystemen arbeitet.
5)
Das ist z.B. dann gegeben, wenn es sich um ein Feld handelt, wo je nach Experiment durchaus ein relevanter Wert eingetragen werden sollte, nur in einem spezifischen Fall kein Wert vorliegt. In solchen Fällen ist dringend anzuraten, das Feld in allen Dateien beizubehalten, da es sonst schnell vergessen wird.
de/software/info/format.txt · Zuletzt geändert: 2020/09/30 21:35 von 127.0.0.1