xml – grundlagen und anwendungen teil 6: verarbeitung von xml-dokumenten: xslt prof. dr. michael...
TRANSCRIPT
XML – Grundlagen und Anwendungen
Teil 6: Verarbeitung von XML-Dokumenten: XSLT
Prof. Dr. Michael Löwe, FHDW Hannover
XML Grundlagen und Anwendungen
2
InhaltMotivation
Verarbeitungsmodell: Visitor auf Composite
Muster
Kontrolle der Abarbeitung
XSLT-Programmierung
Zusammenfassung
XML Grundlagen und Anwendungen
3
MotivationXML-Sprachen sind Kommunikationsprotokolle
Sender/Empfänger müssen Informationen verarbeiten
Verarbeitung ist – Selektion
– Rekombination
– Anwenden spezifischer Interpretationsfunktionen
Die ersten beiden Punkte sind Sprachtransformationen
XSLT: Standard zur Formulierung von Übersetzungen
XML Grundlagen und Anwendungen
4
Beispiel 1: VisualisierungBrowser können HTML und sonst nichts
Standarddarstellung von XML-Dialekt: Baum
Unübersichtliche Aufbereitung für den menschl. Betrachter
Gewünscht: Angemessene Anordnung und Hervorhebung
Gewünscht: Ganz normale WWW-Seite
Zielsprache:HTML/XHTML (Instanz von XML)
Aufgabe: Übersetzung von XML-Dialekt nach HTML
Und zwar so, dass jeder Browser das versteht!
XSLT als Style Sheet
XML Grundlagen und Anwendungen
5
Beispiel 2: PublikationWie Beispiel 1 nur mit
– PDF– RTF– Tex/DVI
XSLT als Drucker
XML Grundlagen und Anwendungen
6
Beispiel 3: Firmenverbund
Versicherung
Werkstatt
Gutachter
Mietwagen
MedizinischeDienste
Assisteur
„Schadenakte“(XML-Dokument)
XSLT als Adapter
XML Grundlagen und Anwendungen
7
Beispiel 4: VersionierungNichts ist konstanter als der stetige Wandel.
XML-Modelle (Schemata) werden verändert.
Was geschieht mit den vorhandenen Instanzen?– Nichts tun und mit mehreren Modellen leben (?)– An die neuen Modelle anpassen (!)
Migration: Übersetzung von XML-Sprachen
XSLT als Versionskonverter (abgeleitet ?)
XML Grundlagen und Anwendungen
8
Verarbeitungsmodell
Textordnung
XML Grundlagen und Anwendungen
9
Übung 9Wenden Sie ein „leeres“ Style Sheet auf eines
unserer Buchdokumente an!
Was erhalten Sie?
XML Grundlagen und Anwendungen
10
Einfache KnotenmusterFür jeden Knoten wird ein Stil festgelegt:
1. Ausgabe vor der Behandlung der Kindknoten
2. Ausgabe nach der Behandlung der Kindknoten
Beispiele: Titel <h2 align=„center“> kinder </h2>
Absatz <p align=„left“> kinder </p>
IN XSLT:<template match=„Absatz“>
<p align=„left“> <apply-templates/> </p>
</template>
XML Grundlagen und Anwendungen
11
Übung 9 FortsetzungSchreiben Sie einfache Knotenmuster für Bücher
mit <template match=„...“>...</...> ,<apply-templates/> und <value-of select = „XPath“/>!
• Titel • Vorname• Nachname• Paragraph• Bemerkung
XML Grundlagen und Anwendungen
12
Textordnung durch DefaultsWurzel und Elemente:
<template match=„* | /“><apply-templates/>
</template>
Text und Attribute:<template match=„text() | @*“>
<value-of select=„.“/></template>
Kommentare:<template match=„comment() | ... “ />
XML Grundlagen und Anwendungen
13
Kontrolle der AbarbeitungSpezielle Selektion der Knoten, auf die Muster
angewendet werden sollen:<apply-templates select =„XPath“/>Beispiel:
<template match=„autor“><apply-templates select =„name“/>,<apply-templates select =„vorname“/>
</template>
XML Grundlagen und Anwendungen
14
Übung 9 FortsetzungSchreiben Sie die Muster für Bücher so, dass
Endnoten an das Ende verlagert werden!
<apply-templates select =„XPath“/>
XML Grundlagen und Anwendungen
15
Muster programmierenModus:
Für dasselbe Element lassen sich mehrer Muster mit verschiedenen Modi angeben:
<template match = „...“ mode = „...“/>
Beim „Aufruf“ von
<apply-templates select = „...“ mode =„...“/>
kann man den Modus setzen
Fallunterscheidung:
<if test = „...“> inhalt </if>
XML Grundlagen und Anwendungen
16
Übung 9 FortsetzungNutzen Sie Modi und Fallunterscheidung, um
Endnoten nur noch am Ende der Ausgabe sichtbar zu machen!<template match = „...“ mode = „...“/>
<apply-templates select = „...“ mode =„...“/>
<if test = „...“> inhalt </if>
XML Grundlagen und Anwendungen
17
Weitere MöglichkeitenWertermittlung für Zielattribute zur Laufzeit „{...}“
Schleifen
Kopieren von Knoten
Expliziter Aufruf benannter Muster
Übergabe von Parametern
Globale Variablen
Explizite Erzeugung von Elementen und Attributen
Schlüsselisten
XML Grundlagen und Anwendungen
18
Übung 10Vervollständigen sie das Style Sheet zu
Ausgabe von DTD‘s in XML in HTML!
XML Grundlagen und Anwendungen
19
ZusammenfassungXSLT trennt Inhalt von der Form
XSLT erlaubt die Transformation von XML in– andere XML-Dialekte (HTML, XHTML, ...)
– Text (RTF, PDF, TEX, etc.)
Impliziter Kontrollfluss für deklarative Muster führt zu – schnellen Ergebnissen bei einfachen Transformationen
– komplizierten Strukturen bei komplexen Transformationen
XSLT sind Programme in XML für XML
XML Grundlagen und Anwendungen
20
DiskussionXSLT für XML wie
Macros für Word / Excel
Stored-Procedures für DBMS
Java für Objektstrukturen
Pearl- oder Ruby-Skripte für Texte
....
Vorteile ??? Nachteile ???