Grundlagen der Extensible Stylesheet Language

Ähnliche Dokumente
XSLT XSL Transformations

XSLT XSL Transformations

Transformation von XML-Dokumenten. IDE SummerSchool 2013, Chemnitz

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

Transformation von XML-Dokumenten mit XSLT

Konzept und Realisierung Extensible Stylesheet Language

Projektseminar "Texttechnologische Informationsmodellierung"

XSLT IDE AUTUMN SCHOOL

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

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

Extensible Stylesheet Language Transformations XSLT

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

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

XML-Praxis.

XSL Transformation. Eine praxisorientierte Einführung Philip Heck

XSLT XSL Transformations

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 XSL Transformations

<Trainingsinhalt> XML umsetzen und nutzen

Präsentation von XML-Dokumenten mit Hilfe von Stylesheets

Seminar Dokumentenverarbeitung

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

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

Eine Schnelleinführung in XSL

Einführung. Hallo-Welt in XSLT

Einführung in XML Extensible Markup Language

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

Praktikum zur Veranstaltung XML-Technologie: Übung 09

XSL Transformation (XSLT) Teil II

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

XML Vorlesung FHA SS


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

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

Klaus Schild, XML Clearinghouse Transformation von XML-Dokumenten

Praktikum zu XML: Übung 11

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

Web (Site) Engineering (WebSE)

Einführung: Installation und Anpassung der Site zum Buch 15

Verwaltungsaufgaben lösen mit XML und L A T E X

Kurzeinführung in XML. Was ist XML? Well-formed u. gültiges XML Erste Anwendung in XML Externe DTD Attribute und Entities Datenausgabe mit XSL

XML-Praxis.

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

Einführung in XML. Seminarunterlage. Version 3.05 vom

Einführung in die extensible Markup Language

Single Source Publishing mit XML

artikel.dtd: Document Type Definition mit der Strukturbeschreibung artikel.xml: XML-Datei mit den durch Tags markierten Daten.

APEX und Apache FOP Freie PDF-Erstellung mit APEX 3.0.1

Inhaltsverzeichnis. 1 Grundlagen. Vorwort VII

Softwaretechnik 2 - XML -

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

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

X-Technologien. XML and Friends. Jörn Clausen 9. Juli 2001

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

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

XSL Templates. Mit Templates arbeiten. XSL Templates

Web Technologien XML, XQuery, XPath und XSLT

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

XSL Transformations (XSLT) Teil I

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

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

Thomas Schraitle. DocBook-XML. Medienneutrales und plattformunabhängiges Publizieren

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

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

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

mach,, Benjamin Kurtz, Bastian Bonnermann

Vorlesung Datenbanken II SS 2006

Einführung und Überblick Baumtransformationen

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

Projektseminar "Texttechnologische Informationsmodellierung"

Document Type Definition (DTD)

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

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

XSLT 2011/2012 S Seite 1 h_da W

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

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

Henning Behme Stefan Mintert. XML in der Praxis. Professionelles Web-Publishing mit der Extensible Markup Language ADDISON-WESLEY

XSLT 2016 S h_da S Seite 1

extended Markup Language (XML)

Erstellen von PDF-Dokumenten für Business-Anwendungen mit XSL-FO

XSL Transformations (XSLT) Teil II

Übungsbeispiel 1 Erstellen Sie eine Homepage für Ihre Gruppe in XML und überprüfen Sie die Wohlgeformtheit in einem Editor/Browser.

<XML und XSLT Eine Einführung/> Katharina Hemmeter, Claus Ludewig SQ: Digitale Dokumente

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

Einführung in XML Torsten Schaßan SCRIPTO digital Wolfenbüttel

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

XSLT, Teil 1 (Stichworte)

XML Extensible Markup Language

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

Projektarbeit: Übersetzung von XML-Updatesprachen

Dokumentautomation mit XML am Beispiel einer Banddiskografie

Vorlesung XML und Datenbanken Klausur

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

Inhaltsverzeichnis. Vorwort... 15

Transkript:

Grundlagen der Extensible Stylesheet Language Transformations (XSLT) Marc Monecke monecke@informatik.uni-siegen.de Praktische Informatik Fachbereich Elektrotechnik und Informatik Universität Siegen, D-57068 Siegen 26. Mai 2003 Inhaltsverzeichnis 1 Motivation 2 2 XSLT 2 2.1 XPath......................................... 3 2.1.1 Beispiel.................................... 3 3 Aufbau eines XSLT-Stylesheets 4 3.1 Layout-Informationen ergänzen........................... 5 3.2 Mehrere Templates ausführen............................ 5 4 Einige XSLT-Befehle 6 5 Zusammenfassung 6 1

1 Motivation Ziel: Darstellung für XML-Datei erzeugen nötig dazu: Möglichkeit zum Zugriff auf Informationen Selektieren von Informationen Navigieren/Iterieren durch das Dokument Sortieren neue Inhalte hinzufügen beliebiges Ausgabeformat vorstellbar (XML, HTML, Text, PDF... ) (DTD) Grammatik (XSL Stylesheet) Darstellungs regeln Dokument (XML Datei) Generischer Parser Syntax baum Generischer Unparser (XSLT Prozessor) Dokument mit Layout Informationen (HTML Seite) 2 XSLT Extensible Style Language (XSL): Formatierungssprache für XML Vorbilder Cascading Stylesheets für HTML, Transformationssprache DSSSL für SGML bei der Entwicklung wurde 2 Problembereiche identifiziert: 1. Identifizieren von Dokumentteilen XPath 2. Transformation von Inhalten XSLT (XSL Transformations) XSLT und XPath können auch separat verwendet werden nicht nur zum Erzeugen von Formatierungen sondern auch für die Umstrukturierung von XML-Inhalten. XSLT hat strenggenommen nichts mit Formatierung zu tun; der Name resultiert nur aus der Tatsache, das XSLT im Kontext von XSL entwickelt wurde. XSLT Makrosprache; Dateien werden Stylesheets genannt 2

2.1 XPath beim Einlesen von XML-Dokument ist Zugriff auf Elemente nur in vorgegebener Reihenfolge möglich (document order) oft ist wahlfreier Zugriff nützlich Programm, das XPath unterstützt, baut interne baumartige Repräsentation des Dokuments auf weitere Operationen werden auf diesem Baum ausgeführt mit Ausdrücken können Teilbäume, Elemente, Attribute adressiert werden ähnlich Pfaden im Dateisystem eingebaute Funktionen (Name eines Knoten, Position im Baum u.a.) XPath-Ausdrücke auch in Anfragesprachen (z.b. XQL) und für Verweise (XPointer) verwendet 2.1.1 Beispiel <?xml version="1.0" encoding="iso-8859-1"?> <veranstaltung name="datenbanksysteme II" semester="sommersem. 2003"> <termin woche="18" datum="2003-04-28" nr="v01"> <inhalt> Organisatorisches <br /> Objektorientierte Datenbanksysteme <litliste> <hinweis>skript in Vorbereitung</hinweis> <lit text="stichpunkte von den Vorlesungsfolien (pdf)" dest="oodbms.pdf"/> </litliste> </inhalt> </termin> <termin woche="19" datum="2003-05-05" nr="v02">... Abbildung 1 zeigt das Dokument in einer Baumdarstellung. XPath-Ausdrücke /veranstaltung Navigation: alle veranstaltung-elemente (absoluter Pfad) /veranstaltung/termin alle termin-elemente //inhalt alle inhalt-elemente auf beliebiger Stufe (relativer Pfad) 3

semester veranstaltung name woche datum termin termin inhalt inhalt inhalt litliste litliste lit hinweis hinweis text dest Abbildung 1: Dokument mit Element-, Attribut- und Text-Knoten /veranstaltung/termin[@datum="2003-05-19"] Selektion nach Attributwert: termin am angegebenen Datum //inhalt[contains(child::text(), PCTE )] Test auf Text-Inhalt: beliebiges inhalt-element, das den Text PCTE enthält 3 Aufbau eines XSLT-Stylesheets <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform">... </xsl:stylesheet> Kopf mit XSLT-Versionsnummer und Namensraum-Deklaration (xsl) Folge von Schablonen (templates), die jeweils Transformationen für aktuellen Knoten beschreiben Schablonen werden Elementtypen zugeordnet: <xsl:template match="elementtyp"> (allgemein: XPath-Ausdruck zur Selektion) 4

Weitere Verarbeitung wird innerhalb des template festgelegt Beispiel 1 <!-- demo1.xsl --> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:value-of select="@name"/> </xsl:stylesheet> Ausgabe des Werts von Attribut name der veranstaltung 3.1 Layout-Informationen ergänzen <!-- demo2.xsl --> <html> <head> <title><xsl:value-of select="@name"/></title> </head> <body bgcolor="yellow"> <center> <h1>vorlesung <xsl:value-of select="@name"/></h1> </center> </body> </html> reservierte Zeichen dürfen nicht verwendet werden (< <) 3.2 Mehrere Templates ausführen <!-- demo3.xsl --> <html> <head> <title><xsl:value-of select="@name"/></title> 5

</head> <body bgcolor="yellow"> <center> <h1>vorlesung <xsl:value-of select="@name"/></h1> </center> <ul> <xsl:apply-templates /> </ul> </body> </html> <xsl:template match="termin"> <li> findet statt am <xsl:value-of select="@datum"/> </li>... mit <xsl:apply-templates /> werden passende templates auf die Kind-Knoten der veranstaltung angewendet Angabe von match-ausdruck möglich weitere Verarbeitung steuern 4 Einige XSLT-Befehle <xsl:copy-of select=ausdruck /> gibt die dem select-ausdruck entsprechenden Knoten aus <xsl:value-of select=string-ausdruck /> gibt die Zeichenkette aus, die durch den select-ausdruck bestimmt wird <xsl:if test=boolean-ausdruck> INHALT </xsl:if> wertet INHALT aus, wenn BOOLEAN-AUSDRUCK wahr <xsl:apply-templates select=ausdruck>... </xsl:apply-templates> ruft templates auf, deren AUSDRUCK auf den aktuellen Knoten paßt <xsl:call-template name=template-name> PARAMETER </xsl:call-template> ruft template mit Namen TEMPLATE-NAME auf; Parameterübergabe möglich <xsl:attribute name=name> INHALT </xsl:attribute> gibt ein Attribut NAME aus 5 Zusammenfassung XSLT ist Transformationssprache für XML-Dokumente Umstrukturieren, Konvertieren in anderes Format, Layout hinzufügen XPath für Navigation und Selektion Transformationen in templates beschrieben 6

Konstrukte aus traditionellen Programmiersprachen (Verzweigungen, Schleifen, Funktionsaufrufe) verfügbar 7