Kapitel 6. Referenzierung

In UDDF gibt es viele Datensätze, die an unterschiedlichen Stellen wiederverwendet werden können. So brauchen z.B. Tauchplätze, Tauchpartner und Ausrüstungsteile nur einmal an einer globalen Stelle beschrieben zu werden. Wird z.B. ein Tauchpartner als Buddy für einen bestimmten Tauchgang eingetragen, so müssen seine Daten nicht nochmals gespeichert werden, sondern es wird eine Referenz auf den globalen Datensatz erstellt.

Mit Version 3.0.0 wird das Element <link/> für alle Referenzierungen verwendet. Das Element besitzt ein Attribut ,,ref``, welches den Bezeichner (,,ID``) des zu referenzierenden Datensatzes enthält. Das folgende Beispiel veranschaulicht diesen Sachverhalt:

<diver>
    <buddy id="buddy_Alfons">
        <personal>
            <firstname>Alfons</firstname>
            ...
        </personal>
        ...
    </buddy>
    <buddy id="buddy_Berta">
        <personal>
            <firstname>Berta</firstname>
            ...
        </personal>
        ...
    </buddy>
    <!-- hier Beschreibungen weiterer Tauchpartner -->
</diver>
<profiledata>
    <repetitiongroup id="wg1">
        <dive id="dive1">
            <divenumber>1</divenumber>
            ...
            <link ref="buddy_Alfons"/>
            ...
        </dive>
        <dive id="dive2">
            <divenumber>2</divenumber>
            ...
            <link ref="buddy_Berta"/>
            ...
        </dive>
        <dive id="dive3">
            <divenumber>3</divenumber>
            ...
            <link ref="buddy_Alfons"/>
            ...
        </dive>
        ...
    </repetitiongroup>
</profiledata>
            

Damit wird z.B. angegeben, daß der Taucher mit der ID buddy_Alfons Tauchpartner bei den Tauchgängen 1 und 3 war. Die Taucherin buddy_Berta war Buddy bei Tauchgang Nr. 2.

Jedes Element, für das eine ID als Attribut gesetzt werden muß, kann — natürlich beliebig oft — referenziert werden.

Die ID eines Elements muß innerhalb einer UDDF-Datei eindeutig sein. Außerdem sollte sie, soweit möglich, auch global eindeutig sein. Zur leichteren Lesbarkeit sollte die ID mit dem Elementtyp beginnen, gefolgt von einer eindeutigen Zeichenfolge, die aus Schlüsseldaten des Elements generiert wird.

Erlaubte Zeichen sind beliebige alphanumerische Zeichen — also ,,a`` bis ,,z``, ,,A`` bis ,,Z`` sowie ,,0`` bis ,,9`` — sowie Unterstrich ,,_``, Bindestrich ,,-`` und Punkt ,,.``. Nicht erlaubt sind Leerzeichen ,, ``, Zahlen und Punkte am Anfang und alle anderen nicht genannten Interpunktionszeichen (wie zum Beispiel Klammern aller Art, Dollarzeichen, Kaufmanns-Undzeichen, Tilde etc.).

Nachfolgend einige Empfehlungen bzw. Anregungen, wie IDs generiert werden können (in eckige Klammern gesetzte Bezeichnungen sind hierbei optional):

Damit wären also z.B. folgende IDs möglich: