xml – grundlagen und anwendungen teil 6: verarbeitung von xml-dokumenten: xslt prof. dr. michael...
TRANSCRIPT
![Page 1: XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022051110/55204d6849795902118bdd1a/html5/thumbnails/20.jpg)
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 ???