Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:software:datensatz:austauschformat

Austauschformat

Als Austauschformat für Datensätze bietet sich u.a. aufgrund der hierarchischen internen Struktur das XML-Format an.

Von den beiden bestehenden Toolboxen – trEPR-Toolbox und TA-Toolbox – her kommend empfiehlt sich zur Speicherung die Separierung der eigentlichen Daten (Feld data in der Datensatz-Struktur) aus dem XML-Baum und die Abspeicherung dieser Daten im Standard-Binärformat.

Beide Arten von Dateien, die Binärdatei(en) mit den eigentlichen numerischen Daten und die XML-Datei mit der Struktur, werden dann in ein gemeinsames Verzeichnis gelegt und ZIP-komprimiert.

<note important>Die nachfolgende Beschreibung dient nach aktuellem Stand (03/2015) erst einmal der weiteren Entwicklung und beschreibt noch nicht die Realität in den bislang verfügbaren Toolboxen, insbesondere der trEPR-Toolbox und TA-Toolbox.</note>

Grundüberlegungen

  • Trennung von Daten und Struktur in der Ablage
    • Binärdaten sind deutlich kleiner als gezippte ASCII-Daten – bei tendenziell höherer Präzision
  • Möglichst unabhängig von Plattformen und Programmen
    • XML in Standard-Schema
    • Binärdaten als Standardformat
    • „Manifest“ o.ä. mit Beschreibung dieser Aspekte

Als „Vorlage“ oder Inspirationsquelle kann das Open Document Format dienen, das letztlich im Wesentlichen ein ZIP-komprimiertes Verzeichnis einer XML-Datei und ihrer weiteren Inhalte ist.

Inhalte

  • XML-Datei mit der eigentlichen Datensatzstruktur
    • Schema vorerst „org.apache.xerces.dom.DocumentImpl
  • Binärdateien für folgende Felder aus dem Datensatz:
    • data
    • origdata
    • calculated1)
  • beschreibende Dateien für zusätzliche Information
    • VERSION – Versionsstring unabhängig von der jeweiligen Datenstruktur, bezogen auf die Art der Speicherung der Datenstruktur und der Binärdaten.
    • PRECISION – (vorerst) Matlab®-kompatibler String für die Definition der Präzision der Binärdateien, wie er von der Funktion fread gebraucht wird.
    • SCHEMA – Beschreibungsstring für das Schema
      vorerst „org.apache.xerces.dom.DocumentImpl
  • allgemeine Dateien zur Orientierung für den Fall, dass jemand manuell im ZIP-Archiv nachschaut
    • README – (generische) Beschreibung der einzelnen Dateien und Hinweis auf die Webseite mit weiteren Informationen.

Implementierung

  • Die einzelnen Dateien innerhalb des ZIP-Archivs haben immer denselben Namen.
    • Nur das ZIP-Archiv selbst trägt einen entsprechenden vom Nutzer gewählten Namen.2)
  • Das ZIP-Archiv ist so aufgebaut, dass es in einen eigenen Ordner mit dem vom Nutzer gewählten Namen extrahiert.
  • Binärdaten
    • Die Binärdaten werden in einem eigenen Unterverzeichnis binaryData abgelegt und tragen keine Dateiendung.
    • Die Dateinamen der Binärdaten sind mit den Feldnamen in der Struktur identisch.

Struktur des ZIP-Archivs

Version 2.0

Datum der Einführung: 2015-03-20

Alle nachfolgend aufgelisteten Dateien liegen nach dem Entpacken des ZIP-Archivs in einem Verzeichnis mit dem gleichen Namen wie das ZIP-Archiv.

  • binaryData – Verzeichnis
    • calculated – Binärdatei (OPTIONAL)
    • data – Binärdatei
    • origdata – Binärdatei
  • PRECISIONASCII-Datei
  • READMEASCII-Datei
  • SCHEMAASCII-Datei
  • VERSIONASCII-Datei
  • struct.xml – XML-Datei

Version 1.0

Datum der Einführung: 04-2012 (Binärspeicherung); 2010 (?)

Die nachfolgend aufgelisteten Dateien liegen nach dem Entpacken des ZIP-Archivs im gleichen Verzeichnis wie das ZIP-Archiv. Der Grundname <Archivname> ist derselbe wie der des ZIP-Archivs.

  • <Archivname>.xml – XML-Datei
  • <Archivname>.dat – Binärdatei

In dieser Fassung des Formates, wie es für die TA- und trEPR-Toolboxen entwickelt wurde, ist nur das Feld data aus der Struktur als Binärdatei gespeichert, nicht hingegen die Felder origdata und calculated.

Hinweis: Vor der Einführung des Binärformates (04-2012) für die eigentlichen Daten lag im ZIP-Archiv neben der XML-Datei eine Textdatei für die Daten. Beide Fälle sind durch die einschlägigen Einleseroutinen (trEPRload, TAload) abwärtskompatibel abgedeckt.

1)
Das Feld ist – zumindest in der common-Toolbox – optional, das kann aber problemlos in den zugehörigen Routinen zum Lesen und Schreiben abgefangen werden. Leere (Binär-)Dateien zu schreiben oder zu lesen stellt mit Matlab keinerlei Problem dar.
2)
Das gilt nicht für die bislang mit der TA- und trEPR-Toolbox geschriebenen Datensätze – und kann gleichzeitig dafür verwendet werden, um diese (alten) Datensätze vom neuen Format zu unterscheiden.
de/software/datensatz/austauschformat.txt · Zuletzt geändert: 2020/09/30 21:35 von 127.0.0.1