Einführung in DTD-Design Teil II

DTD - Inhaltsmodelle

Schauen wir uns das Beispiel noch einmal an:


<!ELEMENT PLAYLIST (PLAYLISTITEM)+>
<!ELEMENT PLAYLISTITEM (ARTIST, SONG, ALBUM)>
<!ELEMENT ARTIST   (#PCDATA)>
<!ELEMENT SONG     (#PCDATA)>
<!ELEMENT ALBUM    (#PCDATA)>

Elemente können also wiederum Elemente enthalten. Diese werden durch logische und bzw. oder getrennt. Hier folgenden in PLAYLISTITEM die Elemente nacheinander, also dürfte SONG nicht vor ARTIST stehen.
Sähe das Ganze wiederum so aus:


<!ELEMENT PLAYLISTITEM (ARTIST|SONG|ALBUM)>

dann hieße dies: es können die Elemente ARTIST, SONG oder ALBUM in beliebiger Reihenfolge genau einmal innerhalb von PLAYLISTITEM erscheinen. Das logische ODER wird also durch | repräsentiert, das logische UND durch ein Komma.
Eine direkte Verknüpfung darf es logischerweise nicht direkt geben:


<!ELEMENT PLAYLISTITEM (ARTIST, SONG|ALBUM)>

so hingegen, ist es erlaubt:

<!ELEMENT PLAYLISTITEM (ARTIST, (SONG|ALBUM))>

Häufigkeits-Indikatoren

Die im Englischen mit Occurrance Indicator bezeichneten Zeichen ?, * und + legen fest, wie ein Element im Inhaltsmodell abbildbar ist.

Hat ein Element keinen dieser Bezeichner, so darf es genau einmal erscheinen.

Hat ein Element den Bezeichner "+", so muß es einmal erscheinen oder mehrmals erscheinen.

Hat ein Element den Bezeichner "?", so kann es einmal oder null mal erscheinen.

Hat ein Element den Bezeichenr "*", so kann es null oder mehrmals erscheinen.

 

Copyright & Kontakt
jcpohl@gmx.de
© www.jcpohl.de 1999/2000