E-Book Startseite Karteikarten-Programm
0

Attribute mit beliebigem Zeichenwert

Mit DTD ist nicht nur möglich mit Elementen zu arbeiten, sondern auch mit Attributen. Dabei gibt es 2 Hauptgebiete: beliebiger Wert oder fester Wert. Attribute bzw. Attributlisten werden mit <!ATTLIST elementname geöffnet. elementname steht für den Namen des Elements, für das die Attribute gelten sollen. Geschlossen werden Attributlisten mit > Innerhalb der Attributlisten-Tags muss als erstes der Name des Attributs angegeben werden. Es folgt ein Leerzeichen und dahinter das Schlüsselwort CDATA (Achtung: kein #-Zeichen). Nach einem weiteren Leerzeichen folgt nun das Schlüsselwort #REQUIRED oder #IMPLIED. #REQUIRED besagt, dass das Attribut vorhanden sein muss. Bei #IMPLIED muss das Attribut nicht vorhanden sein. Wir erweitern unser Kontaktbuchbeispiel. Das leere Element verheiratet bekommt 2 Attribut zugewiesen: name und datum. Das Attribut name ist Pflicht. Das Datum-Attribut (datum) jedoch nicht.

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
 
<!DOCTYPE kontaktbuch [
    <!ELEMENT kontaktbuch (kontakt)*>
    <!ELEMENT kontakt (name, anschrift, telefon, (unverheiratet | verheiratet))>
    <!ELEMENT name (anrede?, vorname, nachname)>
    <!ELEMENT anrede (#PCDATA)>
    <!ELEMENT vorname (#PCDATA)>
    <!ELEMENT nachname (#PCDATA)>
    <!ELEMENT anschrift (plz | ort)>
    <!ELEMENT plz (#PCDATA)>
    <!ELEMENT ort (#PCDATA)>
    <!ELEMENT telefon (#PCDATA)>
    <!ELEMENT unverheiratet EMPTY>
    <!ELEMENT verheiratet EMPTY>
    <!ATTLIST verheiratet
        name	CDATA	#REQUIRED
        datum	CDATA	#IMPLIED
    >
]>
 
<kontaktbuch>
  <kontakt>
    <name>
      <vorname>Max</vorname>
      <nachname>Mustermann</nachname>
    </name>
    <anschrift>
      <ort>Musterstadt</ort>
    </anschrift>
    <telefon>01234 - 56789</telefon>
    <verheiratet name="Stefanie.Mustermann" datum="date_27.05.2009" />
  </kontakt>
  <kontakt>
    <name>
      <anrede>Frau</anrede>
      <vorname>Maria</vorname>
      <nachname>Musterfrau</nachname>
    </name>
    <anschrift>
      <plz>54321</plz>
    </anschrift>
    <telefon>09876 - 54321</telefon>
    <unverheiratet />
  </kontakt>
</kontaktbuch>
Anzeigebeispiel
Anzeigebeispiel



Attribute mit festen Werten

In vielen Fällen ist es notwendig, dass Attributwerte nicht irgendeinen Wert haben, sondern es bestimmte feste Werte gibt, von denen man einen Wert verwenden kann /darf. Statt dem Schlüsselwort CDATA wird eine Klammer notiert. Innerhalb der Klammer können nun die gültigen Werte eingetragen werden und durch Senkrechtstriche getrennt werden. Die Notation erfolgt also so wie bei den alternativen Elementen. Eine weitere Funktion ist die Verwendung eines Vorgabewertes oder Standardwertes. Dazu wird hinter der Klammer ein Leerzeichen gesetzt und dann in doppelten Anführungszeichen der Standardwert notiert. Selbstverständlich muss der Standardwert in der Klammer als Wert notiert sein. Die Angabe von #REQUIRED oder #IMPLIED entfällt automatisch, wenn ein Standardwert vorhanden ist.

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
 
<!DOCTYPE kontaktbuch [
    <!ELEMENT kontaktbuch (kontakt)*>
    <!ELEMENT kontakt (name, anschrift, telefon, (unverheiratet | verheiratet))>
    <!ELEMENT name (anrede?, vorname, nachname)>
    <!ELEMENT anrede (#PCDATA)>
    <!ELEMENT vorname (#PCDATA)>
    <!ELEMENT nachname (#PCDATA)>
    <!ELEMENT anschrift (plz | ort)>
    <!ELEMENT plz (#PCDATA)>
    <!ELEMENT ort (#PCDATA)>
    <!ELEMENT telefon (#PCDATA)>
    <!ELEMENT unverheiratet EMPTY>
    <!ELEMENT verheiratet EMPTY>
    <!ATTLIST verheiratet
        name	CDATA				#REQUIRED
        datum	CDATA				#IMPLIED
        art		(standesamt|beides)	"beides"
    >
]>
 
<kontaktbuch>
  <kontakt>
    <name>
      <vorname>Max</vorname>
      <nachname>Mustermann</nachname>
    </name>
    <anschrift>
      <ort>Musterstadt</ort>
    </anschrift>
    <telefon>01234 - 56789</telefon>
    <verheiratet name="Stefanie.Mustermann" datum="date_27.05.2009" art="standesamt" />
  </kontakt>
  <kontakt>
    <name>
      <anrede>Frau</anrede>
      <vorname>Maria</vorname>
      <nachname>Musterfrau</nachname>
    </name>
    <anschrift>
      <plz>54321</plz>
    </anschrift>
    <telefon>09876 - 54321</telefon>
    <unverheiratet />
  </kontakt>
</kontaktbuch>
Anzeigebeispiel
Anzeigebeispiel



Design:
 


Logo
Benjamin Jung
Krummstr. 9/3
73054 Eislingen

E-Mail: info@homepage-webhilfe.de
Webseite: www.homepage-webhilfe.de