20
XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML- Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

Embed Size (px)

Citation preview

Page 1: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

XML – Grundlagen und Anwendungen

Teil 6: Verarbeitung von XML-Dokumenten: XSLT

Prof. Dr. Michael Löwe, FHDW Hannover

Page 2: 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

Page 3: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

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

Page 4: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

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

Page 5: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

XML Grundlagen und Anwendungen

5

Beispiel 2: PublikationWie Beispiel 1 nur mit

– PDF– RTF– Tex/DVI

XSLT als Drucker

Page 6: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

XML Grundlagen und Anwendungen

6

Beispiel 3: Firmenverbund

Versicherung

Werkstatt

Gutachter

Mietwagen

MedizinischeDienste

Assisteur

„Schadenakte“(XML-Dokument)

XSLT als Adapter

Page 7: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

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 ?)

Page 8: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

XML Grundlagen und Anwendungen

8

Verarbeitungsmodell

Textordnung

Page 9: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

XML Grundlagen und Anwendungen

9

Übung 9Wenden Sie ein „leeres“ Style Sheet auf eines

unserer Buchdokumente an!

Was erhalten Sie?

Page 10: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

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>

Page 11: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

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

Page 12: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

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() | ... “ />

Page 13: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

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>

Page 14: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

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“/>

Page 15: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

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>

Page 16: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

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>

Page 17: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

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

Page 18: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

XML Grundlagen und Anwendungen

18

Übung 10Vervollständigen sie das Style Sheet zu

Ausgabe von DTD‘s in XML in HTML!

Page 19: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

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

Page 20: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover

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 ???