E-Book Startseite Karteikarten-Programm
0
Inhalt dieser Seite
  1. leeres Element
  2. beliebiger Inhalt

leeres Element

Eine weitere Interessante Funktion ist die spezielle Deklaration / Definition für einteilige Elemente (also Elemente ohne Inhalt - abgesehen von Attributen!). Um solche Elemente anzusprechen, benötigen wir die bereits bekannte Variante um Elemente anzusprechen. Die Klammer hinter dem Namen des Elements wird jedoch weggelassen und stattdessen das Wort EMPTY notiert. Dadurch weiß der Parser, dass es sich bei dem Element um ein einteiliges / leeres Element handelt. Im Beispiel wird innerhalb der Elementtyp-Deklaration für das Element kontakt notiert, dass entweder das Element unverheiratet oder verheiratet vorkommen muss. So darf, dass Element zu mindestens schon mal innerhalb von kontakt vorkommen. Jedoch ist es dort noch nicht gültig da die Deklaration fehlt. Die Deklaration für die 2 Elemente lautet <!ELEMENT unverheiratet EMPTY> und <!ELEMENT verheiratet EMPTY>. Hier das vollständige Beispiel:

<?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>
]>
 
<kontaktbuch>
  <kontakt>
    <name>
      <vorname>Max</vorname>
      <nachname>Mustermann</nachname>
    </name>
    <anschrift>
      <ort>Musterstadt</ort>
    </anschrift>
    <telefon>01234 - 56789</telefon>
    <verheiratet />
  </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



beliebiger Inhalt

Beliebiger Inhalt wird in einer Elementtyp-Definition einer DTD mit dem Schlüsselwort ANY gekennzeichnet. Innerhalb eines solch deklarierten Elements dürfen Elemente und Text in egal welcher Reihenfolge vorkommen. Das Ganze hat jedoch einen großen Nachteil, weshalb es in der Praxis auch nicht wirklich interessant ist: Kommen untergeordnete Elemente vor, müssen diese wiederrum deklariert werden. Dann bringt diese Funktion eigentlich nichts, oder? Einerseits nicht, da untergeordnete Element extra definiert werden müssen. Der einzigste Vorteil ist, dass die Reihenfolge egal ist. Dafür gibt es aber noch andere einfach Codes, bei denen angegeben werden kann, dass die Reihenfolge nicht eingehalten werden muss. Die unteren 2 Codeschnipsel bewirken genau dasselbe.

Codeschnipsel mit ANY:
<!ELEMENT wurzelelement ANY>
 <!ELEMENT unterelement1 (#PCDATA)>
 <!ELEMENT unterelement2 (#PCDATA)>

Codeschnipsel ohne ANY:
<!ELEMENT wurzelelement (#PCDATA | unterelement1 | unterelement2)*>
 <!ELEMENT unterelement1 (#PCDATA)>
 <!ELEMENT unterelement2 (#PCDATA)>

Im ersten Beispiel wird angegeben, dass der Inhalt des Elements wurzelelement frei ist. Des Weiteren werden zwei Element (unterelement1 und unterelement2) definiert, die somit auch gültig sind. Im zweiten Beispiel wird angegeben, dass der Inhalt des Elements wurzelelement #PCDATA (also Zeicheninhalt), ein Element namens unterelement1 oder ein Element namens unterelement2 sein darf. Hinter dieser Definition erfolgt jedoch das Sternzeichen, welches besagt, dass dieses Element unbegrenzt oft vorkommen darf. Die Kombination aus Senkrechtstrichen (Alternativen) und Sternzeichen (Wiederholungen) bewirkt also genau das gleiche wie der Begriff ANY. Es ist also zu sehen, der einzigste Vorteil von ANY ist, dass es schneller zum Schreiben ist als die andere Variante.

Design:
 


Logo
Benjamin Jung
Krummstr. 9/3
73054 Eislingen

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