Einführung in XML in Übungen
Hinweis: Diese Seite enthält Verknüpfungen zu XML-Dokumenten.
Diese können zur Zeit am einfachsten im MS Internet Explorer 5 und
höher betrachtet werden.
Autor: Udo.Altmann@informatik.med.uni-giessen.de
(Udo Altmann)
Gliederung
Wie sieht ein einfaches (well-formed) XML-Dokument
aus?
Ein XML-Dokument besteht aus folgenden Bestandteilen:
-
Markup
-
Prolog (XML-Declaration, evtl. Processing Instruction oder Kommentare,
evtl. DTD)
-
Element-Markup (Start- und End-Tags, Empty-Element-Tags), evtl. mit Attributen
-
Entity- und Character-References
-
Kommentaren
-
Processing Instructions
-
Anfang-/Ende von CDATA-Abschnitten
-
Character Data (Textdaten)
Aufgabe:
-
Identifizieren Sie diese Bestandteile im Beispieldokument.
-
Betrachten Sie die Datei im Internet Explorer. Der MS Internet Explorer
(ab V5) kann well-formed Dokumente darstellen.
XML dient der Strukturierung von Textdaten, d.h. die eigentliche Information
steht in den Textdaten und den Attributwerten. Die Tags und Attribute dienen
dazu, die Information zu strukturieren. Ein XML-Dokument kann demnach als
baumartig, hierarchisch strukturierte Information aufgefaßt werden.
Aufgabe:
-
Zeichnen Sie die Information des Beispieldokuments
als (umgekehrten oder aufrechten) Baum auf.
Element- und Attributnamen sind Knoten. Von diesen Knoten gehen Kanten
zu den weiteren Verzweigungen ab. Textdaten und Attributwerte sind die
nicht mehr weiter zerlegbare Information ("Blätter").
-
Worin unterscheiden sich Attribute und Elemente?
-
Worin könnte die Schwierigkeit bei "Mixed" Content bestehen?
-
Entfernen Sie die Zeichenketten "Stammdaten" und "Diagnosen", so daß
kein "Mixed" Content mehr besteht und formen Sie das Dokument auf zwei
Arten in ein anderes "well-formed" XML-Dokument um:
-
keine Attribute mehr
-
so viel Attribute wie möglich
Was unterscheidet XML
von HTML?
Aspekte:
-
Zielrichtung
-
Element- und Attributbezeichnungen
-
Formale Struktur
-
Werkzeuge
Aufgabe: Gegeben sind zwei ähnliche Beispieldokumente in XML
und HTML. Überlegen Sie, wie Sie einem Analyseprogramm
mitteilen können, die Nebendiagnosen auszugeben.
Was ist XHTML?
Wozu kann XML eingesetzt werden?
Gegeben sei ein Pathologiesystem, welches über eine Schnittstelle
Daten an ein Tumorregister liefern soll. Das System enthält unter
anderem folgende Tabellen:
Patient |
|
ID |
0815 |
Name |
Meier |
Geburtsdatum |
04.11.1923 |
Strasse |
Blütenweg 4 |
PLZ |
35392 |
Ort |
Gießen |
Untersuchung |
|
|
Praeparate_Nummer |
20000312 |
20000413 |
Pat_ID |
0815 |
0815 |
Einsender_ID |
9123 |
4323 |
Befundtext |
Das Biopsat aus dem Rektum zeigt ein infiltrierendes Adenokarzinom. |
Infiltrierendes Adenokarzinom des Rektums mit Befall von > 3
regionärer Lymphknoten. |
ICD_O_MCode |
8140/3 |
8140/3 |
T_Kategorie |
|
2 |
N_Kategorie |
|
1 |
Einsender |
|
|
ID |
9123 |
4323 |
Name |
Praxis Müller |
Chirugische Abteilung |
Strasse |
Stadtgraben 3 |
Pfahlgraben 6 |
PLZ |
35392 |
35392 |
Ort |
Gießen |
Gießen |
Aufgabe: Konstruieren Sie eine XML-Beispielnachricht, welche
zu dem Patienten beide Untersuchungen einschließlich der Einsender
ausgibt, so daß das empfangende System in der Lage ist, aus dieser
Nachricht ähnlich strukturierte Tabellen zu füllen.
Webressourcen zum Einsatz in Schnittstellen:
Eine weitere Anwendung ist das Hinterlegen komplexer Dokumente z.B. als
Alternative zur, in Kombination mit oder als Ergänzung zur Speicherung
in einer konventionellen Datenbank.
Aufgaben:
-
Beispiele für denkbare Anwendungen in der Medizin.
-
Vorteile (z.B. gegenüber Textverarbeitung, Datenbank)
Webressourcen zum Einsatz als Dokumente:
Wie kann ein XML-Dokument beschrieben werden?
Aufgabe: Warum ist es sinnvoll XML-Dokumente zu beschreiben?
-
Überlegen Sie welche Voraussetzungen vorliegen müssen, um Daten
zwischen zwei Anwendungen austauschen zu können.
-
Welche Voraussetzungen sind durch XML (in der bisherigen Form) erfüllt?
Gegeben sei ein XML-Dokument einschließlich
einer Document Type Definition (DTD).
Aufgabe: Analysieren Sie die DTD nach ihren Bestandteilen
-
Elementdeklarationen (Anordnung und Spezifikation der Elemente)
-
Attributdeklaration (Typen von Attributen, Optionalität, Vorgabewerte,
...)
-
Notationsdeklarationen (Verarbeitung von Nicht-XML-Daten)
-
Entitydeklarationen (Einfügen von Text über "Platzhalter")
Dokumente, die den Spezifikationen ihrer DTD entsprechen sind "valid".
Zur Überprüfung der Validität reicht der Internet Explorer
V5 nicht mehr aus.
Aufgabe:
-
Probieren Sie durch Verändern aus, ob das Dokument weiterhin gültig
bleibt.
-
Benutzen Sie zum Überprüfen das bereitgestellte Java-Programm
-
Bestandteile:
-
val.class - Java-Klasse
-
val.bat - Batch-Job zum Aufruf der Java-Klasse
-
parser.jar, jaxp.jar, license - Java-Archive mit Parser von SUN (einschließlich
License Agreement)
-
(val.java - Source Code der Java-Klasse)
-
(m.bat - Batch Job zum Kompilieren von val.class, setzt Java-Compiler z.B.
jdk voraus)
-
Aufruf (nach Anpassen von val.bat)
Aufgabe:
-
Konstruieren Sie zu dem gegebenen Dokument eine
DTD
-
Konstruieren Sie zu der gegebenen DTD ein Dokument
(jeder Bestandteil der DTD sollte mindestens einmal im Dokument vorkommen)
-
Überprüfen Sie jeweils die Gültigkeit des Dokuments
Aufgabe: Welche Defizite weisen DTDs auf? (bezüglich Modellierung
von Daten: Definition von Wertebereichen außerhalb von Listen, Kardinalität
von verschachtelten Strukturen)
Aufgabe
-
Bedeutung von XML-Schema für die Beschreibung von Nachrichten
Wie können XML-Dokumente verarbeitet werden?
Zugriff auf Komponenten von XML-Dokumenten
-
Prozedurale (objektorientierte) Verarbeitungsweise: Document
Object Model (DOM)
-
Deklarativer Zugriff: XML Path Language (XPath)
wird benutzt durch
Modifikation von XML-Dokumenten
Verknüpfung von Dokumenten
Präsentation
Abfragen