About SW-Quality Safety SW-Entwicklung UML Nachschlagen Programme
.NET
JAVA
HTML http
XML
SQLXML
Datenbanken
CVS
SQL
XML Übersicht DTD  Basics DTD Definitionen DTD Attribute Sonderzeichen Beispiel
 
DTD Attribut Definition
<!ATTLIST ename 
     attr1   Datentyp Option
     attr2   (NORMAL | ADMIN) "NORMAL"
Datentypen für Attribute:
CDATA character data, 
aber keine weiteren Elemente
ID  Dokumentweit Eindeutige ID
ANY beliebige Elemente und/oder
character data
Weitere ENTITY,ENTITIES,NMTOKEN,
NMTOKENS,NOTATION
(Bezeichner1 |
Bezeichner2)
Eine Auswahl aus mehreren Wörtern. Ein Defaultwert kann angegeben werden.

Option (Zwingend oder Nicht):

#IMPLIED Optional, ein Wert kann, muss 
aber nicht angegeben sein.
#REQUIRED Ein Wert muss angegeben werden.
#FIXED Ein, immer gleicher Wert muss angegeben werden. Steht dort ein anderer Wert, so ist das XML Dokument nach dieser DTD ungültig.
  • CDATA ist gleichgedeutend mit PCDATA bei der Elementdefinition.

  •  
  • Der CDATA Text wird in Anführungszeichen "" angegeben. (<user name="egon"/>)

  •  
  • Die Eindeutigkeit der ID wird vom Parser überprüft. Falls eine ID mehrmals innerhalb eines XML Dokuments verwendetet wird ist die Datei ungültig. 

  •  
  • Die unter „Weitere“ angegebenen Typen werden evtl. nicht vom Parser unterstützt. 

  •  
  • Die Definition von zwei oder mehreren Bezeichnern innerhalb einer Klammer macht die Attributdefinition zu einer Choice, ansonsten spricht man von einer Sequenz.

  •  
  • Die Reihenfolge wie die Attribute in der XML Datei enthalten sein müssen wird nicht festgelegt, sie bleibt beliebig wählbar. Insbesondere hat diese nichts mit der Reihenfolge in der DTD Definition zu tun. 

  • Über #IMPLIED etc wird festgelegt ob der Wert in der XML Datei angegeben sein muss oder nicht. Falls er nicht angegeben ist, so kann ein Defaultwert definiert werden. 
     
  • Ist in der XML Datei ein Wert angegeben, der nicht den Werten in der Auswahl entspricht, soll ist die XML Datei ungültig.
Beispiel
 
<!ELEMENT user EMPTY>
<!ATTLIST user 
     name    CDDATA #REQUIRED
     machine CDDATA #IMPLIED
     level   (NORMAL | ADMIN) "NORMAL"
     number  ID     #REQUIRED
Erklärung des Beispiels:
  • Das Element user darf selbst keine weiteren Unterpunkte beinhalten - es hat also nur Attribute. <user x><name> ist somit  nicht zulässig. Zulässig ist hingegen: <user x name="Peter" number="1">
  • name ist zwingend 
  • machine ist optional
  • wird level nicht angegeben, so wird "NORMAL" als default verwendet.
  • number ist eine ID und muss einen im ganzen XML Dokument eindeutigen Namen haben.
©; created Mon Aug 07 22:31:53 CEST 2006; eMail