Kapitel 5. Genereller Aufbau einer UDDF-Datei

Inhaltsverzeichnis

Kommentare

Die Intention bei der Entwicklung des UDDF war es, ein möglichst einfaches, aber mächtiges Format zum Datenaustausch zu entwickeln. Um die Programmierung von Parsern zu vereinfachen, wurde UDDF so entwickelt, daß gängige XML-Parser zum Einsatz kommen können.

Eine UDDF-Datei besteht aus verschiedenen (Gruppen von) Elementen und Schlüsselwörtern, die momentan Personendaten (eigene und von Tauchpartnern), Tauchausrüstung, Tauchplätze, Tauchfahrten, verwendete Atemgase, Tauchprofile sowie Vorgaben zur Generierung von Austauchtabellen eindeutig beschreiben. Für die ,,Hauptsektionen`` ist dabei eine zwingende Reihenfolge vorgeschrieben. Diese richtet sich nach folgenden Gegebenheiten: allgemeine — also von einem bestimmten Tauchgang unabhängige — Daten (nachfolgende Punkte 3.) bis 9.)), zu einem Tauchgang gehörige Daten — Profildaten, Flaschendruck, Logbucheintrag u.a.m. — sowie anschließend Angaben zur Austauchtabellen-Generierung (damit die Sättigung durch vorangehende Tauchgänge einbezogen werden kann). Schlußendlich können Daten zu Tauchfahrten mit Referenzierungen auf alle vorher in der UDDF-Datei eingetragenen Daten erfolgen. Durch diese Reihenfolge wird gewährleistet, daß jeweils auf vorstehend gemachte Angaben weiter unten in der UDDF-Datei referenziert werden kann.

Bis auf Dateikopf und -ende sowie <generator> sind die anderen Angaben nur optional und können gegebenenfalls je nach Verwendungszweck der UDDF-Datei entfallen. Gruppen von Elementen werden als Sektion bezeichnet, diese enthalten dann weitere Elemente und/oder Sektionen.

Der generelle Aufbau einer UDDF-Datei ist folgender:

  1. Dateikopf <uddf version="versionsnummer"> (vorgeschrieben)

  2. <generator>-Sektion (vorgeschrieben) — hier wird der ,,Fingerabdruck`` der die UDDF-Datei generierenden Software angegeben

  3. <mediadata>-Sektion (optional) — hier werden sämtliche <audio>-, Bild- (<image>) und <video>-Dateien deklariert, auf die später in der UDDF-Datei (mittels <link/>) referenziert werden kann. Durch dieses Vorgehen können die Mediadaten beliebig oft bei verschiedenen Tauchgängen referenziert werden, ohne daß die spezifischen Daten jedesmal neu angegeben werden müßten.

  4. <maker>-Sektion (optional) — hier werden global Herstellerdaten (<manufacturer>) abgelegt. So können diese einfach per <link/> referenziert werden, wenn die Tauchausrüstung (<equipment>) des Besitzers der UDDF-Datei (<owner>) oder von Tauchpartnern (<buddy>) beschrieben wird.

  5. <business>-Sektion (optional) — hier werden global Daten von Tauchgeschäften (<shop>) abgelegt. So können diese einfach per <link/> referenziert werden, wenn die Kaufdaten der Tauchausrüstung (<equipment>) des Besitzers der UDDF-Datei (<owner>) oder von Tauchpartnern (<buddy>) beschrieben werden sollen.

  6. <diver>-Sektion (optional) — zur Beschreibung des Besitzers (<owner>) der UDDF-Datei sowie seiner Tauchpartner (<buddy>)

  7. <divesite>-Sektion (optional) — zur Beschreibung aller betauchten oder zukünftig zu betauchenden Spots (soweit Informationen zu diesen Plätzen bereits verfügbar sind)

  8. <gasdefinitions>-Sektion (optional) — Definition der verschiedenen vom Besitzer der UDDF-Datei verwendeten Atemgase

  9. <decomodel>-Sektion (optional) — Definition von Parameter(sätze)n für verschiedene/das zu verwendende Dekompressionsmodell(e)

  10. <profiledata>-Sektion (optional) — Beschreibung der Profildaten der einzelnen Tauchgänge sowie aller anderen speziellen, zu einem Tauchgang gehörenden Informationen (Logbucheinträge, verwendete Ausrüstungsteile, Atemgas, Flaschendruck zu Beginn und Ende des Tauchgangs bzw. Atemminutenvolumen und anderes mehr). Ebenfalls werden sämtliche Daten betreffend DANs DL7 hier abgelegt.

  11. <tablegeneration>-Sektion (optional) — Vorgabe der Parameter zur Erzeugung von Aufstiegsprofilen (<calculateprofile>-Sektion), Austauchtabellen (<calculatetable>-Sektion) sowie ,,maximale-Grundzeit-Tabellen`` (<calculatebottomtimetable>-Sektion)

  12. <divetrip>-Sektion (optional) — zur Beschreibung von Tauchfahrten

  13. <divecomputercontrol>-Sektion (optional) — Setzen von Vorgaben für einen Tauchcomputer (z.B. Uhrzeit, Datum, verwendete Gasgemische, max. PO2, persönliche Daten des Besitzers etc.) (<setdcdata>-Sektion) bzw. Anweisungen zum Auslesen eines Tauchcomputers (<getdcdata>-Sektion).

    Wenn <divecomputercontrol> in der UDDF-Datei verwendet wird, macht es (zur Zeit) nur beschränkt Sinn, die anderen Sektionen außer <generator> mit in die Datei zu schreiben. Es sei denn, daß zum Beispiel die in der <diver>-Sektion angegebenen Daten des Besitzers (<owner>) sollen/können direkt auf dem Tauchcomputer gespeichert werden.

    Diese Sektion ist für zukünftige Anwendungen gedacht, wenn Tauchcomputer über UDDF konfiguriert und ausgelesen werden (können). (Siehe hierzu auch den Artikel von Kai Schröder, ,,Tauchcomputer — Die große Vereinheitlichung``, DIVEMASTER Heft 48 (2006).)

  14. Dateiabschluß </uddf> (vorgeschrieben)

Die einzelnen Sektionen 2.) – 13.) dürfen nur genau einmal und nur in genau dieser Reihenfolge in der UDDF-Datei stehen, da in weiter hinten stehenden Sektionen auf vorherig aufgeführte Daten referenziert werden kann.

Eine UDDF-Datei trägt die Endung ,,.uddf`` als Kennzeichen.

Kommentare

An beliebiger Stelle können Kommentare eingefügt werden. Ein Kommentar wird durch die Zeichenfolge ,,<!--`` eingeleitet und mit der Zeichenfolge ,,-->`` beendet. Dazwischen können beliebige Zeichen stehen (auch Zeilenumbrüche).

Beispiel: <!-- Das ist ein Kommentar. -->