Zum Inhalt springen

Aufgabe 09 - JSON und XML modellieren und validieren (Bibliothek)

Zu Zen-Modus wechseln

Aufgabe 09 - JSON und XML modellieren und validieren (Bibliothek)

Abschnitt betitelt „Aufgabe 09 - JSON und XML modellieren und validieren (Bibliothek)“

In dieser Übung werden dieselben Daten in JSON und XML modelliert und ihre Korrektheit geprüft (siehe Kapitel 5 - Semistrukturierte Daten und Dokumentenformate). Szenario ist der Medienbestand einer Bibliothek. Es geht um den Unterschied zwischen Wohlgeformtheit und Validität — im Expertenteil bis zu einem Schema mit Namensräumen.

  • Sie bilden verschachtelte Daten in JSON und XML ab.
  • Sie unterscheiden Wohlgeformtheit von Validität und beheben Syntaxfehler.
  • Sie schreiben ein JSON Schema und ein XSD, die eine Struktur erzwingen.
  • Sie validieren ein XML-Dokument mit Namensräumen gegen sein Schema.
  • Reproduktion: Daten in JSON und XML abbilden (Teil A).
  • Reorganisation und Transfer: Fehler finden und ein Schema schreiben (Teile B und C).
  • Reflexion, Problemlösung und Urteilsbildung: ein Dokument mit Namensräumen validieren (Teil D).

Die Übung ist auf etwa zwei Stunden ausgelegt. Teil D ist der Expertenteil.

Ein Buch hat: Titel, einen oder mehrere Autoren, ISBN, Erscheinungsjahr und einen Verfügbarkeitsstatus (verfügbar, verliehen, verloren).

  1. Modellieren Sie ein Buch mit zwei Autoren als JSON-Objekt.
  2. Modellieren Sie dasselbe Buch als XML. Entscheiden Sie begründet, was Element und was Attribut wird (Tipp: Autoren können mehrfach vorkommen).

Finden und korrigieren Sie in den folgenden Ausschnitten je alle Fehler und benennen Sie sie:

{
'titel': "Datenbanken",
"autoren": ["Berg", "Klein",],
"jahr": 2021
}
<buch status=verliehen>
<titel>NoSQL Distilled</Titel>
<jahr>2019
</buch>
  1. Schreiben Sie ein JSON Schema, das für ein Buch fordert: titel (String, Pflicht), autoren (Array aus Strings, mindestens eines), jahr (Ganzzahl), status (nur die drei erlaubten Werte).
  2. Schreiben Sie ein XSD, das dieselben Regeln für das XML-Buch beschreibt (Pflichtelemente, Aufzählung für den Status).

Teil D - Expertenteil: Namensräume und Validierung

Abschnitt betitelt „Teil D - Expertenteil: Namensräume und Validierung“
  1. Erweitern Sie das XML zu einer <bibliothek> mit mehreren Büchern und ordnen Sie die Buch-Elemente einem Namensraum xmlns:lib="https://htl-villach.at/bibliothek" zu.
  2. Validieren Sie das Dokument gegen Ihr XSD (mit einem Werkzeug Ihrer Wahl) und zeigen Sie, dass ein Buch mit status="ausgeliehen" (unerlaubter Wert) abgewiesen wird.
  3. Urteil: Erklären Sie in drei bis vier Sätzen, warum ein Dokument wohlgeformt sein kann, ohne valide zu sein — aber nicht umgekehrt. Geben Sie für beide Fälle ein Beispiel aus dieser Aufgabe.
  1. Nennen Sie die sechs Wertarten von JSON.
  2. Was unterscheidet ein XML-Element von einem Attribut?
  3. Was bedeutet „wohlgeformt”, was bedeutet „valide”?
  4. Wofür schreibt man ein JSON Schema bzw. ein XSD?
  5. Wozu dienen Namensräume in XML?
  • Die Dateien buch.json, buch.xml, buch.schema.json und buch.xsd.
  • Eine kurze Fehlerliste zu Teil B.

HTL Villach, Schuljahr 2026-2027,
https://www.htl-villach.at