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 Variante 1: Externes Tool
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:
Die Überprüfung kann aber auch Fehler melden:
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.
Überprüfung von Dokumenten Variante 2: Hier im Schulbuch
Du kannst auch hier im Schulbuch einen XML-Text für einen gegebenen DTD-Text validieren lassen:
Hier öffnenAufgabe
Überprüfe mit dem Validierer 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.