Einführung in DTD-Design Teil III

DTD - Elemente und ihre Attribute

Möchte man für die Elemente in dieser DTD nun auch Attribute bestimmen, so könnte dies so aussehen:


<!ELEMENT PLAYLIST (PLAYLISTITEM)+>
<!ELEMENT PLAYLISTITEM (ARTIST, SONG, ALBUM)>
  <!ATTLIST PLAYLISTITEM version CDATA #REQUIRED>
<!ELEMENT ARTIST   (#PCDATA)>
<!ELEMENT SONG     (#PCDATA)>
<!ELEMENT ALBUM    (#PCDATA)>
  <!ATTLIST ALBUM source CDATA #IMPLIED>

Attribute werden also mit dem Schlüsselwort ATTLIST deklariert. Es folgt der Name des Elemente und dann der Name des Attributs.
Dann folgt der Datentyp des Attributs, in den meisten Fällen wird dies CDATA sein, es gibt aber auch noch weitere (Achtung: #PCDATA ist hier nicht erlaubt !!).
Am Schluß folgt noch der "Default Modifier": hier wird festgelegt ob das Attribut:

erzwungen wird: #REQUIRED

nicht erscheinen muß: #IMPLIED

oder ob es festgelegt ist: #FIXED "1.0"
(hier muß immer ein Wert folgen)

Festlegen von Werten

Falls es gewünscht ist und Sinn macht, können in der DTD auch Attributwerte vorgegeben werden:


<!ELEMENT ALBUM    (#PCDATA)>
  <!ATTLIST ALBUM source (vinyl|cd|tape|dvd) "tape">


Die Auswahlwerte werden in Klammern gesetzt und durch ein logisches ODER verknüpft. Anschließend kann ein in Hochkommata gesetzter Default-Wert vorgegeben werden, der benutzt wird, falls nicht eingegeben wird oder es wird ein Default-Modifier gesetzt.

 

Fragen,Anmerkungen,Lob oder Kritik ?
jcpohl@gmx.de
© www.jcpohl.de 1999/2000