| |
Einführung in XML
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
|
| |
|
|