Weitere aktuelle Java-Titel finden Sie bei dpunkt.
 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index


20.5.2

Attribute



Attribute sind Name-Wert-Paare, die nur im Start-Tag (bzw. in Leeres-Element-Tags) angegeben werden können. Jedes Attribut hat einen Typ. Die wohl am häufigsten verwendeten Typen sind: Zusätzlich zu Name und Typ muss eine Attributdeklaration mit einer Angabe versehen sein, mit der festgelegt wird, ob ein Attribut explizit angegeben werden muss und welchen Vorgabewert es hat. Folgende Zusätze sind möglich:

Beispiele

Im folgenden Beispiel wird ein Element mit einem CDATA-Attribut definiert, das als REQUIRED gekennzeichnet ist:
  <!ELEMENT DEMO EMPTY>
  <!ATTLIST DEMO NAME CDATA #REQUIRED>
Die nachfolgenden Zeilen sind alle gültige Verwendungen dieses Elements. Zu beachten ist insbesondere die letzte Zeile, in der der Wert als leerer String angegeben wird,
  <DEMO NAME="test">
  <DEMO NAME="ein sehr langer Wert">
  <DEMO NAME="">
Das nächste Beispiel definiert ein Attribut mit Aufzählungstyp und Standardwert. Das Attribut gehört zum Element LIST (das eine Aufzählung darstellen könnte) und heißt TYPE. Der Wert ist entweder ordered oder unordered, die Vorgabe ist unordered. Der Vorgabewert wird dann angenommen, wenn das Attribut nicht im Exemplar angegeben wird.
  <!ATTLIST LIST TYPE (ordered|unordered) "unordered">

Folgendes Beispiel zeigt die Verwendung der Typen ID und IDREF bei der Definition von Elementen zur Erstellung von Verweisen.
  <-- Verweisziel -->
  <!ELEMENT LABEL EMPTY>
  <!ATTLIST LABEL ID ID #REQUIRED>

  <-- Referenz auf die Verweisziele -->
  <!ELEMENT REF EMPTY>
  <!ATTLIST REF ID IDREF #REQUIRED>
In beiden Fällen wird das Attribut ID genannt. Die Attributdefinition von LABEL zeigt, dass ein Attribut auch genauso benannt werden kann wie sein Typ, was aber normalerweise schlechter Stil ist. ID ist jedoch eine in der Praxis oft vorkommende Ausnahme von diesem Grundsatz.

Im Dokument würden diese Elemente folgendermaßen verwendet werden:
  Das <LABEL ID="MARKE.GNU">Gnu lebt in den
  Steppen Afrikas...

  ...an einer späteren Stelle im Dokument:
  
  Gnu: Huftier <REF ID="MARKE.GNU">, auch
       Name einer Organisation...
Es ist zu beachten, dass der ID/IDREF-Mechanismus keinerlei Verweise in das Endprodukt einfügt. Er stellt lediglich sicher, dass es zu jeder referenzierten ID auch eine passende ID-Definition gibt. Das Einfügen von Verweisen in das Endprodukt muss in der Applikation implementiert werden, in einem HTML-Konverter z.B. durch Einfügen eines Links mit einem <A HREF="...">-Tag.

Ein Element kann natürlich auch mehrere Attribute haben. Die Typen sind hierbei beliebig. Meist schreibt man dabei jede Element-Definition in eine eigene Zeile, obwohl dies nicht unbedingt erforderlich ist:
  <!ELEMENT MULTI EMPTY>
  <!ATTLIST MULTI ATT1 CDATA #REQUIRED
                    ATT2 (raw|cooked) cooked
                    ID ID #IMPLIED>


 Inhaltsverzeichnis   Auf Ebene Zurück   Seite Zurück   Seite Vor   Auf Ebene Vor   Eine Ebene höher   Index

Copyright © 2002 dpunkt.Verlag, Heidelberg. Alle Rechte vorbehalten.