Datentransformation mit XSLT Seminarvortrag von Johannes Engels
CAE Elektronik GmbH Confidential and/or Proprietary Information Übersicht Einleitung Grundlagen –Warum Datentransformation? –Was ist ein Stylesheet? –Was ist XSLT? Funktionsweise –Allgemeines –Aufbau eines XSLT-Dokumentes –XSLT-Elemente Anwendungsbereiche Zusammenfassung und Ausblick 2
CAE Elektronik GmbH Confidential and/or Proprietary Information Einleitung - Motivation 3 Datenimport in Übungseditor von GESI –Daten können von verschiedenen Systemen stammen –XML-basierende Daten Transformation der Daten in einheitliches Format –Format auf Datenbankstruktur zugeschnitten
CAE Elektronik GmbH Confidential and/or Proprietary Information Einleitung - Ziel 4 Kennenlernen von XSLT Transformationen nachvollziehen zu können
CAE Elektronik GmbH Confidential and/or Proprietary Information Übersicht Einleitung Grundlagen –Warum Datentransformation? –Was ist ein Stylesheet? –Was ist XSLT? Funktionsweise –Allgemeines –Aufbau eines XSLT-Dokumentes –XSLT-Elemente Anwendungsbereiche Zusammenfassung und Ausblick 5
CAE Elektronik GmbH Confidential and/or Proprietary Information Grundlagen – Warum Datentransformation? 6 Kommunikation zweier verschiedener Systeme –Austausch mittels hierarchisch strukturierter Formate (z.B. XML) Problem:Zielsystem hat evtl. anderes Verständnis (semantisch/syntaktisch) Lösung:Transformation der Daten in für Zielsystem verständliches Format Kommunikation möglich!
CAE Elektronik GmbH Confidential and/or Proprietary Information Grundlagen – Warum Datentransformation? 7 Darstellung von Inhalten –Im Web: Speicherung in XML Darstellung in HTML –Umwandeln von Daten in PDF-Format –Auf verschiedenen Ausgabegeräten –Als Druckausgabe
CAE Elektronik GmbH Confidential and/or Proprietary Information Grundlagen – Was ist ein Stylesheet? 8 Legt Regeln für die Transformation fest Trennung von Daten und deren Darstellung –Verändert eigentliche Inhalte nicht Modularisierung Parallelisierung
CAE Elektronik GmbH Confidential and/or Proprietary Information Grundlagen – Was ist XSLT? 9 „Extensible Stylesheet Language“ (XSL) –Stylesheetsprache zur Transformation und Formatierung –XML-basierte Syntax –Zwei Komponenten: XSL-FO(Extensible Stylesheet Language Formatting Objects) XSLT(Extensible Stylesheet Language Transformations) –Version 1.0 wurde 1999 von W3C spezifiziert –Version 2.0 seit 2007 von W3C empfohlen Ähnelt mit Schleifen und Bedingungen einer Programmiersprache Aber:läuft nicht sequentiell ab, sondern Knotenweise
CAE Elektronik GmbH Confidential and/or Proprietary Information Übersicht Einleitung Grundlagen –Warum Datentransformation? –Was ist ein Stylesheet? –Was ist XSLT? Funktionsweise –Allgemeines –Aufbau eines XSLT-Dokumentes –XSLT-Elemente Anwendungsbereiche Zusammenfassung und Ausblick 10
CAE Elektronik GmbH Confidential and/or Proprietary Information Funktionsweise - Allgemeines 11 Vereinfachte Darstellung:
CAE Elektronik GmbH Confidential and/or Proprietary Information Funktionsweise - Allgemeines 12 XSLT-Prozessor: –Software zur Transformation von XML-basierten Dokumenten –Transformation anhand von Stylesheets –Beginnt mit Wurzelelement aus Quelldokument wendet Templates aus Stylesheets an Irrelevanter Code wird einfach ausgegeben –In den meisten modernen Webbrowsern bereits integriert Eigentliche Transformation dann erst auf Client
CAE Elektronik GmbH Confidential and/or Proprietary Information Funktionsweise – Aufbau eines XSLT-Dokumentes 13 Hierarchisch strukturiert Öffnende und schließende Tags Endung *.xsl Deklarationskopf: ≙ …
CAE Elektronik GmbH Confidential and/or Proprietary Information Funktionsweise – Aufbau eines XSLT-Dokumentes 14 Templates : –Wichtigstes Element in XSLT! –Schablone für Knoten aus Quelldokument Legt Regeln der Transformation fest Root-Element: –Der Prozessor beginnt im Quelldokument mit dem Root-Element Folglich auch im Stylesheet
CAE Elektronik GmbH Confidential and/or Proprietary Information Funktionsweise – XSLT Elemente 15 xsl:for-each vergleichbar mit „For-Each-Schleifen“ xsl:value-of Ausgabe der Werte Max Musterschueler … Beispiel:Auszug aus XML-Dokument Auszug aus XSLT-Stylesheet
CAE Elektronik GmbH Confidential and/or Proprietary Information Funktionsweise – XSLT Elemente 16 IF-Element: kein Else-Element Choose- When- und Otherwise Element:
CAE Elektronik GmbH Confidential and/or Proprietary Information Funktionsweise – XSLT Elemente 17 Elemente und Attribute erzeugen: MeinWert right Das ist mein Element. Das ist mein Element. Auszug aus XSLT-Stylesheet Auszug aus Ausgabedatei
CAE Elektronik GmbH Confidential and/or Proprietary Information Übersicht Einleitung Grundlagen –Warum Datentransformation? –Was ist ein Stylesheet? –Was ist XSLT? Funktionsweise –Allgemeines –Aufbau eines XSLT-Dokumentes –XSLT-Elemente Anwendungsbereiche Zusammenfassung und Ausblick 18
CAE Elektronik GmbH Confidential and/or Proprietary Information Anwendungsbereiche 19 POP (Presentation Oriented Publishing): –Zum Zwecke der Darstellung –Transformation in verschiedene Dateiformate (z.B.: HTML, XHTML, PDF, SVG, etc…) –Darstellung von Webseiten auf verschiedenen Geräten 2.MOM (Message Oriented Middleware): –Zum Zwecke des Datenaustausches –Als „Übersetzer“ zwischen zwei kommunizierenden Systemen
CAE Elektronik GmbH Confidential and/or Proprietary Information Anwendungsbereiche 20 POP (Presentation Oriented Publishing): Peter Mueller Mein erstes XML Buch Addison-Wesley … … XSLT-Stylesheet XML-Quelldokument XSLT- Prozessor Anzeige im Browser:
CAE Elektronik GmbH Confidential and/or Proprietary Information Anwendungsbereiche 21 2.MOM (Message Oriented Middleware): Raumplaner Bilder- Verwaltung Tür- Verwaltung brauner Rahmen breiter Rahmen
CAE Elektronik GmbH Confidential and/or Proprietary Information Anwendungsbereiche 22 2.MOM (Message Oriented Middleware): Raumplaner Bilder- Verwaltung Tür- Verwaltung Stylesheet B Stylesheet A brauner Rahmen breiter Rahmen XSLT- Prozessor brauner Rahmen breiter Rahmen
CAE Elektronik GmbH Confidential and/or Proprietary Information Übersicht Einleitung Grundlagen –Warum Datentransformation? –Was ist ein Stylesheet? –Was ist XSLT? Funktionsweise –Allgemeines –Aufbau eines XSLT-Dokumentes –XSLT-Elemente Anwendungsbereiche Zusammenfassung und Ausblick 23
CAE Elektronik GmbH Confidential and/or Proprietary Information Zusammenfassung und Ausblick 24 XSLT als geeignete Sprache zur Transformation Direkt auf die Transformation zugeschnitten VorteileNachteile Mächtigkeit der SpracheErhöhter Lernaufwand durch Komplexität Modularität Parallelisierung möglich Leichte und schnelle Anwendbarkeit XSLT als unumgängliches Werkzeug zur Datentransformation
CAE Elektronik GmbH Confidential and/or Proprietary Information Zusammenfassung und Ausblick 25 Die Zukunft:XSLT 3.0 Wird seit 2010 entwickelt Empfehlung durch W3C in Aussicht Verbesserte Verarbeitung großer Quelldokumente Mehrere Ausgabedokumente möglich Verbesserte Modularisierung durch Pakete Fehlerbehandlung (try/catch) Weitere XSLT-Elemente
CAE Elektronik GmbH Confidential and/or Proprietary Information Quellen 26 Kay, Michael: XSLT 2.0 and XPath 2.0. Wrox, 2011 Mangano, Sal: XSLT-Kochbuch. O’Reilly Media, 2006 Microsoft: XSLT-Elemente. Version: November 2013 Marco Skulschus, Sarah W. Marcus Wiederstein W. Marcus Wiederstein: XSLT, XPath und XQuery. Comelio Medien, 2011 SELFHTML: XML-Darstellung mit Stylesheets. Version: Oktober 2013 SELFHTML: XSLT-ElementeVPVVV. Version: November 2013 Tidwell, Doug: XSLT. O’Reilly Media, 2008 Vonhoegen, Helmut: EInstieg in XML. Galileo Computing, 2005 Wikipedia: Diagramm zum Ablauf einer XSL- Transformation. Version: Mai 2009 Wikipedia: Stylesheet. Version: April 2013 World Wide Web Consortium, W3C: XSL Transformations (XSLT) Version Version: Januar
Vielen Dank für die Aufmerksamkeit!