Websiteentwicklung: XML: Dokumenttypdefinition (DTD)

Aus Wikibooks

Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

[Bearbeiten] Erstellen von Regeln

Damit ein XML-Dokument wohlgeformt ist, muss es sich an die Wohlgeformtheitsregel halten (richtige Verschachtelung, geschlossene Tags, usw.). Die Dokumenttypdefinition, kurz DTD genannt, regelt, welche Elemente und Attribute in einem XML-Dokument gültig sind, wie oft sie verwendet werden können, oder welche Daten sie umfassen dürfen. Dies ist nötig, da, wie unter Aufbau eines XML-Dokumentes beschrieben, die Namensvergabe für Elemente freigestellt ist. Hält sich ein wohlgeformtes XML-Dokument an die in einer DTD formulierten Regeln, ist es auch gültig.

Dieser Bereich ist für Fortgeschrittene gedacht und für den Anfänger noch nicht notwendig.

Ein Beispiel für eine DTD:

<!ELEMENT Person (Name,Kind*)>
<!ELEMENT Kind (Name)>
<!ELEMENT Name (#PCDATA)>

Diese DTD sagt aus, dass es ein Element Person gibt, mit den Unterelementen Name und Kind, wobei Kind öfter als einmal vorkommen darf. Desweiteren bestimmt diese DTD, dass Name nur mit Zeichendaten gefüllt sein darf.

Ein wohlgeformtes gültiges XML-Dokument sähe dann so aus:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE  Person SYSTEM "Person.dtd">

<Person>
    <Name>Manfred Müller</Name>
    <Kind>
        <Name>Olivia Müller</Name>
    </Kind>
    <Kind>
        <Name>Marc Müller</Name>
    </Kind>
</Person>

[Bearbeiten] Erstellen eines DTD-Schemas

Zur Erstellung einer DTD wird lediglich ein Texteditor benötigt. Speichern Sie im Anschluss die Datei mit der Erweiterung .dtd.

[Bearbeiten] Einbinden einer DTD in ein XML-Dokument

Es gibt zwei Wege eine DTD in ein XML-Dokument einzubinden. Entweder über Interne DTDs oder über Externe DTDs.

[Bearbeiten] Interne DTD

Eine DTD kann auch direkt in ein XML-Dokument integriert werden. Sämtliche Deklarationen werden dann von <!DOCTYPE Wurzelelement [ sowie ]> umklammert.

Beispiel:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE  Person [
    <!ELEMENT Person (Name,Kind*)>
    <!ELEMENT Kind (Name)>
    <!ELEMENT Name (#PCDATA)>
]>

<Person>
    <Name>Manfred Müller</Name>
    <Kind>
        <Name>Olivia Müller</Name>
    </Kind>
    <Kind>
        <Name>Marc Müller</Name>
    </Kind>
</Person>

[Bearbeiten] Externe DTD

Beispiel:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE  Person SYSTEM "Person.dtd">

<Person>
    <Name>Manfred Müller</Name>
    <Kind>
        <Name>Olivia Müller</Name>
    </Kind>
    <Kind>
        <Name>Marc Müller</Name>
    </Kind>
</Person>

[Bearbeiten] Markup-Deklaration

[Bearbeiten] Elementtyp-Deklaration

Eine DTD beginnt zunächst mit der Deklarartion von Elementen eines XML-Dokumentes. Alle in einer DTD deklarierten Elemente können in einem XML-Dokument genutzt werden. Im Umkehrschluss bedeutet dies, dass nicht-deklarierte Elemente nicht verwendet werden dürfen.



Zurück zu Aufbau eines XML-Dokumentes | Hoch zu XML | Vor zu XPath
Persönliche Werkzeuge
Buch erstellen
  • Artikel hinzufügen
  • Hilfe zu Sammlungen