Erkundung - Dokumenttypdefinitionen

Die "Welt der Oberstufenkurse"

Wir betrachten wieder die "Welt der Oberstufenkurse" an einer Schule. Folgende XML-Dokumente wurden entwickelt, um Informationen über Kurse darzustellen:

Aufgabe 1

Vergleiche die Darstellungen der Kurse. Welche Darstellungen sind strukturgleich? Welche Darstellungen unterscheiden sich (geringfügig / deutlich) in der Beschreibung der Struktur? Gibt es auch inhaltliche Fehler in den Dokumenten?

Festlegung des Dokumententyps

Für eine automatisierte Verarbeitung ist es ungünstig, wenn XML-Dokumente zu einer "Welt" nicht einheitlich aufgebaut sind. Ziel ist es daher, den Aufbau der zu benutzenden XML-Dokumente eindeutig festzulegen.

Im Fall der Oberstufenkurse könnte eine Festlegung (man nennt sie auch Dokumenttypdefinition) so aussehen:

<!ELEMENT Kurs (Fach, Typ, Stufe, Bezeichner, Unterricht, Lehrer, Schüler*)>
<!ELEMENT Fach (#PCDATA)>
<!ELEMENT Typ (#PCDATA)>
<!ELEMENT Stufe (#PCDATA)>
<!ELEMENT Bezeichner (#PCDATA)>
<!ELEMENT Unterricht (Einheit+)>
<!ELEMENT Einheit (Tag, Stunde, Raum?)>
<!ELEMENT Tag (#PCDATA)>
<!ELEMENT Stunde (#PCDATA)>
<!ELEMENT Raum (#PCDATA)>
<!ELEMENT Lehrer (Name, Vorname)>
<!ATTLIST Lehrer
  kürzel CDATA #REQUIRED
  geschlecht CDATA #REQUIRED
> 
<!ELEMENT Name (#PCDATA)>
<!ELEMENT Vorname (#PCDATA)>
<!ELEMENT Schüler (Name, Vorname, Kurssprecher?)>
<!ATTLIST Schüler
  geschlecht CDATA #REQUIRED
>
<!ELEMENT Kurssprecher EMPTY>

Aufgabe 2

Versuche erst einmal selbst, diese Festlegung - zumindest in Teilen - zu verstehen. Informiere dich anschließend in den folgenden Abschnitten, was die einzelnen Festlegungen bedeuten.

Überprüfung von Dokumenten

Schritt 1: Einbindung der Dokumentdefinition

Am einfachsten geht das, wenn man die Dokumenttypdefinition in einer Datei abspeichert (z.B. in der Datei kurs.dtd) und diese Datei in dasselbe Verzeichnis wie die XML-Dokumente ablegt. Dann kann die Dokumenttypdefinition wie folgt in die zu analysierenden XML-Dokumente eingebunden werden:

<?xml version="1.0" encoding="iso-8859-1"?>

<!DOCTYPE Kurs SYSTEM "kurs.dtd">

<Kurs>
  ...
</Kurs>

Schritt 2: Überprüfung des XML-Dokuments

Wir benutzen hier den Überprüfungsservice, den die Webseite XML-Validation zur Verfügung stellt.

Man muss hier erst das XML-Dokument hochladen und [validation] anklicken. Anschließend wird man aufgefordert, die noch fehlende Dokumenttypdefinition ebenfalls hochzuladen. Mit [continue validation] erhält man dann das Ergebnis der Überprüfung.

Die Überprüfung kann zu einem positiven Ergebnis führen:

Validierung

Die Überprüfung kann aber auch Fehler melden:

Validierung

Aufgabe 3

Überprüfe auf die beschriebene Weise die oben gegebenen XML-Dokumente zu verschiedenen Oberstufenkursen. Beschreibe mit Hilfe der Fehlermeldungen die in einigen XML-Dokumenten zu verzeichnenden Verstöße gegen die beabsichtigte XML-Dokumentstruktur.

X

Fehler melden

X

Suche