ATTLIST-Deklaration
... [ Seminar XML (DTD) ] ... [ Einleitung ] ... [ Fallbeispiel ] ...
ATTLIST: Attribute zu Elementen
Grundsätzliches
Eine Attributlisten-Deklaration legt fest, welche Attribute für einen Elementtyp existieren,
von welchem Typ die Attributwerte sind, und ggf. enthält sie einen Vorgabe-Wert (default).
Beispiele mit Erklärung
<!ATTLIST img
src CDATA #REQUIRED
alt CDATA #REQUIRED
height CDATA #IMPLIED
width CDATA #IMPLIED
>
<!ATTLIST h1
id ID #IMPLIED
align (left|center|right|justify) left
>
Die beiden notwendigen (#REQUIRED) Attribute src und alt erwarten beide eine Zeichenkette als Wert (CDATA).
Gleiche Wertetypen sind für die Höhen- und Breitenangabe erlaubt, jedoch müssen diese Werte nicht explizit
angegeben werden. Das Anwendungsprogramm (bei HTML in der Regel der Web-Browser) muß ggf. die impliziten
Werte (#IMPLIED) verwenden. Bei Grafiken heißt das, der Browser muß die Ausmaße selbst ermitteln.
Für den HTML-Elementtyp h1 sind im Beispiel zwei weitere Attributtypen zu sehen: id dient dazu,
eine eindeutige Identifikation an einem Element anzubringen. Auf so ein Element kann mit einem
Attribut vom Typ idref verwiesen werden (im Beispiel nicht zu sehen, weil HTML Querverweise leider
nicht in dieser Form zuläßt). Das zweite Attribut von h1, align, ist vom Typ Aufzählungstyp.
Der Wertebereich dieses Typs ist vollständig in den Klammern enthalten.
Andere Werte als die dort gezeigten sind nicht zugelassen. Die Vorgabe ist in diesem Fall der Wert left.
Die wesentlichen Attributtypen sind damit genannt. Es gibt weitere, die etwas komplizierter sind und
seltener zum Einsatz kommen.
Wie man sowohl in den obigen Beispielen als auch in dem Diagramm erkennt, sind Definitionen von
mehreren Attributen möglich (daher auch der Name »Attributliste«).
Erwähnenswert ist noch, daß Attribute mehrfach definiert werden dürfen.
Ein XML-Prozessor kombiniert dann die Definitionen nach Regeln, die im Anhang beschrieben sind.
Vorsicht ist an dieser Stelle geboten, wenn Ihre DTDs und/oder Instanzen auch von SGML-Systemen
eingelesen werden sollen, die die WebSGML-Ergänzung nicht implementiert haben.
In (Kern-)SGML ist die mehrfache Definition von Attributen nicht zulässig.
Sie sollten darauf also so weit möglich verzichten, um die Austauschbarkeit von Daten mit solchen Systemen zu gewährleisten.
spezielle Attribute
zwei speziellere Attribute will ich Ihnen nich vorenthalten, obwohl diese in der Praxis weit weniger
Verwendung finden als von den Entwicklern gedacht.
NMTOKEN
Nhemen wir an, eine Zeichenfolge (wie PCDATA beispielsweise) ist für die Eingaben/benutzung innerhalb
der Seite ein wenig zu allgemein, so kann man NMTOKEN verwenden. Hier werden die erlaubten Zeichen auf
Buchstaben, Ziffern und die Zeichen Punkt, Doppelpunkt, Bindestrich (Minus) und Unterstich beschränkt.
Also weder Leerzeichen noch andere Symbole sind zulässig.
NMTOKENS
Da NMTOKEN nun wiederum arg eingeschränkt war, wurde im Zuge der Entwicklung der NMTOKENS Typ eingeführt,
welcher die NMTOKEN-Definition um Whitespace, also Leerzeichen, Zeilenumbrüche, etc.. erweitert.
... [ Seminar XML (DTD) ] ... [ Einleitung ] ... [ Fallbeispiel ] ...