XSL eXtensible Stylesheet Language. © Prof. T. Kudraß, HTWK Leipzig Was ist XSL? Analogie zu CSS in HTML XSL ist eine Sprache, die ein wohlgeformtes XML-Dokument.

Slides:



Advertisements
Ähnliche Präsentationen
Blue J.
Advertisements

Lösungsansätze zur automatischen Portierung von Internet-Inhalten für das interaktive Fernsehen Konzeption und Implementierung einer XHTML- Schnittstelle.
Verarbeiten und Präsentieren von
Druck / Ausgaben unter LSF
Anmerkungen zu XML Im September 2000 Entwicklung/Anspruch von XML
Seminar: XML für Fortgeschrittene Referent: Katrin Apel
XML - Aufbau und Struktur - mit Einsatz im B2B
Hands On – Einführung in XML
IMS Universität Stuttgart 1 Einführung in XML Hannah Kermes HS: Elektronische Wörterbücher Do,
DOM (Document Object Model)
XINDICE The Apache XML Project Name: Jacqueline Langhorst
XML - Abfragesprache Xpath. Problemstellung Unsere XML-Datei steht und wir wollen alle 1. Titel aller vergangenen Sendungen automatisch aus den Playlists.
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
Gottfried Vossen 5. Auflage 2008 Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme Kapitel 10: Einführung in XML.
© 2002 Prof. Dr. G. Hellberg 1 XML-Seminar XML-Technologie: XML in Theorie und Praxis Prof. Dr. G. Hellberg XML-Technologie: XML in Theorie und Praxis.
XHTML 1.1 C. Nimz Abstrakte Module XHTML 1.1 C. Nimz Was ist ein abstraktes Modul? Definition eines XHTML-Moduls in spezieller leichter.
Edgar - Ein Texteditor Ein Vortrag von Carsten Severin.
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
Grundlagen von XML. © Prof. T. Kudraß, HTWK Leipzig Geschichte Grundidee generic coding - Trennung Information/Form formal definierter Dokumenttyp verschachtelte.
XML Standardisierungen und Abfragesprachen
Grundlagen von XML. © Prof. T. Kudraß, HTWK Leipzig Geschichte Grundidee generic coding - Trennung Information/Form formal definierter Dokumenttyp verschachtelte.
Publikation von XML-Daten mit XSQL Pages. © Prof. T. Kudraß, HTWK Leipzig Vorteile von XSQL Pages einfache Generierung von XML-Dokumenten auf der Basis.
Einführung XML XML Einführung Andreas Leicht.
Einführung MySQL mit PHP
© data2type 2005, 1 Publishing mit XML Einsatz von XSL für das multimediale, automatisierte Publishing.
XML – Grundlagen und Anwendungen Teil 6: Verarbeitung von XML-Dokumenten: XSLT Prof. Dr. Michael Löwe, FHDW Hannover.
Tobias Högel & Dennis Böck,
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
XSLT.
Vortrag HTML, XHTML, DHTML
Java für Fortgeschrittene
XSL und XSLT1 eXstensible Stylesheet Language und eXstensible Stylesheet Language Transformation.
FORMATTING OBJECTS (FO) Seminar XML TECHNOLOGIEN Prof. Helmar Burkhart Sitzung vom 26. Juni 2002 Florian Müller.
Übersicht Was ist cocoon? Separation of Concerns Pipeline Modell
Verarbeiten von XML-Daten
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Copyright Oracle Corporation, All rights reserved. 6 Unteranfragen (Subqueries)
Oliver Spritzendorfer Thomas Fekete
3. Juni 2003Moritz Petersen Minimales Markup und Templates zur Erstellung von strukturierten Texten Ein Zwischenbericht zur Diplomarbeit.
CMS-Kolloquium am 10. Januar 2006
XSLT Voraussetzungen, trivial
XML und Datenbanken © 2006 Markus Röder
XML in relationalen Datenbanken
Gruppe 5. Einleitung ElzbietaChristofTommy SimonIngoMax.
XML (Extensible Markup Language)
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
SQLite und XML in PHP 5.
XSL in der Praxis Anwendungsbeispiele für die eXtensible Stylesheet Language Andreas Kühne XML One 2000.
Drucken mit XSL-FO DaimlerChrysler  Drucken von Webseiten
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
HTML Hypertext Markup Language
2 Auswählen und Sortieren von Daten. 2-2 Filtern von Zeilen mit Selektion "…suche alle Angestellten in Abteilung 10" EMP EMPNO ENAME JOB... DEPTNO 7839KINGPRESIDENT.
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
Bern University of Applied Sciences Engineering and Information Technology Documentation generator for XML-based description standards Ausgangslage: Die.
- Warum: Das HTML-Dilemma
IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle XML-BasicsWS 08/09.
Datenbanken im Web 1.
Seminar zur Geoinformation Folie 1 Inhalt: –XML –XML- SCHEMA –XSL –Syntax –GML Seminar zur Geoinformation Datenaustausch mit XML / GML im InternetDatenaustausch.
Einfache SQL-Befehle Schedule: Timing Topic 40 minutes Lecture
IT-Zertifikat_Seminar: Metadatenstandards XSLT Eine Transformationssprache.
XSLT I Re-usable Content in 3D und Simulationssystemen Dozent: Prof. Manfred Thaller Referentin: Elisabeth Chang.
5.Februar 2007 – 1Vorlesung Elektronisches Publizieren: Formatierung von XML-Dokumenten mit XSL Formatierung von XML-Dokumenten — XSL — Anne Brüggemann-Klein.
Datentransformation mit XSLT Seminarvortrag von Johannes Engels.
XML-Erweiterungen in ORDBMS Seminar: DBMS für spezielle Anwendungen Florian Brieler.
 Präsentation transkript:

XSL eXtensible Stylesheet Language

© Prof. T. Kudraß, HTWK Leipzig Was ist XSL? Analogie zu CSS in HTML XSL ist eine Sprache, die ein wohlgeformtes XML-Dokument in ein neues Dokument transformiert Wunsch: Trennung von Daten und Präsentation XSL ist für optische Gestaltung eines Dokuments zuständig

© Prof. T. Kudraß, HTWK Leipzig Entwurfsziele für XSL XSL in bekannter XML-Syntax XSL als Auszeichnungssprache mit allen wichtigen und gebräuchlichen Formatierungsbefehlen möglichst geringe Anzahl optionaler Features XSL Stylesheets sollen leicht verständlich und gut lesbar sein schnelle und unkomplizierte Umsetzung

© Prof. T. Kudraß, HTWK Leipzig XSL Spezifikation 1. Benutzung sogenannter Formatting Objects (FO) auf das Erzeugen von Präsentationsdaten ausgerichtet nicht sehr verbreitet werden kaum von den gängigen XSL Prozessoren und Tools unterstützt 2. Erstellen von XSLT Stylesheets XSLT Empfehlung des W3C (21.Nov.2000) XSL Transformations (=XSLT)

© Prof. T. Kudraß, HTWK Leipzig Die Komponenten von XSL XPath: Sprache zum Herausgreifen von bestimmten Teilen aus einem Dokument (Traversieren in Dokumentbäumen) XSLT: Sprache, die beschreibt, wie man ein XML- Dokument in ein anderes Dokument umwandeln kann XSL: XSLT + Sammlung von Formatting Objects (FOP) und Formatting Properties

© Prof. T. Kudraß, HTWK Leipzig Vorteile von XSL XSL ist wesentlich leistungsfähiger als CSS. Es ist möglich, unterschiedliche Layouts für ein Dokument zu erzeugen. Dazu benötigt man nur ein anderes Stylesheet, die XML-Datei bleibt unverändert. Das Layout von vielen Dateien mit gleichem Stylesheet läßt sich einfacher und schneller ändern als bei HTML-Dateien.

© Prof. T. Kudraß, HTWK Leipzig XSLT Stylesheet Processing XML-Daten (strukturell + semantisch) XSLT Stylesheet (Präsentation, optische Form) Ausgabe XML HTML PDF RTF ASCII... XML Prozessor

© Prof. T. Kudraß, HTWK Leipzig Apache XML Projekt Quelle: Ziel: Entwicklung von W3C-Standard- konformen XML-Lösungen auf kommerziellem Niveau in offener Zusammenarbeit – XercesXML Parser, in Java/C++ – XalanXSL Stylesheet-Prozessor, in Java/C++ – CocoonXML-based Web Publishing, in Java – FOPXSL Formatting Objects, in Java

© Prof. T. Kudraß, HTWK Leipzig Xalan Quelle: XSLT Prozessor für die Transformation von XML-Dokumenten in HTML, oder anderen XML-Dokumenttypen Xalan-Java (Version2) ist eine komplette und stabile Implementation der W3-Empfehlung von XSLT und XPath Benutzung z.B. über Kommandozeile, in einem Applet, oder als Modul in einem anderen Programm

© Prof. T. Kudraß, HTWK Leipzig FOP (Formatting Object Processor) Quelle: Ziele: – Entwicklung eines XSL FO=>PDF Formatierer – Konform zur W3C-Empfehlung ( ) – Berücksichtigung der PDF-Spezifikation ( ) XSL Formatting Objects: Programm zum Erzeugen von PDF / AWT / TXT / PRINT... aus XML und XSL Beispiel: fop -xsl foo.xsl -xml foo.xml -pdf foo.pdf

© Prof. T. Kudraß, HTWK Leipzig XSL Formatting Model fo:block fo:inline XML Source Area Structure FO Result Tree XSLT

© Prof. T. Kudraß, HTWK Leipzig FO Result Tree <fo:block font-size=18 pt font-weight=bold text-align=centered 7. Vorwort Dieses kleine Dokument zeigt einen FO Result Tree

© Prof. T. Kudraß, HTWK Leipzig Verarbeitung von XML mit XSLT Zugriff auf alle Bestandteile des XML- Baumes – Wurzel – Elemente – Text – Attribute – Namespaces – Processing Instructions – Kommentare Wandeln des Dokumentenbaums mit Hilfe der Vorgaben im Stylesheet in einen Zielbaum

© Prof. T. Kudraß, HTWK Leipzig Baumdiagramm XML => HTML sample.xml => sample.html usw. usw.

© Prof. T. Kudraß, HTWK Leipzig XSLT Beispiele (1) XSLT Befehle in W3-Spezifikation viele Möglichkeiten zur Transformation: – Einfügen von Text – Sortieren – Numerieren – Bedingungsschleifen u.a. Hinzufügen von Attributen – Hinzufügen eines Attributs zu einem Element im Ergebnisbaum, z.B. Homepage Führt in HTML zu: Homepage

© Prof. T. Kudraß, HTWK Leipzig XSLT Beispiele (2) Auswahl: eine Möglichkeit... Auswahl: mehrere Möglichkeiten Text1 Text2 Text3 Auswahl einer beliebigen Anzahl gleicher Elemente... – Bestimmt eine Liste von SourceTree-Knoten zur Verarbeitung – Macht diese Liste von ausgewählten Knoten zur aktuellen Knotenliste – Beginnt Verarbeitung der Knoten in der Reihenfolge der aktuellen Knotenliste

© Prof. T. Kudraß, HTWK Leipzig XSLT Beispiele (3) Konstante Automatische Numerierung der Elemente Sortierung der Elemente

© Prof. T. Kudraß, HTWK Leipzig Beispiel: ROWSET-Dokumentbaum 7839 KING NEW YORK 7788 SCOTT 7839 KING NEW YORK 7788 SCOTT

© Prof. T. Kudraß, HTWK Leipzig Templates Templates = Regeln im Stylesheet beinhalten Bauplan für Konstruktion eines Teils des Ergebnisbaums – wählt ein bestimmtes Element aus, das über das Attribut match (XPath Pattern) näher spezifiziert wird – Regeln wird auf die Wurzel (Root Node) angewandt Nutzung mehrerer Templates – Anweisung an den XSLT-Prozessor, mit den Kind-Knoten fortzusetzen, so daß der Baum rekursiv verarbeitet werden kann

© Prof. T. Kudraß, HTWK Leipzig Match Source - Construct Result 1.Einfügen von Literalen in den Result Tree, z.B. id 2.Bestimmung der Attributwerte der Form {XPathExpr} und Einsetzen in Result Tree 3.Verarbeitung aller Elemente aus XSLT Namespace in Dokumentenreihenfolge mittels

© Prof. T. Kudraß, HTWK Leipzig Single-Template Stylesheet <xsl:stylesheet version="1.0" xmlns:xsl="

© Prof. T. Kudraß, HTWK Leipzig Verarbeitung

© Prof. T. Kudraß, HTWK Leipzig Ergebnis der Verarbeitung 7839 KING 7788 SCOTT 7839 KING 7788 SCOTT

© Prof. T. Kudraß, HTWK Leipzig Vereinfachtes Stylesheet <html xsl:stylesheet version="1.0" xmlns:xsl="

© Prof. T. Kudraß, HTWK Leipzig Input- und Output-Optionen Serialization – Ausschreiben des Ergebnisbaums als Zeichenstrom – Default Serialization Rules (in XSLT1.0 Spezifik.): UTF-8 Character Set steuert Serialisierungsprozeß Ausgabe-Methoden – Default, Ausgabe als well-formed XML – Serialisiert Elemente und Attribute in HTML4.0-gemäßer Form für entsprechende Browser, kein well-formed XML! – Ausgabe der Textknoten entspr. Reihenfolge im Dokument, für Transformation in Quellcode-Dateien, etc.

© Prof. T. Kudraß, HTWK Leipzig XSLT Output Methoden

© Prof. T. Kudraß, HTWK Leipzig Beispiel im Detail: Text-Output Behandlung von Steuerzeichen – XSLT Stylesheets sind wohlgeformte XML-Dokumente – einige Zeichen benötigen Escape-Zeichen & = & oder & (im Unicode) – Zeilenumschaltung (Carriage Return) &#x0A (hexadezimal) oder &#10 (dezimal) Hello & Family, Your id is Hello King & Family, Your id is 7839

© Prof. T. Kudraß, HTWK Leipzig Nutzung mehrerer Templates

© Prof. T. Kudraß, HTWK Leipzig Transformation mit mehreren Templates höhere Flexibilität bessere Wiederverwen- dung Analogie zu Java-Klassen

© Prof. T. Kudraß, HTWK Leipzig Built-In Templates Teil jedes Stylesheets MatchConstruct Wurzelelement / oder irgendein Element * Nichts, weiter mit Verarbeitung der Kind- Knoten des aktuellen Knotens Textknoten text() oder mit dem Wert des aktuellen Knotens, Kopiere Text oder Attributwert in den Ergebnisbaum Processing Instruction oder KommentarNichts

© Prof. T. Kudraß, HTWK Leipzig Anwendung von Wildcards <!-- | EmpUsingRowStar.xsl: | Transform Emp.xml Into using ROW/* to handle any column +--> Beispiel-Stylesheet mit mehreren Templates für ROWSET/ROW

© Prof. T. Kudraß, HTWK Leipzig Behandlung von Whitespaces oraxsl Emp.xml EmpUsingRowStar.xsl erzeugt Ausgabe: 7839 KING 7788 SCOTT 7839 KING 7788 SCOTT Ergänze Stylesheet: Ignoriere alle Elemente, die nur aus Leerzeichen bestehen

© Prof. T. Kudraß, HTWK Leipzig Datenbankzugriff (XSQL + XSL) SELECT empno, ename, sal, deptno FROM emp ORDER BY ename DESC Kombination von Emp.xsql mit EmpUsingRowStar.xsl ROW/* Template funktioniert für alle Spalten Anwendung verschiedener Stylesheets möglich

© Prof. T. Kudraß, HTWK Leipzig Arbeit in verschiedenen Modi Problemstellung: Anzeige des Tabellenkopfes in generischer Weise 2 Modi benötigt: Modus Column Headers vs. Regulärer Modus

© Prof. T. Kudraß, HTWK Leipzig Transformation ROWSET HTML Tabelle <!-- | TableBaseWithCSS: | Basic stylesheet to format any ROWSET of ROWS into a table | with column headings in a generic way. Leverages Table.css | CSS stylesheet to control font/color information for the page. +-->

© Prof. T. Kudraß, HTWK Leipzig Anpassen und Verfeinern von Stylesheets Importieren eines Base Stylesheet und Hinzufügen eines neuen Templates Neues Stylesheet EmpOver2000.xsl: > 2000 ]"> Erweitere Table.css, z.B..Highlight {background-color: e7e7e7e } Verwende Emp.sql und transformiere entsprechend EmpOver2000.xsl

© Prof. T. Kudraß, HTWK Leipzig Anpassen und Verfeinern von Stylesheets (Forts.) Ergebnis von EmpOver2000.xsl: Hervorhebung aller Angestellten in Tabelle mit Gehalt > 2000 Weitere Beispiele: Formatiere gerade Zeilen in einer Farbe Formatiere ungerade Zeilen in einer anderen Farbe Formatiere Zeilen aus Dept 20 durch Ausgabe von Classified Mehr Informationen: Siehe S. Muench Building Oracle XML Applications, Verlag OReilly, 2000 (Kapitel 7).

© Prof. T. Kudraß, HTWK Leipzig Prioritäten zur Konfliktvermeidung Basis-Schema für Auswahl von Templates * SOMETHING oder xyz:SOMETHING SOMETHING[predicate] oder SOMETHING/SOMETHINGELSE Problem bei mehrfachen Pattern auf derselben Stufe – Einführung eines priority=realnumber Attributes im Template – Auswahl des Templates mit höchster Priorität durch Prozessor Beispiel-Anwendung: Abwechselndes Hervorheben von Tabellenzeilen vs. Ausblenden von Zeilen aus DEPT = 20 Template für DEPT=20 hat höhere Priorität

© Prof. T. Kudraß, HTWK Leipzig Reusable Named Templates Idee: Alternative zu Pattern-Matching-Templates Beispiel: Formatieren von Tabellenzellen mit numerischen Werten, z.B. Anzeige mit Dollar und Cent Aufruf: – muß explizit erfolgen mittels – Literale und xsl Actions genauso instanziiert als ob sie im aufrufenden Template eingefügt wären aufgerufenes Template sieht gleichen aktuellen Knoten wie rufendes

© Prof. T. Kudraß, HTWK Leipzig Library Stylesheets Einfügen von Named Templates in Library Stylesheet: CommonLibrary.xsl Importieren von CommonLibrary.xsl