Hausaufgabe

18.01.2017 11:31 Uhr

++++ Alle eingereichten Aufgaben müssen wellformed und valid sein! Ansonsten wird die Einreichung ab jetzt nicht mehr angenommen!++++
++++ Das Encoding sowohl in den Dateien als auch im verwendeten Editor auf UTF-8 stellen +++
+++ Unbedingt auf Sonderzeichen (Leerzeichen, Bindestriche, Punkte, Umlaute, Schrägstriche oä) verzichten! +++

  1. Bitte machen Sie sich mit der Software <oXygen/> genauer vertraut.
  2. Vervollständigen und verbessern Sie Ihre Sitzungsaufgabe ggf. auch die bestehende Rezeptsammlung, so dass eine sinnvolle und umfassende DTD gewährleistet, dass ALLE zur Verfügung stehenden Informationen in der Instanz erfasst werden können.
  3. Die Anpassung des Strukturbaumes gehört weiterhin dazu 🙂 Bitte reichen Sie diese unbedingt als PDF ein.

Validierung

Die eingereichten Aufgaben müssen wellformed und valid sein. Um das zu gewährleisten, müssen beide Dokumente zweimal überprüft werden:

Ist dies nicht der Fall, kann die Einreichung ab jetzt nicht mehr angenommen werden.

Anmerkung

Bei der Konzeption von XML Instanzen und DTDs gibt es nur noch wenige scharfe Kriterien hinsichtlich richtig und falsch. Wir bewegen uns jetzt meist im Bereich besser oder schlechter, sinnvoller oder weniger sinnvoll. Sie müssen sich also immer wieder fragen: ist das, was ich gerade modelliert habe, wirklich gut und sinnvoll? Welche Konsequenz ergibt sich aus der unterschiedlichen Modellierung? Also verwende ich besser ein Attribut? Oder ein Kindelement? Handelt es sich vielleicht konzeptuell doch eher um ein Geschwisterelement oder um ein Elternelement? Oft sind diese Fragen nicht trivial!

Ganz wichtig!

Es ist fast nichts wirklich falsch, sondern es liegt in der Hand bzw. eher in den Überlegungen desjenigen, der die Regeln macht, wie diese ausgestaltet sind und Sie müssen jetzt entscheiden was in welchem Kontext sinnvoll ist und warum

Ab jetzt rückt die zu erlernende Syntax in den Hintergrund und es wird Ihnen eine intellektuelle Leistung abverlangt: es geht um das Formalisieren und Konzipieren. Dabei ist es meist sinnvoll die Konzepte so aufzubauen, dass die Instanzen und ggf. auch die DTDs jederzeit erweitert werden können ohne vollständig neu aufgebaut zu werden.

Beispiel

Legen Sie in der DTD fest, dass das Element rezepte die Kind Elemente foto1, foto2 und foto3 haben darf, dann kann die Sammlung nur 3 Fotos aufnehmen. Damit können Sie dann die Hausaufgabe abschließen, aber die XML Instanz ist nicht um zusätzliche Fotos erweiterbar ohne die DTD anzupassen und das ist nicht sinnvoll.

Ähnlich ist es mit den Rezeptarten der vergangenen Woche. Cocktails, Vorspeisen, Hauptspeisen und Desserts bilden auf keinen Fall alle Arten von Rezepten ab. Wie kann die DTD gestalten werden, so dass auch noch Zwischengerichte eingeführt werden können, ohne dass ich die bestehende Instanz umbauen muss? Ist es sinnvoll die Information ob es sich um feste oder flüssige Speisen handelt zu codieren? Oder alkoholisch vs. nichtalkoholisch? …? Und wie bekomme ich sinnvoll weitere Kategorien untergebracht, wie Partygerichte / Finger Food / Dinner / Fastfood? Ist es allgemeingültiger, wenn diese weiter oben oder weiter unten im Baum angesiedelt sind? Das sind die Fragen, die Sie ab jetzt sowohl entwickeln wie auch beantworten müssen.

Hinweis: In WOMS gibt es die Aufgabenstellung auch noch einmal zu sehen! 🙂

vorherige Folie

Schlagwörter: