next up previous contents
Next: Entity-Deklaration Up: DTD-Syntax Previous: Elementdeklaration   Contents

Attributdeklaration

Attributdeklarationen bestimmen, welches Element welche Attribute haben kann, welchen Datentyp diese Attribute besitzen und ob und welche Vorgabewerte eingestellt werden sollen. Weiter ob die Angabe eines Attributwertes obligatorisch oder fakultativ sein soll. Die allgemeine Form einer Attributdeklaration lautet:
	<!ATTLIST element.name (attribut.definition)>
Konkret könnten wir das Geschlecht einer Person mittels Attributdeklaration modellieren:
	<!ELEMENT person (vorname+, nachname)>
						<!ATTLIST person geschlecht (m | f) #REQUIRED>
Insgesamt sind drei Klassen von Attributtypen möglich:
  1. String-Attribute, die aus beliebig vielen Zeichendaten bestehen.
  2. Token-Attribute, deren Wert aus ein oder mehreren für XML relevanten Tokens bestehen.
  3. Auzählungsattribute, deren Wert einer aus einer deklarierten Liste sein muss.
String Attribute könnten folgend deklariert werden:
<!ATTLIST buch isbnr CDATA>
Die Werte von String-Attributen sind Zeichenketten, wobei jedes Attribut, das in einem XML-Dokument ohne DTD vorkommt automatisch als String-Attribut behandelt wird.
Token-Attribute sind sehr mächtig, deshalb folgt eine übersichtlich Aufstellung aller ihr enthalten Datentypen:
ID Dieses Attribut dient als Identifikator für ein Element. Ein ID-Wert muss den Standardnamensregeln von XML entsprechen und eindeutig innerhalb eines Elements sein. Weiter ist REQUIRED oder IMPLIED8 als Vorgabewert vorgeschrieben.
IDREF Das IDREF-Attribut ist ein Zeiger auf ein ID-Attribut eines anderen Elements, dessen Werte übereinstimmen müssen, somit lassen sich Referenzen modellieren. Auch dieses Attribut muss den Standardnamensregeln entsprechen.
IDREFS Der Wert dieses Attributs besteht aus mehreren Referenzen auf ID-Elemente, die durch Leerzeichen voneinander getrennt sein müssen.
ENTITY Das ENTITY-Attribut ist ein Zeiger auf ein externes Entity, das in einer DTD-Untermenge deklariert wurde.
ENTITIES Der Wert dieses Attributs besteht aus einem oder mehreren ENTITY-Typwerten, die wieder durch Leerzeichen voneinander getrennt werden.
NMTOKEN Der Wert dieses Attributs ist ein Name-Token-String, der aus einer beliebigen Kombination von Namenszeichen besteht.
NMTOKENS Dieser Wert besteht aus einem oder mehreren durch Leerzeichen getrennten NMTOKEN-Typwerten.
Aufzählungsattribute wurden oben bereits verwendet und werden durch eine deklarative Liste möglicher Werte charakterisiert, die jeweils einen gültigen Namen-Token (NMTOKEN) darstellen müssen. Auch hier können Vorgabewerte bestimmt werden.
next up previous contents
Next: Entity-Deklaration Up: DTD-Syntax Previous: Elementdeklaration   Contents
Nikolai Jursic 2004-03-05