5.6.2002XSL und XSLT1 eXstensible Stylesheet Language und eXstensible Stylesheet Language Transformation.

Slides:



Advertisements
Ähnliche Präsentationen
XML-basierte Techniken
Advertisements

Verarbeiten und Präsentieren von
Anmerkungen zu XML Im September 2000 Entwicklung/Anspruch von XML
eXist Open Source Native XML Database
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,
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
DOM (Document Object Model)
Strukturen. In einer Struktur kann eine beliebige Anzahl von Komponenten (Daten) mit unterschiedlichen Datentypen (im Gegensatz zu Feldern) zusammengefaßt.
XINDICE The Apache XML Project Name: Jacqueline Langhorst
XPATH XML Path Language. Xpath – XML Path Language IT Zertifikat - Daten und Metadatenstandards: XPath 2 Entwicklung des W3C Adressierungssprache für.
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.
XForms Von Matthias Keck.
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.
XML Standardisierungen und Abfragesprachen
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.
Das Build-Tool ANT ETIS SS05. ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties.
Xlink / Xpointer - Framework
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Einführung in die Programmierung Datensammlung
© 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.
- XML-Path Language (xPath) ist eine Empfehlung des W3C - es wurde entwickelt, um durch ein XML- Dokument zu navigieren - und ist ein großer Teil von.
XSLT.
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Java programmieren mit JavaKara
XML - Konzepte XHTML XML Base XPath XInclude XLink XForms XPointer
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Datenbanktechnologie Daniel Ebner SS Mai Ulrike Lohner.
Wird ganz am Anfang der HTML-Datei geschrieben Doctype html public bedeutet, dass man sich auf die Öffentlichkeit der html-dtd bezieht Html ist die meist.
Java für Fortgeschrittene
Windows Presentation Foundation, Vorlesung Wintersemester 2013/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 2 Folie 2 XAML (1) s.a.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
XML-Serverpages Vortrag im Rahmen des Seminars XML-Technologien Tobias Faessler.
XPath Was ist XPath XPath ist eine Syntax für das Definieren der Teile eines XML-Dokumentes. XPath benutzt Pfade, um XML-Elemente zu definieren. XPath.
Übersicht Was ist cocoon? Separation of Concerns Pipeline Modell
Verarbeiten von XML-Daten
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
Ausgabe vom Seite 1, XML Eine Einführung XML - Eine Einführung.
Oliver Spritzendorfer Thomas Fekete
3. Juni 2003Moritz Petersen Minimales Markup und Templates zur Erstellung von strukturierten Texten Ein Zwischenbericht zur Diplomarbeit.
XSLT Voraussetzungen, trivial
Gruppe 5. Einleitung ElzbietaChristofTommy SimonIngoMax.
XML (Extensible Markup Language)
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a XML EXTENSIBLE MARKUP LANGUAGE.
Algorithmen und Datenstrukturen Übungsmodul 8
Version X des Programms: Datenaustausch-Probleme % ( ) (WIRBEL-BASISTEIL GR. 52) N1G29X150Y85I150J25 N2G0X150Y25 Version Y des Programms:
SWE1 / Übung 10 ( ) Rekursion Binärbäume.
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
Reinhold Rumberger Web Services.
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
Hauptseminar Web-Services und verteilte Datenbanken Thema XML, DTDs und XML-Schema XML, DTDs und XML-Schema - Stefan Kurz, 25. April 2003.
IT-Zertifikat der Phil.Fak Kurs 4: Daten- und Metadatenstandards Patrick Sahle XML-BasicsWS 08/09.
XML Schema Universität zu Köln Historisch-Kulturwissenschaftliche Informationsverarbeitung WS2011/2012 Hist.-kult.wiss. Informationsverarbeitung (Teil.
Stefan Metzlaff1 Cocoon Stefan Metzlaff
IT-Zertifikat_Seminar: Metadatenstandards XSLT Eine Transformationssprache.
XSLT I Re-usable Content in 3D und Simulationssystemen Dozent: Prof. Manfred Thaller Referentin: Elisabeth Chang.
Datentransformation mit XSLT Seminarvortrag von Johannes Engels.
Dokumentenproduktion im Medienzentrum
 Präsentation transkript:

XSL und XSLT1 eXstensible Stylesheet Language und eXstensible Stylesheet Language Transformation

XSL und XSLT2 Wozu XSL und XSLT? Transformation: Umwandlung eines XML-Dokumentes in ein Dokument einer anderen Form. Der Inhalt (spezifische Werte von Elementen und Attributen) soll dabei erhalten bleiben. XML: Ein Standard zum Erzeugen von Daten-Dokumenten. Das X: Die Daten können verschieden interpretiert werden, mit der Folge, dass man früher oder später das Datenformat ändern muss.

XSL und XSLT3 XSL-Überblick XSL Umfasst drei Technologien: XPath XSLT XSL-FO Heute Am XSL ist eine Sprache, um Style Sheets auszudrücken. Ein Style Sheet ist ein Dokument, das beschreibt, wie eine bestimmte Klasse von XML-Dokumenten dargestellt werden soll.

XSL und XSLT4 XSLT-Überblick XSLT ist eine Sprache zur Spezifikation von Transformationen von XML-Dokumenten. XSLT ist deklarativ: man deklariert seine Ziele, indem man Regeln, sogenannte Templates, aufstellt, die ein Muster im Quelldokument betreffen. Wenn der Prozessor auf ein Muster im Quelldokument trifft, führt er die Aktionen aus, die ebenfalls im Template aufgelistet sind, um etwas auszugeben oder den Fluss der Transformation zu kontrollieren. Ein XSLT-Stylesheet besteht also aus einer Serie von Templates. Ein Template besteht aus einem Muster, das XML-Elemente im Quelldokument selektiert, und einem Körper, der spezifiziert, was für eine Ausgabe generiert werden soll, wenn dieses Muster im Quelldokument angetroffen wird.

XSL und XSLT5 XSLT-Überblick: Elemente XSLT ist selbst ein XML-Vokabular. XSLT ist klein: es gibt nur 35 Elemente. XSLT ist sogar sehr klein: die meisten Transformationen kann man sogar mit noch weniger Elementen ausführen. Die XSLT-Elemente: xsl:apply-imports xsl:apply-templates xsl:attribute xsl:attribute-set xsl:call-template xsl:choose xsl:comment xsl:copy xsl:copy-of xsl:decimal-format xsl:element xsl:fallback xsl:for-each xsl:if xsl:import xsl:include xsl:key xsl:message xsl:namespace-alias xsl:number xsl:otherwise xsl:output xsl:param xsl:preserve-space xsl:processing-instruction xsl:sort xsl:strip-space xsl:stylesheet xsl:template xsl:text xsl:transform xsl:value-of xsl:variable xsl:when xsl:with-param top-level-elements:

XSL und XSLT6 XSLT: Ablauf der Transformation

XSL und XSLT7 Vorsicht! Beispiel: geht nicht gibt die Fehlermeldung: Verweis auf eine nicht definierte Entität 'nbsp'. Lösung: geht nicht Anderes Beispiel: Nicht geschlossene Tags in HTML.

XSL und XSLT8 XSLT: Beispiel Mercury Falling Sting - XSL-Prozessor Mercury Falling bsp_cd_catalog

XSL und XSLT9 XSLT-Elemente und (Synonyme) Obligatorisches Element; wird gebraucht, um anzuzeigen, dass das Dokument ein XSLT-Stylesheet ist. Hat zwei wichtige Attribute: version und namespace (xmlns). Beispiel:... Aktuelle Version Namespace-deklaration für W3C XSLT namespace

XSL und XSLT10 XSLT-Elemente Um irgend etwas machen zu können, muss ein Stylesheet ein Template enthalten. Jedes Stylesheet muss ein Template enthalten, das die Form der Wurzel des Quelldokuments beschreibt (match the node of the root node). Hat als wichtigstes attribut: match="XPath-Ausdruck". Das Template wird ausgeführt, wenn der Kontext-Knoten den so selektierten Knoten matched. Anderes wichtiges Attribut: Name (String). Beispiel: "/" ist XPath-Ausdruck für den Wurzelknoten.

XSL und XSLT11 XSLT-Elemente Ohne Attribute benutzt, fordert es den XSLT-Prozessor zu dem Versuch auf, die Templates im Stylesheet gegen den momentanen Kontext-Knoten im Quelldokument zu matchen. Wichtiges Attribut: select. Mit diesem Attribut können wir eine Menge von Knoten auswählen. Der XSLT-Prozessor greift auf alle Templates im Stylesheet zu und versucht, sie mit der Knotenmenge zu matchen. Gelingt dies, werden die Templates, die die Knotenmenge matchen, ausgeführt.

XSL und XSLT12 XSLT-Elemente (Skizze) Mercury Falling Sting <xsl:apply-templates select="/catalog/cd/title"/> Anderes Beispiel: Seite 8

XSL und XSLT13 XSLT-Elemente Kann nur innerhalb eines Templates benutzt werden. Attribut: name. Kann auch das Template, in dem es steht, aufrufen, und dabei Parameter übergeben; Rekursion! (Es gibt keine for-Schleifen! Für Rekursive XSLT- Programmierung wird oft noch und gebraucht, ausserdem, für eine Abbruchbedingung:) Sehr einfache Form von einem Conditional Test; es gibt kein else. Hat ein Attribut, test. (XPath-Ausdruck). Beispiel:.....

XSL und XSLT14 XSLT-Elemente Wird gebraucht, wenn wir einen Wert oder ein Attribut aus einem Knoten auslesen wollen. Kann nur innerhalb eines Templates benutzt werden und hat immer ein select-Attribut. Der Wert dieses Attributs ist ein XPath-Ausdruck. Der Wert der durch diesen Ausdruck definierten Knoten wird in das Ausgabe- Dokument in Textform kopiert. <xsl:stylesheet version="1.0" xmlns:xsl=" Beispiel: Sting Wenn der XPath-Ausdruck mehrere Knoten im Quelldokument anspricht, wird nur der Wert des ersten Knotens ausgegeben!

XSL und XSLT15 XSLT-Elemente Operiert auf einer Menge von Knoten. Diese ist durch den Wert des select-Attributes definiert. Die Inhalte des -Elementes werden einmal für jeden Knoten in dieser Menge ausgeführt. bsp_cd_catalog

XSL und XSLT16 XSLT-Elemente: Abstrakter Zugang. Man kann zwei Zugänge zum Stylesheet-Design finden: Pulling the input data: "Das Stylesheet 'zieht' Information". Bekannte Quell-Struktur, d.h. die Hierarchie des Quelldokuments ist dem Stylesheet- Programmierer bekannt. Das Stylesheet "zieht" Information von bekannten Orten im Quellknoten-Baum: für Extraktion oder Berechnung für Iteration über eine Knotensammlung. Kurz: der Ergebnisbaum wird vom Stylesheet aufgebaut, indem jede Ergebnis- komponente vom Quelldokument "gezogen" wird und jede solche Komponente vom Stylesheet mit markup eingerahmt wird.

XSL und XSLT17 XSLT-Elemente: Abstrakter Zugang. Zweiter Zugang: Pushing the input data: "Das Stylesheet 'drückt' Information". Oft bei unbekannter oder beliebiger Struktur des Quelldokuments. Das Stylesheet "drückt "Information, indem es bekannte oder unbekannte Quellbaum- Knoten besucht: und die Template-Regeln sind für Quellbaum-knoten-besuche vorbereitet: Die Ordnung des Ergebnisbaumes wird also erst durch die Hierarchie der Quelle festgelegt! Es wird event-getriebene Transformation implementiert: als Event-Handler, als Event-Generator.

XSL und XSLT18 XSLT-Elemente Für wirkliche Transformation: Element zum Erzeugen von neuen Elementen,das immer ein name- Attribut hat, das den Namen des neuen Elementes angibt. Optionales Attribut: namespace, das als Wert eine URI annimt, die den Namespace des Elements identifiziert. Ähnlich: Mit dem Attribut name (optional: namespace). Beispiel: Peter Peter

XSL und XSLT19 Der andere Weg:

XSL und XSLT20 Xalan-Java Vollständige Implementierung von XSLT und Xpath (beides: Version 1.0). Benutzt als default-Parser: Xerces-Java. Transformationen können verkettet sein. Kann in einem Servlet benutzt werden, um XML-Dokumente in HTML zu transformieren und das Resultat einem client nutzbar zu machen. C:\jdk1.3.1_03\bin\java -cp "C:\...\xalan.jar; C:\...\xerces.jar" org.apache.xalan.xslt.Process -IN cd_katalog.xml -XSL cd_katalog.xsl -OUT katalog.html Beispiel: bsp_cd_katalog_to_html

XSL und XSLT21 Links XSLT-Spezifikationen: Xalan-Java: Einfaches Tutorial: Xerces: