Projektbereich   Startseite   DTD    Was ist eine DTD    Spezifikation   Fragen und Antworten   Dokumentation 

Fragen und Antworten  zu Friedrich Nietzsche  Was ist eine DTD ?
 

Was ist eine DTD ?

Eine Document Type Definition - DTD - legt die Struktur von Dokumenten fest; im diesem Falle die XML-Struktur der "Fragen und Antworten zu Friedrich Nietzsche" (faq.dtd). In der DTD wird zum Einen die Benennung der inhaltlichen Markierungen <tags> festgelegt und zum Anderen deren Verwendung im konkreten Anwendungsfall.


Wozu braucht man eine DTD ?

Auch ohne eine DTD können XML-Dokumente erstellt werden, jedoch nur XML-Dokumente, die mittels einer DTD spezifiziert wurden, sind garantiert syntaktisch korrekt und strukturell logisch gegliedert (Baumstruktur, Vererbung). Die DTD dient sozusagen der "Validierung" des XML-Dokumentes.

 

Grundsätzlich erlaubt eine DTD zwei Markierungen: Elemente und Attribute; in der Spezifikation kann nachvollzogen werden, wie sich Elemente und Attribute jeweils ergänzen.

  • Elemente, werden im XML-File zu Tags <faq> und umschließen wiederum:

    • Subelemente head, body
    • Text #PCDATA
    • sind leer EMPTY

  •  

  • Attribute typisieren die jeweiligen Elemente:

    • ID        für Eindeutigkeit: id="faq_00000"
    • IDREF   für Verweise: id="per_joerg_brigitte_00 "
    • CDATA  für Werte: typ = "erstellung "

  •  

  • Sonderzeichen bei Elementen bestimmen, wie oft diese Elemente im XML-File vorkommen
    dürfen bzw. müssen:

    • head   ohne Markierung - Element muss genau einmal vorkommen.
    • schlagwort *   Element kann mehr als einmal oder keinmal vorkommen.
    • autor +   Element muss mindestens einmal vorkommen.
    • rank ?   Element kann oder kann nicht vorkommen.

  •  

  • Für Attribute muss in der DTD festgelegt werden, ob das Attribut im XML-File anzugeben ist:

    • #REQUIRED Element MUSS ein Attribut erhalten.
    • #IMPLIED Element KANN ein Attribut erhalten, muss aber nicht.
    • #FIXED Element wird ein Attribut mit dem Standardwert zugewiesen.

  •  

  • Entities sind kryptographische Zeichenfolgen, die evtl. von einer Anwendung falsch interpretiert würden oder von der Markup-Sprache bereits selbst als Zeichen < > & " ' verwendet werden und daher problematisch sein könnten. Entities werden auch angewandt, um Mehrfachaufrufe von gleichen Strings zu vereinfachen %block.

    •  &lt;  =  < 

    •  &gt;  =  > 

    •  &amp;   =  & 

    •  &quot;   =  " 

    •  &apos;   =  ' 

    •  %block  =  #PCDATA|p|erweitert|sprache|rede|extrakt_ref|beleg_ref|komm_ref|brief_ref|
                          ewerk_ref|bib_ref|link_ref|quelle_ref|per_ref|ort_ref|faq_ref|extern_ref  

  •  

  • Zusatz:

    •  #PCDATA   bedeutet "Parsed character data";
      Inhalte von Elementen, werden geparst: &quot; wird zu ".
       
    •  CDATA   bedeutet "Character Data";
      Werte von Attributen, werden nicht geparst, sondern 1:1 interpretiert: &quot; bleibt &quot;.
       
    • <!-- Komentar -->
      Kommentare werden nicht geparst, helfen die Struktur und die Benennungen nachzuvollziehen.
       

 
© Design/Inhalt Brigitte Jörg 
last modified  

 Projektbereich   Startseite   DTD    Was ist eine DTD    Spezifikation   Fragen und Antworten   Dokumentation