Wege zur Anzeige. XSL die extensible Stylesheet Language. Wege zur Anzeige. Folie 1. Institut für Dokumentologie und Editorik

Ähnliche Dokumente
Transformation von XML-Dokumenten. IDE SummerSchool 2013, Chemnitz

XML-Verarbeitung. XPath XSL die extensible Stylesheet Language. Torsten Schaßan SCRIPTO Modul 4: EDV Wolfenbüttel

XSLT IDE AUTUMN SCHOOL

XSLT für SAP NetWeaver Process Integration. Transformationssprache für XML Dokumente

Projektseminar "Texttechnologische Informationsmodellierung"

XSL Transformation. Eine praxisorientierte Einführung Philip Heck

Seminar Dokumentenverarbeitung

XSLT XSL Transformations

XSLT XSL Transformations

Transformation von XML-Dokumenten mit XSLT

Extensible Stylesheet Language Transformations XSLT

Agenda. 1. Was können wir mit XSLT alles machen? 1. Beispiele: 1. Webseiten 2. Textprozessierung 3. Datenbankabfragen

XSL. extended Stylesheet Language. Die Stylesheet Sprache für XML

Texttransformation mit XSLT

Eine Schnelleinführung in XSL

4. Kontrollstrukturen

Inhalt des Moduls: Grundlagen. Vorlagen. Kontrollstrukturen. Ausgabestrukturen. Parameter und Variablen. Dateibasierte Auslagerung

Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design mit XML, dpunkt-verlag 2001

Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design mit XML, dpunkt-verlag 2001

Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design mit XML, dpunkt-verlag 2001

XML-Praxis. Einführung in XSLT. Jörn Clausen

Web (Site) Engineering (WebSE)

Seminar: XML und intelligente Systeme

Grundlagen der Extensible Stylesheet Language

XML-Praxis.

Vorlesung Datenbanken II SS 2006

Übersicht. Web (Site) Engineering (WebSE) XML-Beispieldokument. Simple API for XML (SAX) [Pro] XML-Beispiel. Vorlesung 6: Tools und Programmierung

XSLT XSL Transformations

XSLT XSL Transformations

XSL Transformation (XSLT) Teil II

XML Vorlesung FHA SS

IT-Zertifikat: Daten- und Metadatenstandards. Transformation von XML-Dokumenten mit XSLT (und XPATH) XSLT kurz und knackig. XSLT und die Praxis

Einführung in XML. Seminarunterlage. Version 3.05 vom

XSLT, Teil 3. Udo Kelter

Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design mit XML, dpunkt-verlag 2001

XSL und XSLT. Inhalt. Mathias Heilig XSL Übersicht. Formatierungsprozess. Sprachbeschreibung. Vorführung Resümee

Inhalte. Stylesheet-Wurzel Vorlagen Ausgabe Leerraum Funktionen Kontrollanweisungen & Techniken Sortierung Nummerierung

XSLT. h_da SS Seite 1

XPath XML Path Language

bitflux CMS ein crossmedia-fähiges opensource System ein Vortrag von Marcel Linnenfelser

XML. XML-Verarbeitung mittels XSL

XML Path Language (XPath)

Linux I II III Res WN/TT NLTK XML Weka E XML BNC XSLT BNC/XML 7 BNC/XML XML BNC XSLT. Ressourcen-Vorkurs

XSLT vs. STX STX. Streaming Transformation for XML. Jan Krueger

Web Technologien XML, XQuery, XPath und XSLT

XSL Transformationen. -Teil 2 - Schwerpunkt: Templates und Kontrollstrukturen. XSL Transformationen - Teil 2 Christina Krieglstein / 66

XSL Transformations (XSLT) Teil I

TEI und XSLT. Referat von Hannah Goldschmidt und Christian Lütticke Datenbanktechnologie Sommersemester 2011

Auszug aus: Helmut Vonhoegen: Einstieg in XML, 3. Auflage, Galileo Press 2005

XML-Praxis.

Verwendung von Xsl auf einem Computer oder einem Computer (für einen Computer)


Inhaltsverzeichnis. Vorwort... 15

XML. XML-Abfrage- und Transformationssprachen. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

XML. XML-Datenmodellierung / XML-Schemasprachen. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

XSL Transformations (XSLT) Teil II

XSLT, Teil 3. Udo Kelter

7.2.2 Spezifikation einer Treffermenge

Einführung in XML. Arthur Brack FHDW Hannover. 1. Oktober 2009

Einführung. Hallo-Welt in XSLT

Konzept und Realisierung Extensible Stylesheet Language

IN A NUTSHELL. Elliotte Rusty Harold & W, Scott Means. Deutsche Übersetzung von Kathrin Lichtenberg & Jochen Wiedmann O'REILLY*

Projektseminar "Texttechnologische Informationsmodellierung"

Thoma ; ' " >) Einstieg für Anspruchsvolle PEARSON ADDISON-WESLEY. [ in Kooperation mit ] Studium

XML exemplarisch. nach: André Bergholz, Extending Your Markup: An XML Tutorial IEEE Internet Computing, Jul./Aug. 2000, 74 79

XML Vorlesung FHA SS

1 Was ist XML? Hallo XML! Kommentare in XML 52

Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis

Gruppe 3 / 5 / 10. Tutorübung zu Einsatz und Realisierung von Datenbanksystemen (SS 17) Michael Schwarz

Templat-Regeln: XSLT Transformation: XML-Dokumente als Bäume: sieben Arten von Knoten. XSLT Verarbeitungsmodell für Templat-Regeln.

Präsentation von XML-Dokumenten mit Hilfe von Stylesheets

Dokumentverarbeitung

1HX SIZNVUJ. ua6unpnqqv LZi ÜIAI

XPath-Abfragen. 8 XPath-Abfragen

XSLT 2015/2016 S Seite 1 h_da W

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname

XSLT, Teil 3. Udo Kelter

XML-Praxis. Mit XSLT arbeiten. Jörn Clausen

XML-Praxis. Mit XSLT arbeiten. Jörn Clausen

06 Formatierungssprachen, XSL. Manuel Burghardt Lehrstuhl für Medieninformatik

XSL Transformations (XSLT) Teil III

XSLT: Transformation von XML

XSL Transformations (XSLT) Teil III

XSLT. Heutige Vorlesung. Warum XML-Dokumente transformieren? XSLT zur Transformation von XML-Dokumenten XSL-FO zur Erzeugung von druckfähigem Layout

extended Markup Language (XML)

Verteilte Anwendungen. Teil 8: XSL II (XSLT)

Klinikum Göttingen BE Tumorzentrum XML-Schema und TuDaSch-XML

XML-Praxis. Mit XSLT arbeiten. Jörn Clausen.

XSLT (Stichworte) Udo Kelter

XSL-FO. Dienstag, 16. Mai Manuel Montero Pineda data2type GmbH

XSLT, Teil 1 (Stichworte)

Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis HANSER

APEX und Apache FOP Freie PDF-Erstellung mit APEX 3.0.1

1. Einführung 2. DTD 3. XML Schema 4. XPath 5. XSLT 6. XSL-FO 7. XQuery 8. Web Services 9. XML und Datenbanken

Transkript:

XSL die extensible Stylesheet Language Folie 1 Spring School 14. bis 18. März 2011

Einführung - Warum XML? Warum TEI? Trennung von Form und Inhalt Eine Quelle, viele verschiedene Ausgabeformate - Standardstylesheets der TEI im Oxygen - Zufrieden? - Importieren und Überschreiben - Eigene Stylesheets entwerfen Folie 2

Was ist XSL? - Abkürzung für extensible Stylesheet Language - Mehrere Komponenten: - XSLT Transformations - XSL-FO Formatting Objects - XPath - (XML-Schema) - Ausgabeformate: HTML, PDF, RTF, WORD, TUSTEP, LaTeX - Aber auch XML: KML, WML, SVG, SMIL, DocBook, TEI Folie 3

XSLT Verarbeitung Folie 4

Wie funktioniert das genau? - Der Prozessor traversiert den Baum! - Er startet bei der Wurzel - Geht Schritt für Schritt vor - Und von links nach rechts (oder oben nach unten) - Und führt die ihm aufgetragenen Aufgaben (Transformationen) durch. - Woher weiß der Prozessor, wann er was machen soll? XPath <xsl:apply-templates/> Folie 5

XPath Einführung - Empfehlung des W3C - Version 2.0 vom Dezember 2010 - Technologie zur Adressierung von Knoten - Enthält nützliche Funktionen - Achsenbasierte Navigation durch die Hierarchieebenen Ohne XPath ist eine Verarbeitung und Abfrage von XML-Dokumenten unmöglich! Folie 6

XPath Knotentypen 7 Knotentypen - Wurzel- und Elementknoten: <person> </person> - Text- und Attributknoten: <el f= attribut >text</el> - Namensraumknoten: <tei:lb/> - Processing-Instruction-Knoten <?...?> - <!-- Kommentarknoten --> Folie 7

Folie 8

XPath Notation - Nach dem Prinzip: achse::knotentest([prädikat]) - / - /child::persname - /descendant::persname - /parent::* - /child::person/attribute::role - /self::tei/child::* Übung! Folie 9

XPath verkürzte Notation - Nach dem Prinzip: achse::knotentest([prädikat]) - / / - /child::persname /persname - /descendant::persname //persname - /parent::*.. - /child::person/attribute::role /person/@role - /self::tei/child::*./* Übung! Folie 10

XPath Prädikate - Bedingungen, die Submengen definieren - //person[@role = member ] - /persname[surname = müller ] - /persname[surname!= müller ] - //person[1] - //person[last()]/persname - //person[position() > 5] Übung! Folie 11

XPath Funktionen - Dienen zur weiteren Verarbeitung und Adressierung von Knotenmengen - 4 Gruppen von Funktionen - Knotenmengenfunktionen - Zeichenkettenfunktionen - Logische (boolsche) Funktionen - Numerische Funktionen Folie 12

XPath Funktionen - Knotenmengen - last(), position(), current(), count(), - Zeichenketten - concat() - contains() - starts-with() - ends-with() - substring() - translate() - matches() Übung! Folie 13

XSLT - W3C-Standard vom Januar 2007 (XSLT 2.0) - extensible Stylesheet Language for Transformations - Sprache zur Spezifikation von Transformationen von XML-Dokumenten - Dient zur Umwandlung eines XML-Dokumentes in ein Dokument einer anderen Form oder XML - XML-Syntax - Musterbasiert Folie 14

XSLT Verarbeitung Folie 15

XSLT Beispiel - XML: <message>hallo Wien!</message> - XSLT: <xsl:stylesheet version="2.0 xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:template match="/"> <html><body> <h1><xsl:value-of select="message"/></h1> </body></html> </xsl:template> </xsl:stylesheet> Folie 16

Grundgerüst - <xsl:template match= //* >...Anweisungen... </xsl:template> - Schablone als Anweisung, an welcher Stelle im XML- Dokument (match= XPath ) etwas gemacht werden soll - Wichtigstes Toplevel-Element in XSLT Alle folgenden Elemente sind immer Kinder von <xsl:template/>! Folie 17

Grundgerüst II - <xsl:apply-templates select= XPath /> - Anweisung, dass die Verarbeitung weiterer Templates fortgeführt werden soll. - Optional kann die zu verarbeitende Knotenmenge über das Attribut select per XPath bestimmt werden. Beispiel: - <xsl:template match= / > <xsl:apply-templates/> </xsl:template> Folie 18

Ausgabe von Text - <xsl:value-of select="xpath"/> - Wählt den Wert eines XPath-Ausdrucks, also Text eines Elements oder Attributs und fügt diesen in die Ausgabe ein. - <h1> <xsl:value-of select="message"/> </h1> - <xsl:text> Schreibe diesen Text... <xsl:text> - Wer findet den Fehler? Folie 19

Kopieren - <xsl:copy/> - Kopiert den aktuellen Knoten inklusive Namespace - Kopiert keine Attributte, Inhalte, Kindknoten - <xsl:copy-of select="xpath"/> - Kopiert den ausgewählten Knoten inklusive aller Kindknoten und Attribute Folie 20

Schleifen - <xsl:for-each select="xpath">... </xsl:for-each> - Beispiel: Wähle jedes Buch (//book) und generiere eine Aufzählung (<ul>) der Titel (title): <ul> <xsl:for-each select="//book"> <li> <xsl:value-of select="title"/> </li> </xsl:for-each> </ul> Folie 21

Bedingungen - <xsl:if test= Bedingung >...</xsl:if> - Führt Anweisungen nur aus, wenn die Bedingung im Attribut test erfüllt ist Folie 22 Beispiel: <xsl:for-each select="//book"> <xsl:if test="author='max Frisch'"> <li> <xsl:value-of select="title"/> </li> </xsl:if> </xsl:for-each>

Sortierungen - <xsl:sort select= Sortierkriterium /> - Sortiert die Elemente einer Schleife (nach dem ausgewählten Kriterium) - Wird immer innerhalb von <xsl:for-each/> verwendet Folie 23 Beispiel: <ul> <xsl:for-each select="//book"> <xsl:sort select="author"/> <li> <xsl:value-of select="title"/> <xsl:text> von </xsl:text> <xsl:value-of select="author"/> </li>

Selber machen!? - Ein leicht verständliches XPath-Tutorial: Link - Zugriff auf XML-Dokumente (die XPath-Achsen visualisiert): Link - Ein einfaches XSLT-Tutorial, welches u.a. gut den Unterschied zwischen xsl:value-of und xsl:applytemplates deutlich macht: Link - Die dazugehöhrige XSLT-Referenz: Link - Weitere, nützliche XSL-Tutorials: Link - I D E-XML-Kurzreferenz: Link Folie 24