Einführung in XML
Autor: Udo Altmann mailto:Udo.Altmann@informatik.med.uni-giessen.de
1. Grundlagen
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 xmlbsp1.xml.
- Öffnen Sie es dazu zunächst in einem Texteditor (Notepad)
- Betrachten Sie die Datei auch im Internet Explorer. Der Internet Explorer (ab V5) kann well-formed Dokumente darstellen.
- Wo sind die Unterschiede?
Lösung 1
Ziel von XML
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").
Lösung 2
- Wählen Sie das Dokument im "xmltest"-Programm und starten Sie von dort die "Tree"-Ansicht.
- Worin unterscheiden sich Attribute und Elemente?
Lösung 3
- Die Vermischung von Text- und Elementknoten in Dokument wird als "Mixed Content" bezeichnet. Worin könnte die Schwierigkeit bei "Mixed" Content bestehen?
Lösung 4
- 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
Lösung 5
- so viel Attribute wie möglich
Lösung 6
Unterschied XML / HTML
Aufgabe
Was unterscheidet XML von HTML(siehe
XML-Techniken.html#XML XML-Techniken.html#HTML)?
Aspekte:
- Was ist das Ziel der Darstellung von Dokumenten in XML bzw. HTML?
- Wählbarkeit von Element- und Attributbezeichnungen
- Formale Strukturanforderungen
- Wie können die jeweiligen Dokumente dargestellt werden?
Lösung 7
Aufgabe
- Gegeben sind zwei ähnliche Beispieldokumente in XML
und HTML. Überlegen Sie, wie Sie einem Analyseprogramm
mitteilen können, die Nebendiagnosen auszugeben.
-
Bemerkung: Mit dem Stylesheet xmlbsp3.xsl kann man aus der XML-Datei die HTML-Datei erzeugen.
- Was ist XHTML?
2. Anwendung
Schnittstellen
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.
Lösung 8
Webressourcen:
Dokumente
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.
Application Programming Interface (API) 
Vorführung: Einsatz von XML bei der Kommunikation mit APIs am Beispiel des GTDS http://www.gtds.de
Webressourcen:
3. Validierung
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?
Lösung 11
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 reicht der Internet Explorer V5 nicht mehr aus.
- Probieren Sie durch Verändern aus, ob das Dokument weiterhin gültig bleibt.
- Benutzen Sie zum Überprüfen das bereitgestellte Java-Programm "xmltest" (Beschreibung)
Aufgabe
- Konstruieren Sie zu dem gegebenen Dokument eine DTD
Lösung 12
- Konstruieren Sie zu der gegebenen DTD ein Dokument
(jeder Bestandteil der DTD sollte mindestens einmal im Dokument vorkommen)
Lösung 13
- Ü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)
Lösung 14
Vorzüge von XML-Schema (gegenüber DTDs)
- Verbesserte Datentypen (44+ gegenüber 10, Möglichkeit für eigene Datentypen)
- gleiche Syntax
- "Objekt-orientiert" (Ableitung, d.h. Erweiterungen / Restriktionen von Datentypen)
- Vorhandensein von Sets (d.h. Kind-Elemente die in jeder Ordnung auftauchen können)
- Spezifikation von Elementinhalt als "unique" (auch innerhalb einer Region)
- Elemente mit gleichen Namen, aber unterschiedlichen Inhaltsmodellen
- Elemente mit leerem Inhalt
- Definition von ersetzbaren Elementen (z.B. zur Internationalisierung von Schemata)
Komplexer vs. einfacher Typ / Benannte vs. anonyme Typen
- complexType: zur Definition von Kind-Elementen oder Attributen eines Elements
- simpleType: zur Definition eines neuen Typs, der auf einem eingebauten Typ beruht
- benannter Typ: Wiederverwendung von Typdefinitionen auf oberster (globaler) Ebene
- anonymer Typ: nicht wiederverwendbare Festlegung (ohne Namen) innerhalb einer Element-/Attributdeklaration
Eingebaute Datentypen
Hierarchie der Datentypen
Aufgabe
Betrachten Sie die Beispieldokumente, überprüfen Sie die Validität und testen Sie durch Modifikationen die Wirkung von Schemata
4. Verarbeitung
Extraktion
- Document Object Model (DOM)
- Prozedurale (objektorientierte) Verarbeitungsweise: XML-Techniken.html#DOM
- Vorführung von DOM-Methoden in "xmltest": xmlbsp2.xml in "Tree"-View
- DOM-Methoden in HTML: domdemo.html (funktioniert nur mit neuen Browsern, die das DOM 1.0 implementieren, z.B. ab Netscape 6, Internet Explorer 5, aktueller Mozilla)
- Deklarativer Zugriff: XML Path Language (XPath)
wird benutzt durch
Modifikation / Transformation
- Document Object Model (DOM), s.o.
- Deklarativer Zugriff: XSLT, Bestandteil von XSL
Verknüpfung von Dokumenten
Präsentation
Abfragen