Semistrukturierte Daten (VL 2.0, 181.135)
Laborübungsteil, SS 2007
Beispiel 2
Aufgabenstellung
- Um eine Sammlung von Cocktail-Rezepten in Form eines XML-Dokuments abzuspeichern, sei eine Dokumenttypendefinition (DTD)
gegeben. Erstellen Sie zu dieser DTD ein
XML-Instanzdokument cocktails.xml mit folgenden Eigenschaften:
-
Das Wurzelelement lautet COCKTAILREZEPTE.
-
Ihr XML-Dokument soll mindestens 5 Cocktail-Elemente (als Kinder des Wurzelelements) enthalten.
-
Alle in der DTD definierten Elemente und Attribute
sollen im Instanzdokument zumindest 1-mal vorkommen.
Überprüfen Sie Ihr XML-Dokument auf
Wohlgeformtheit und Gültigkeit mit Hilfe
des Tools xmllint, das in der Vorlesung vorgestellt
wurde.
-
Erstellen Sie ein abgeändertes XML-Dokument
cocktails-ns.xml und eine abgeänderte
DTD cocktails-ns.dtd mit folgenden Eigenschaften:
-
Das XML-Dokument cocktails-ns.xml wird aus
dem ursprünglichen XML-Dokument dadurch erzeugt, dass Sie dem Wurzelelement COCKTAILREZEPTE und allen
COCKTAIL-Elementen einen Namespace mit Präfix dbai und URI http://www.dbai.tuwien.ac.at/cocktails zuweisen.
-
Die DTD cocktails-ns.dtd enthält die
nötigen Anpassungen gegenüber der
ursprünglichen DTD.
Überprüfen Sie das XML-Dokument
cocktails-ns.xml
auf Wohlgeformtheit und Gültigkeit
gegenüber der DTD cocktails-ns.dtd.
- Erstellen Sie für das XML-Dokument
cocktails-ns.xml
eine XML-Schema Datei
cocktails-ns.xsd, d.h.: Dieses Schema
soll für den Target-Namespace
http://www.dbai.tuwien.ac.at/cocktails
definiert sein. Überprüfen Sie das
XML-Dokument cocktails-ns.xml auf
Wohlgeformtheit und Gültigkeit
gegenüber dieser
XML-Schema Definition.
Für die Abgabe beim Tutor bereitzustellen
- Zusammenfassung: In Summe sind also folgende 4 Dateien zu erstellen:
-
cocktails.xml
-
cocktails-ns.xml
-
cocktails-ns.dtd
-
cocktails-ns.xsd
-
Diese 4 Dateien müssen beim Abgabegespräch
elektronisch verfügbar sein (z.B. zum Herunterladen, auf Memory Stick, etc.).
-
Stellen Sie sicher, dass die Überprüfung auf Wohlgeformtheit und Gültigkeit mit dem Programm xmllint (dieses Programm ist Teil des libxml-Pakets, welches auf deren Homepage für verschiedene Betriebsssyteme verfügbar ist) korrekt abläuft.
-
Erstellen Sie bei der Überprüfung auf Wohlgeformtheit und Gültigkeit passende Output-Dateien für die Ausgaben von xmllint, z.B.:
-
xmllint --valid cocktails.xml > output01.txt
oder besser: xmllint --valid cocktails.xml > output01.txt 2>&1
(weil ansonsten zwar das XML-Dokument von stdout in der Output-Datei enthalten ist
aber nicht die Fehlermeldungen von stderr).
-
xmllint --valid cocktails-ns.xml > output02.txt
oder besser:
xmllint --valid cocktails-ns.xml > output02.txt 2>&1
-
xmllint --schema cocktails-ns.xsd cocktails-ns.xml > output03.txt
oder besser:
xmllint --schema cocktails-ns.xsd cocktails-ns.xml > output03.txt 2>&1
Auch diese Output-Dateien müssen beim Abgabegespräch
elektronisch verfügbar sein.
Bewertung
Für das Übungsbeispiel 2 werden maximal 10 Punkte vergeben.
Im Rahmen des Abgabesprächs wird nicht nur die Korrektheit der Lösungen sondern auch (und vor allem)
das Verständnis überprüft. Für die einzelnen Aufgaben werden die maximal
möglichen Punkte nur dann vergeben, wenn die Lösung richtig ist und wenn die
StudentInnen in der Lage sind, diese Lösung zu erklären.
Die TutorInnen werden daher zu den vorgelegten Lösungen spezifische
Verständnisfragen stellen. Außerdem werden die TutorInnen
auch allgemeine Verständnisfragen zum Stoff dieser Aufgaben stellen.
Wer die Aufgaben selbständig gelöst hat, kann auch diese Fragen problemlos beantworten.
Die Verteilung der Punkte erfolgt nach folgendem Schlüssel:
- Datei cocktails.xml: max. 2 Punkte
-
Dateien cocktails-ns.xml + cocktails-ns.dtd: max. 3 Punkte
- Datei cocktails-ns.xsd: max. 3 Punkte
-
Allgemeine Verständnisfragen: max. 2 Punkte