Station - Eine Grammatik für DiagramML

Korrekte DiagramML-Dokumente

Im letzten Abschnitt haben wir die Sprache DiagramML informell anhand eines Beispiel-XML-Dokuments beschrieben. Eine solche informelle Beschreibung lässt oft noch viele Fragen offen. Überzeuge dich selbst und schaue dir die folgenden XML-Dokumente an. Welche dieser XML-Dokumente sind korrekte DiagramML-Dokumente? Warum ist es so schwer, das zu entscheiden?

Eine Dokumenttypdefinition schafft hier Klarheit. Mit der folgenden DTD wird die Struktur von DiagramML-Dokumenten genau vorgeschrieben.

<!ELEMENT diagramm (stabdiagramm)>
<!ELEMENT stabdiagramm (breite, einheit, abstand, farbe, wert*)>
<!ELEMENT breite (#PCDATA)>
<!ELEMENT einheit (#PCDATA)>
<!ELEMENT abstand (#PCDATA)>
<!ELEMENT farbe (#PCDATA)>
<!ELEMENT wert (#PCDATA)>

Aufgabe 1

Überprüfe mit Hilfe der DTD, welche der oben gegebenen XML-Dokumente valide sind und somit zur Sprache DiagramML gehören.

Dokumenttypdefinition als Grammatik

Eine Dokumenttypdefinition legt die gewünschte Struktur von XML-Dokumenten präzise fest. Das kann man auch so sehen: Eine DTD legt eine Sprache fest. Die Sprache besteht dann aus allen XML-Dokumenten, die valide bzgl. der DTD sind.

Im vorliegenden Anwendungsbereich legt die DTD diagramm.dtd eine XML-basierte Sprache fest, die wir DiagramML nennen. Diese Sprache besteht aus allen XML-Dokumenten, die die in der DTD diagramm.dtd festgelegte Struktur haben.

Eine Dokumenttypdefinition kann somit als Grammatik einer XML-basierten Sprache angesehen werden.

X

Fehler melden

X

Suche