<< Syntax von XSL (2) >>

Größe: px
Ab Seite anzeigen:

Download "<< Syntax von XSL (2) >>"

Transkript

1 XSL << Syntax von XSL (2) >> 1

2 XSL <xsl:if> Einfache Conditions, <xsl:if> Anweisung Mittels <xsl:if> kann eine einfache Bedingung mittels XPath Syntax ausgewertet werden. <xsl:if> können nur innerhalb von <xsl:template> Blöcken verwendet werden Falls die Anweisung true ergibt wird die Anweisung im if-block ausgeführt, sonst nicht. Ein else existiert hier nicht <xsl:choose> 2 z.b. CD Preis auswerten <xsl:template name="cd"> <xsl:if test="price < 10"> this cd has a special price! </xsl:if> </xsl:template>

3 XSL <xsl:choose> Mehrfache Conditions, <xsl:choose> Anweisung Mittels <xsl:choose> kann eine mehrfach Bedingung ausgewertet werden (switch- Anweisung) <xsl:choose> besteht aus weiteren Subelementen <xsl:when> und <xsl:otherwise>. Die Bedingungen werden jeweils mit einem <xsl:when> definiert (case-anweisung). <xsl:otherwise> wird abgearbeitet falls keine <xsl:when> zutrifft (default-anweisung). Die <xsl:when> Bedingungen werden von oben nach unten abgearbeitet. sobald eine zutrifft, werden die anderen nicht weiter beachtet. 3

4 XSL <xsl:choose> Mehrfache Conditions, <xsl:choose> Anweisung z.b. CD Preis auswerten <xsl:template name="cd"> <xsl:choose> <xsl:when test="price < 10"> this cd has a special price! </xsl:when> <xsl:when test="price >= 100"> this cd is too expensive! </xsl:when> <xsl:otherwise> this cd has a normal price! </xsl:otherwise> </xsl:choose> </xsl:template> 4

5 XSL <xsl:variable> Konstanten definieren: <xsl:variable> Mittels <xsl:variable> kann eine Konstante definiert werden. Diese Konstante kann dann später wieder in einem XPath Ausdruck mit $name wieder ausgelesen werden. <xsl:variable> können global nach dem root oder innerhalb eines Blockes wie <xsl:template>, <xsl:for-each > festgelegt werden. Der Gültigkeitsbereich muss hierbei beachtet werden! <xsl:variable> kann nach der Definition nicht mehr verändert werden (Wert konstant). Mann kann jedoch diese Konstanten in einem anderen Kontext (Block) neu definieren und somit überschreiben 5

6 XSL <xsl:variable> Konstanten definieren: <xsl:variable> z.b. Konstanten definieren und auslesen <xsl:stylesheet...> <xsl:variable name="var1">global</xsl:variable> <xsl:template name="/catalog"> <xsl:value-of select="$var1"/> <xsl:apply-templates select="cd"/> </xsl:template> <xsl:template name="cd"> <xsl:variable name="var1">überschrieben</xsl:variable> <xsl:variable name="price" select="price"/> <xsl:value-of select="$price"/> </xsl:template> 6 </xsl:stylesheet>

7 XSL <xsl:variable> Konstanten definieren: <xsl:variable> <xsl:variable> können nicht nur für einfache Werte benützt werden. Sie können Nodesets so wie auch eigene XML Strukturen aufnehmen. z.b. Nodeset einer Variable zuweisen und darüber iterieren <xsl:template name="/catalog"> <xsl:variable name="cdset" select="cd"/> <xsl:for-each select="$cdset/price"> <xsl:value-of select="."/> </xsl:for-each> </xsl:template> 7

8 XSL <xsl:variable> Konstanten definieren: <xsl:variable> z.b. Eigene XML Struktur einer Variable zuweisen und darüber iterieren 8 <xsl:stylesheet... > <xsl:variable name="myxml"> <root> <element id="56">my text...</element> <root> <xsl:/variable> <xsl:template name="/catalog"> <xsl:for-each select="xalan:nodeset($myxml)/root/element"> <xsl:value-of select="@id"/> </xsl:for-each> </xsl:template> </xsl:stylesheet>

9 XSL <xsl:param> Parameter definieren: <xsl:param> Mittels <xsl:param> können Parameterübergaben realisiert werden. Parameter werden wie Variabeln verwendet und können einen Defaultwert besitzen. Es gibt globale Parameter sowie Parameter für <xsl:template> Blöcke. Globale Parameter werden beim XSLT Prozessor für die jeweilige Transformation übergeben. 9 <xsl:param> kann nach dem setzen nicht mehr verändert werden (Wert konstant). Mann kann jedoch diese Parameter in einem anderen Kontext (Block) neu definieren und somit überschreiben Parameterübergabe bei Rekursion

10 Parameter definieren: <xsl:param> z.b. Globale Parameter definieren und auslesen <xsl:stylesheet...> <xsl:param name="par1">global</xsl:param> <xsl:template name="/catalog/cd"> <xsl:value-of select="$par1"/> </xsl:template> </xsl:stylesheet> XSL <xsl:param> Parameterübergabe beim XSLT Prozessor (TRAX API) 10 // Transformer erzeugen Transformer trans = tfactory.newtransformer(dsxsl); // Parameter setzen trans.setparameter("par1", new Integer(55)); // transfomration durchführen trans.transform(dsxml,dsresult);

11 XSL <xsl:with-param> Parameter übergeben: <xsl:with-param> Mittels <xsl:with-param> können bei einem Templateaufruf <xsl:call-template> oder <xsl:apply-templates> die zuvor definierten Parameter übergeben werden Bei der Übergabe wird der Standardwert des jeweiligen Parameters überschrieben 11 Realisiert man beim Templateaufruf eine Rekursion, so kann man dank der Überschreibung ständig neue Werte den Parametern zuweisen. Realisierung eines Zählers

12 XSL <xsl:param>,<xsl:with-param> Parameter definieren: <xsl:param>, <xsl:with-param> z.b. Parameter bei template definieren und übergeben <xsl:stylesheet...> <xsl:template match="/catalog"> <xsl:apply-templates select="cd"> <xsl:with-param name="par1">aaa</xsl:with-param> </xsl:apply-templates> </xsl:template> <xsl:template match="cd"> <xsl:param name="par1">default</xsl:param> <xsl:param name="par2">default</xsl:param> <xsl:value-of select="$par1"/> <xsl:value-of select="$par2"/> 12 </xsl:template> </xsl:stylesheet>

13 XSL <xsl:param>,<xsl:with-param> Parameter definieren: <xsl:param>, <xsl:with-param> z.b. Zähler realisieren mittels Rekursion (1/2) <xsl:template name="count"> <xsl:param name="count">0</xsl:param> <xsl:param name="max">0</xsl:param> <xsl:value-of select="$count"/> <xsl:if test=$count < max> <xsl:call-template name="count"> <xsl:with-param name="count" select="$count+1"/> <xsl:with-param name="max" select="$max"/> </xsl:call-template> </xsl:if> </xsl:template> </xsl:stylesheet> 13

14 XSL <xsl:param>,<xsl:with-param> Parameter definieren: <xsl:param>, <xsl:with-param> z.b. Zähler realisieren mittels Rekursion (2/2) <xsl:template match="/"> <xsl:call-template name="count"> <xsl:with-param name="max">21</xsl:with-param> </xsl:call-template> </xsl:template> Ausgabe

15 XSL <xsl:element> XML Element Erzeugung <xsl:element> Mit <xsl:element> werden XML Elemente auf der Ausgabe erzeugt. Es können so dynamische XML Element erzeugt werden. Syntax <xsl:element name="name" namespace="uri" use-attribute-sets="namelist"> </xsl:element> 15

16 XSL <xsl:element> XML Element Erzeugung <xsl:element> z.b. einfache XML Struktur Erzeugung <xsl:element name="cd"> <xsl:element name="title">empire Burlesque</xsl:element> <xsl:element name="artist">bob Dylan</xsl:element> <xsl:element name="price">9.90</xsl:element> </xsl:element> Ausgabe 16 <cd> <title>empire Burlesque</title> <artist>bob Dylan</artist> <price>9.90<price> </cd>

17 XSL <xsl:attribute> XML Attribut Erzeugung <xsl:attribute> Mit <xsl:attritbute> werden XML Attribute für das jeweilige XML Element erzeugt. Es können so dynamisch Attribute erzeugt werden. Syntax <xsl:attribute name="attributename" namespace="uri"> Wert... </xsl:attribute> 17

18 XSL <xsl:attribute> XML Attribut Erzeugung <xsl:attribute> z.b. <xsl:template name="createcd"> <xsl:element name="cd"> <xsl:attribute name="id">56</xsl:attribute> <price> <xsl:attribute name="unit">sfr</xsl:attribute> 9.90 </price> </xsl:element> </xsl:template> Ausgabe 18 <cd id="56"> <price unit="sfr">9.90<price> </cd>

19 XSL <xsl:comment> XML Kommentar Erzeugung <xsl:comment> Mit <xsl:comment> können dynamisch XML Kommentare auf der Ausgabe erzeugt werden. z.b. <xsl:template name="comment"> <!-- Erzeugung eines Kommentars --> <xsl:comment> Text... </xsl:comment> <xsl:template> Ausgabe <!-- Text... --> 19

20 XML Elemente kopieren <xsl:copy> XSL <xsl:copy> Mit <xsl:copy> können vom Eingabe Dokument XML Elemente kopiert werden 20 z.b.: Ausgabe: Allfällige Namespaces werden mitkopiert, jedoch Attribute sowie Subelemente nicht! siehe auch <xsl:copy-of> <xsl:template match="cd"> <xsl:copy> Beschreibung... </xsl:copy> <xsl:template> <cd> Beschreibung... </cd>

21 XSL <xsl:copy-of> XML Nodes kopieren <xsl:copy-of> Mit <xsl:copy-of> können vom Eingabe Dokument XML Nodes kopiert werden Bei <xsl:copy-of> werden Namespaces, Attribute sowie Subelemente ebenfalls mitkopiert. Es kann aber mittels XPath angegeben werden was kopiert werden soll 21 Syntax <xsl:copy-of select="xpath-expression"/> Spezielle XPath s * alle Subelemente node() alle alle Attribute des Elements text() TextInhalt des Elements

22 XSL <xsl:copy-of> XML Nodes kopieren <xsl:copy-of> z.b. ganzes CD Element kopieren <xsl:template match="cd"> <xsl:copy-of select="."/> </xsl:template> Ausgabe 22 <cd country="usa"> <title>empire Burlesque</title> <artist>bob Dylan</artist> <price>10.90</price> </cd>

23 XSL <xsl:copy-of> XML Nodes kopieren <xsl:copy-of> z.b. nur Kinder des CD Elements kopieren, sich selber nicht <xsl:template match="cd"> <xsl:copy-of select="*"/> </xsl:template> Ausgabe <title>empire Burlesque</title> <artist>bob Dylan</artist> <price>10.90</price> 23

24 XSL <xsl:decimal-format> Zahlen formatiert ausgeben XSL unterstützt die Formatierung von Dezimalwerten, so kann die Präsentation von Werten den jeweiligen lokalen Standards angepasst werden Mit <xsl:decimal-format> werden die Zeichen zur Darstellung definiert z.b. Grouping-Seperator. <xsl:decimal-format> ist ein Top Level Element z.b.: <xsl:decimal-format name="euro" decimal-separator="," grouping-separator="."/> Nach der Definition kann eine Zahl mittels der Funktion format-number() in die entsprechende Präsentation gebracht werden 24

25 XSL <xsl:decimal-format> Zahlen formatiert ausgeben Syntax <xsl:decimal-format name="name" decimal-separator="char" grouping-separator="char" infinity="string" minus-sign="char" NaN="string" percent="char" per-mille="char" zero-digit="char" digit="char" pattern-separator="char"/> 25

26 XSL <xsl:decimal-format> Zahlen formatiert ausgeben z.b. Geldbetrag SFr.- formatiert ausgeben <xsl:stylesheet...> <xsl:decimal-format name="chf" decimal-separator="." grouping-separator="'"/> <xsl:template match="/"> <xsl:value-of select="format-number( , '#.###,00', 'CHF')"/> </xsl:template> </xsl:stylesheet> Ausgabe 26'

27 XSL <xsl:message> Meldungen ausgeben <xsl:message> Mit <xsl:message> kann auf dem Standardoutput des XSLT Prozessors eine Meldung ausgegeben werden. Dies ist besonders nützlich um Fehler zu finden bzw. zu debuggen. Mittels dem Attribute terminate kann angegeben werden ob der XSLT Prozess gerade dazu gestoppt werden soll oder nicht Exception Auslösung 27 z.b.: <xsl:message terminate="yes"> An Error has occurred during XXX... </xsl:message>

28 XSL << XSL Funktionen >> 28

29 Eingebettete XSL Funktionen (1/2) XSL Functions XSL besitzt selber nur wehr wenige eigne Funktionen, jedoch können alle XPath Funktionen verwendet werden z.b. für String Handhabung 29 Name current() document() element-available() format-number() function-available() Beschreibung gibt den aktuellen Node zurück Um ein externes XML Dokument einzubinden Prüfung ob ein bestimmtes <xsl:xxx > vom Prozessor unterstützt wird Zahlen formatiert ausgeben Prüfung ob Prozessor eine Funktion unterstützt

30 Eingebettete XSL Funktionen (2/2) XSL Functions Name generate-id() key() system-property() unparsed-entity-uri() Beschreibung Erzeugt von einem Node eine Unique Id Gibt ein NodeSet aus dem HashSpeicher zurück welches zuvor mit <xsl:key> erzeugt wurde Gibt den Wert einer Umgebungsvariable zurück Gibt die URI einer nicht geparsten Entitiy zurück 30

31 XSL << weiterführende XSL Techniken >> 31

32 Überladen von Templates XSL <xsl:templates> Überladen bedeutet dass man zwei oder mehr unterschiedliche Ausprägungen eines Templates hat. (In Java: gleicher Methodename aber unterschiedliche Übergabeparametertypen) Templates können mit zwei Strategien überladen werden: Man verwendet im match Attribut jeweils ein unterschiedliches Predicate oder Parameter oder man definiert einen sogenannten mode für das jeweilige Template 32

33 Überladen von Templates Anwendungsbeispiel 1: XSL <xsl:template> Unsere CD s werden in einem Web Portal den Kunden angeboten. Die Angebote werden dabei auf verschiedene Weisen dargestellt um die Aufmerksamkeit der Kunden zu erzielen. Darstellung eines CD Angebots (4 Ausprägungen): Im Shop als Artikel Im Warenkorb Als Spezialangebot auf der Hauptseite Als Werbung auf anderen Seiten 33 Problem: Information welche Darstellungsarten es gibt ist nicht selber im CD Katolg XML enthalten

34 Überladen von Templates Anwendungsbeispiel 1: XSL <xsl:template> 34

35 Überladen von Templates XSL <xsl:template> Lösung ohne Überladung z.b. mit Parameterübergabe <xsl:template match="cd"> <xsl:param name="type">shop</xsl:param> <xsl:choose> <xsl:when test="$type='shop'"> <xsl:call-template name="display_shop"/> </xsl:when> <xsl:when test="$type='basket'"> <xsl:call-template name="display_basket"/> </xsl:when>... </xsl:choose> </xsl:template> 35 unübersichtliche if else Strukturen

36 XSL <xsl:templates> Überschreiben v. Templates mit <xsl:template mode> <xsl:template> besitzt ein optionales Attribut mode. Es kann wie eine Erweiterung des Namens für das jeweiligen Template betrachtet werden z.b. Matching Templates haben keinen Namen Beim Aufruf des Templates muss dann ebenfalls der entsprechende mode angegeben werden. 36 z.b. Aufruf: <xsl:template match="cd" mode="amode">... </xsl:template> <xsl:apply-templates select="cd" mode="amode"/>

37 Überladen von Templates Lösung mittels Überladung mode XSL <xsl:template> <xsl:template match="cd" mode="shop">... </xsl:template> <xsl:template match="cd" mode="basket">... </xsl:template> <xsl:template match="cd" mode="external">... </xsl:template> unterschiedliche Template Implementationen welche aber alle auf das gleiche Nodeset anwendbar sind

38 Überladen von Templates Anwendungsbeispiel 2: XSL <xsl:template> Unsere CD s müssen anhand Ihres Herkunftlandes entsprechend dargestellt werden. Information Herkunftland ist in der XML Struktur selber schon vorhanden 38

39 Überladen von Templates XSL <xsl:template> Lösung mittels Überladung Predicate <xsl:template match="cd[country='usa']">... </xsl:template> <xsl:template match="cd[country='eu']">... </xsl:template> <xsl:template match="cd[country='uk']">... </xsl:template> Aufruf 39 <xsl:template match="/catalog"> <xsl:apply-templates select="cd"/> </xsl:template>

40 XSL <xsl:include>, <xsl:import> Modularisierung von Stylesheets Stylesheets können schnell sehr gross werden und daher aufwendig handzuhaben. Unübersichtlichkeit, Wiederverwendung? XSL unterstützt das Aufteilen und Einbetten von anderen Stylesheets auf zwei Arten: Includes von Stylesheets Import von Stylesheets 40 Beide wirken wie das einsetzen von Text, jedoch ist die Handhabung hinsichtlich der Überladung von Templates und Ihrer Prioritäts- Auswertung anders.

41 XSL <xsl:include>, <xsl:import> Modularisierung von Stylesheets Konflikt von gleichnamigen Templates Konflikt: gleichartige Templates existieren in verschiedenen XSL Dateien 41 <xsl> <xsl> import importdoc1 import importdoc2 template A docmain.xsl include import <xsl> <xsl> template A include import doc1.xsl <xsl> <xsl> template A doc2.xsl

42 XSL <xsl:templates> Prioritäten von Templates, <xsl:template priority> Um die Konflikte von gleichnamigen Templates zu lösen werden bei den Templates die Vergabe von Prioritäten unterstützt z.b. Die Priorität kann mittels dem Attribut priority definiert werden. Es sind pos. sowie neg. Zahlen erlaubt. Default ist 0 falls keine angegeben ist. <xsl:template match="cd" priority="2">... </xsl:template> 42 Die Auswertung der Priorität hängt davon ab ob die Templates mit <xsl:inlcude> bzw. mit <xsl:import> eingebettet worden sind.

43 XSL <xsl:include> Einbinden von Stylesheets mit <xsl:include> Mittels <xsl:include> können andere Stylesheets eingebunden werden. <xsl:include> muss sich innerhalb des <xsl:stylesheet> Root Elementes befinden. Syntax <xsl:include href="uri"/> Die so eingebundenen Templates sind gleichberechtigt, wie die des Hauptstylesheets 43 Templates mit höherer Priorität haben Vorrang. Besitzen 2 Templates die gleiche, so gewinnt welches als letztes das Template definiert

44 XSL <xsl:include> Modularisierung von Stylesheets Konflikt von gleichnamigen Templates bei <xsl:include> z.b. Annahme alle 3 Templates A haben gleiche Priorität include <xsl> <xsl> include includedoc1 doc1 include includedoc2 doc2 template A docmain.xsl <xsl> <xsl> template A include doc1.xsl <xsl> <xsl> template A doc2.xsl 44 Template A in docmain.xsl gewinnt da es als letztes das Template definiert

45 XSL <xsl:include> Modularisierung von Stylesheets Konflikt von gleichnamigen Templates bei <xsl:include> z.b. include <xsl> <xsl> include includedoc1 doc1 include includedoc2 doc2 template A (prio (prio1) 1) docmain.xsl <xsl> <xsl> template A (prio (prio2) 2) include doc1.xsl <xsl> <xsl> template A (prio (prio2) 2) doc2.xsl 45 Template A in doc2.xsl gewinnt da es als letztes das Template mit höschster Prio definiert

46 Importieren von Stylesheets XSL <xsl:import> Mittels <xsl:import> können andere Stylesheets eingebunden werden. <xsl:import> muss als erstes Element nach dem <xsl:stylesheet> Root Element erscheinen. Syntax <xsl:import href="uri"/> Die Templates im Hauptstylesheets haben immer Vorrang auch dann wenn die Prio niedriger ist Realisierung einer Überschreibung 46 Importierte Templates untereinander verhalten sich gleich wie bei <xsl:inlcude>

47 XSL <xsl:import> Import von Stylesheets Konflikt von gleichnamigen Templates bei <xsl:import> z.b. Annahme alle 3 Templates A haben gleiche Priorität import <xsl> <xsl> import importdoc1 import importdoc2 template A docmain.xsl <xsl> <xsl> template A import doc1.xsl <xsl> <xsl> template A doc2.xsl 47 Template A in docmain.xsl gewinnt da es sowieso von allen immer die höchste Prio hat

48 XSL <xsl:import> Import von Stylesheets Konflikt von gleichnamigen Templates bei <xsl:import> z.b. import <xsl> <xsl> include includedoc1 doc1 include includedoc2 doc2 template A (prio (prio1) 1) docmain.xsl <xsl> <xsl> template A (prio (prio2) 2) import doc1.xsl <xsl> <xsl> template A (prio (prio2) 2) doc2.xsl 48 Template A in docmain.xsl gewinnt da es sowieso von allen immer die höchste Prio hat

49 XSL <xsl:import> Import von Stylesheets Konflikt von gleichnamigen Templates bei <xsl:import> z.b. import <xsl> <xsl> import importdoc1 import importdoc2 docmain.xsl <xsl> <xsl> template A (prio (prio2) 2) import doc1.xsl <xsl> <xsl> template A (prio (prio2) 2) doc2.xsl 49 Template A in doc2.xsl gewinnt da es als letztes das Template mit höchster Prio definiert

50 XSL <xsl:apply-imports> Importierte Templates anwenden Mittels <xsl:apply-imports> wird versucht die importierten Templates anzuwenden. Templates aus dem Hauptstylesheet werden nicht berücksichtigt Dies ist nützlich um so überschriebene Templates wieder zu aktivieren <xsl:apply-imports> wird wie <xsl:applytemplates> angewendet, jedoch wird kein select Attribut unterstützt Syntax <xsl:apply-imports /> 50

51 XSL <xsl:apply-imports> Importierte Templates anwenden z.b. <xsl:stylesheet... > <xsl:import href="standard.xsl"/> <xsl:template match="/catalog"> <xsl:apply-imports/> </xsl:template> <!-- wird nicht abgearbeitet falls selbes template im "standard.xsl" existiert --> <xsl:template match="cd">... </xsl:template> 51 </xsl:stylesheet>

52 HashSpeicher erzeugen XSL <xsl:key> Falls mehrmals immer auf dieselben Nodes während einer Transformation zugegriffen wird, so lohnt es sich diese Nodes zu indexieren Mittels <xsl:key> kann ein HashSpeicher aufgebaut werden. <xsl:key> ist ein Top Level Element Syntax <xsl:key name="name" match="pattern" use="xpath-expression"/> Mit der XSL Funktion key() kann dann später auf den HashSpeicher zugegriffen werden 52

53 HashSpeicher erzeugen z.b. XSL <xsl:apply-imports> <xsl:stylesheet... > <xsl:key name="cdcountry" match="//cd" <xsl:template match="/"> <!-- CD s nach Herkunftsland verarbeiten --> <xsl:for-each select="key('cdcountry','usa')">... </xsl:for-each> </xsl:template> </xsl:stylesheet> 53

54 Bekannte Probleme in XSL 1.0: XSL Nachteile Keine Möglichkeit Variabeln zu verändern Lösung: Rekursion und Überschreibung der Variabeln in Templates Beim Auswerten von XPath Ausdrücken wird nicht auf die Existenz von Nodes geprüft. Folge z.b. es werden leere Werte zurückgegeben welche nicht erwartet werden. Lösung: Einsatz von Validierung 54

55 Neuerungen in XSL 2.0: XSL Ausblick 2.0 Automatische Umwandlung von Result Tree Fragments (RTF) in NodeSets (DOM) Keine node-set() Funktion mehr notwendig Ausgabe des Prozesses kann in mehrere Dokumente gleichzeitig erfolgen Möglichkeit Gruppen Operationen durchzuführen for-each-group Eigene Funktionen zu definieren und direkt in XPath Ausdrücken zu verwenden. 55 Default Namespaces und externe Dokumente als Text einzulesen

56 XSL - Links W3C XSL: SUN Tutorial: Introducing XSL, XSLT and XPath IBM XSL Tutorial: Hands on XSL Apache Xalan: 56

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

Auszug aus: Helmut Vonhoegen: Einstieg in XML, 3. Auflage, Galileo Press 2005 Kurzreferenz zu XSLT Auszug aus: Helmut Vonhoegen: Einstieg in XML, 3. Auflage, Galileo Press 2005 Diese Anweisung sorgt dafür, dass auf den aktuellen Knoten nur die in das Stylesheet

Mehr

XSL Transformation (XSLT) Teil II

XSL Transformation (XSLT) Teil II XML Vorlesung FH Aargau, SS 2006 XSL Transformation (XSLT) Teil II Erik Wilde 19.6.2006 http://dret.net/lectures/xml-fhnw-ss06/ 19.6.2006 XML Vorlesung FHA SS 2006 1 Übersicht Conflict Resolution Variablen

Mehr

XML Vorlesung FHA SS

XML Vorlesung FHA SS XML Vorlesung FH Aargau, SS 2006 XSL Transformation (XSLT) Teil II Erik Wilde 19.6.2006 Übersicht Conflict Resolution Variablen und Parameter Sortieren Erzeugen des Ausgabebaumes XPath Erweiterungen um

Mehr

http://www.therealgang.de/ Titel : Einführung in XML (Teil 2/2) Author : Dr. Pascal Rheinert Kategorie : Programmierung-Sonstige Teil II: XML (Dokument 2/2) Wichtiger Hinweis: Das folgende Dokument basiert

Mehr

XSLT XSL Transformations

XSLT XSL Transformations XML-Praxis XSLT XSL Transformations Teil 2 Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht weitere XSLT-Techniken: Bedingungen, Verzweigungen Schleifen templates aufrufen Variablen, Parameter Anwendungsbeispiel

Mehr

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

Inhalt des Moduls: Grundlagen. Vorlagen. Kontrollstrukturen. Ausgabestrukturen. Parameter und Variablen. Dateibasierte Auslagerung XSLT Inhalt des Moduls: Grundlagen Vorlagen Kontrollstrukturen Ausgabestrukturen Parameter und Variablen Dateibasierte Auslagerung Grundlagen XSLT (extensible Stylesheet Language for Transformations) ist

Mehr

XSLT XSL Transformations

XSLT XSL Transformations XML-Praxis XSLT XSL Transformations Teil 2 Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht weitere XSLT-Techniken: Bedingungen, Verzweigungen Schleifen templates aufrufen Variablen, Parameter Anwendungsbeispiel

Mehr

XSL Transformations (XSLT) Teil II

XSL Transformations (XSLT) Teil II XML Vorlesung ETHZ, Sommersemester 2006 XSL Transformations (XSLT) Teil II Erik Wilde 6.6.2006 http://dret.net/lectures/xml-ss06/ 6.6.2006 XML Vorlesung ETHZ SS 2006 1 Übersicht Conflict Resolution Variablen

Mehr

Einführung. Hallo-Welt in XSLT

Einführung. Hallo-Welt in XSLT 2. Vorlagen-Technik Inhalt 1. Einführung 2. Vorlagen 3. XPath 4. Kontrollstrukturen 5. Sortierung, Gruppierung und Nummerierung 6. Parameter und Variablen 7. Vorgaben für Ein- und Ausgabeformate 8. Auslagerung

Mehr

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

Verwaltungsaufgaben lösen mit XML und L A T E X Verwaltungsaufgaben lösen mit XML und L A T E X Uwe Siart T E X-Stammtisch München tutorien@siart.de Erstellt: 11. März 2003 Zuletzt geändert: 7. November 2008 Beispiele für Verwaltungsaufgaben 1 Listen

Mehr

Seminar Dokumentenverarbeitung

Seminar Dokumentenverarbeitung XPath und XSL/XSLT Seminar Dokumentenverarbeitung Juni 2002 Jan-Gerrit Drexhage jdrexhag@techfak.uni-bielefeld.de Garvin Gripp ggripp@techfak.uni-bielefeld.de 1 XSLT extensible Stylesheet Language (for

Mehr

XSL Transformation (XSLT) Teil IV

XSL Transformation (XSLT) Teil IV XML Vorlesung FH Aargau, SS 2006 XSL Transformation (XSLT) Teil IV Erik Wilde 3.7.2006 http://dret.net/lectures/xml-fhnw-ss06/ 3.7.2006 XML Vorlesung FHA SS 2006 1 Übersicht XSLT und Schemas Schemas für

Mehr

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

Inhalte. Stylesheet-Wurzel Vorlagen Ausgabe Leerraum Funktionen Kontrollanweisungen & Techniken Sortierung Nummerierung XSLT Inhalte Stylesheet-Wurzel Vorlagen Ausgabe Leerraum Funktionen Kontrollanweisungen & Techniken Sortierung Nummerierung Gruppierung XML-Erstellung Variablen und Parameter Module kombinieren Reguläre

Mehr

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

XML-Praxis. Mit XSLT arbeiten. Jörn Clausen XML-Praxis Mit XSLT arbeiten Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Kontrollstrukturen Bedingungen Schleifen named templates Variablen und Parameter Rekursion XML-Praxis Mit XSLT arbeiten

Mehr

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

XML-Praxis. Mit XSLT arbeiten. Jörn Clausen XML-Praxis Mit XSLT arbeiten Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Kontrollstrukturen Bedingungen Schleifen named templates Variablen und Parameter Rekursion XML-Praxis Mit XSLT arbeiten

Mehr

Projektseminar "Texttechnologische Informationsmodellierung"

Projektseminar Texttechnologische Informationsmodellierung Projektseminar "Texttechnologische Informationsmodellierung" Analyse mit XSLT Ziel diese Sitzung Nach dieser Sitzung sollten Sie: Einen ersten Überblick über Funktionen in XPath haben Stylesheets und Templates

Mehr

Projektseminar "Texttechnologische Informationsmodellierung"

Projektseminar Texttechnologische Informationsmodellierung Projektseminar "Texttechnologische Informationsmodellierung" Formatierung und Transformation http://www.text-technology.de/projects/sekimo.html Ziel dieser Sitzung Nach dieser Sitzung sollten Sie: XPath

Mehr

Transformation von XML-Dokumenten mit XSLT

Transformation von XML-Dokumenten mit XSLT Transformation von XML-Dokumenten mit XSLT Fabian Holzer Proseminar XML - Grundlagen, Verarbeitung und Anwendungen Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl für Systeme der

Mehr

XSL. XSLT und XSL- FO. < Extensible Stylesheet Language /> TransformaLon und PräsentaLon von Metasprachen. Jan Balke und Sven Marquart 1

XSL. XSLT und XSL- FO. < Extensible Stylesheet Language /> TransformaLon und PräsentaLon von Metasprachen. Jan Balke und Sven Marquart 1 XSL < Extensible Stylesheet Language /> XSLT und XSL- FO TransformaLon und PräsentaLon von Metasprachen Jan alke und Sven Marquart 1 Der zweite Teil Wiederholung Kopieren Wahlmöglichkeiten Schleifen Inhalte

Mehr

Web (Site) Engineering (WebSE)

Web (Site) Engineering (WebSE) 1 / 22 Web (Site) Engineering (WebSE) Vorlesung 6: Tools und Programmierung B. Schiemann, P. Reiß Lehrstuhl für Informatik 8 Universität Erlangen-Nürnberg 29.11.2005 2 / 22 Übersicht XML-Beispiel Zugriff

Mehr

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

Templat-Regeln: XSLT Transformation: XML-Dokumente als Bäume: sieben Arten von Knoten. XSLT Verarbeitungsmodell für Templat-Regeln. XSLT Transformation: Templat-Regeln: XSLT Stylesheets: ausgedrückt in einem wohlgeformten XML-Dokument Muster zum Abgleich gegen Knoten im Ursprungsbaum Templat, dessen Körper instantiiert wird, liefert

Mehr

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

XML-Praxis. Mit XSLT arbeiten. Jörn Clausen. XML-Praxis Mit XSLT arbeiten Jörn Clausen joern@techfak.uni-bielefeld.de 1 Übersicht Kontrollstrukturen Bedingungen Schleifen named templates Variablen und Parameter Rekursion 2 Bedingungen Datum nur ausgeben,

Mehr

XSL Templates. Mit Templates arbeiten. XSL Templates

XSL Templates. Mit Templates arbeiten. XSL Templates XSL Templates Mit Templates arbeiten Innerhalb von XSLT werden Templates verwendet. Ein Template ist eine Vorlage für die Transformation bestimmter Knoten. Diese Knoten können Elemente, Attribute oder

Mehr

XSL Transformations (XSLT) Teil I

XSL Transformations (XSLT) Teil I XML Vorlesung ETHZ, Sommersemester 2006 XSL Transformations (XSLT) Teil I Erik Wilde 30.5.2006 http://dret.net/lectures/xml-ss06/ 30.5.2006 XML Vorlesung ETHZ SS 2006 1 Übersicht Herkunft von XSLT XSLT

Mehr

Musterlösung des Übungsblattes 4

Musterlösung des Übungsblattes 4 Musterlösung des Übungsblattes 4 1 Beispieltransformation beginning XML hunter et al. chap.

Mehr

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

Übersicht. Web (Site) Engineering (WebSE) XML-Beispieldokument. Simple API for XML (SAX) [Pro] XML-Beispiel. Vorlesung 6: Tools und Programmierung Übersicht Web (Site) Engineering (WebSE) Vorlesung 6: Tools und Programmierung XML-Beispiel B. Schiemann, P. Reiß Lehrstuhl für Informatik 8 Universität Erlangen-Nürnberg 29.11.2005 Zugriff auf Inhalt,

Mehr

XSLT: Transformation von XML

XSLT: Transformation von XML namics Developer Days 21./22.6.2002 XSLT: Transformation von XML Erik Wilde ETH Zürich http://dret.net/netdret/ 21.6.2002 namics DevDays XSLT 1 Übersicht XML als Format für strukturierte Daten Zugriff

Mehr

XSLT IDE AUTUMN SCHOOL

XSLT IDE AUTUMN SCHOOL 1 Was ist das? (Extensible Stylesheet Language Transformation) ist eine Transformationssprache für XML- Dokumente. 2 Was ist das? W3C-Recommendation: http://www.w3.org/style/xsl/ W3C-Standard seit 1999,

Mehr

Transformation von XML-Dokumenten. IDE SummerSchool 2013, Chemnitz

Transformation von XML-Dokumenten. IDE SummerSchool 2013, Chemnitz Transformation von XML-Dokumenten Folie 1 Was ist XSL politisch? XSL ist eine eigene Technik. Zum Publizieren (Transformieren) von Dokumenten. Früher gab es dafür Verlage und Schriftsetzer, um gute Inhalte

Mehr

4. Kontrollstrukturen

4. Kontrollstrukturen 4. Kontrollstrukturen Inhalt 1. Einführung 2. Vorlagen 3. XPath 4. Kontrollstrukturen 5. Sortierung, Gruppierung und Nummerierung 6. Parameter und Variablen 7. Ein- und Ausgabeformate 8. Auslagerung und

Mehr

Komplexe Transformationen mit XSLT

Komplexe Transformationen mit XSLT XML-Praxis Komplexe Transformationen mit XSLT Jörn Clausen joern@techfak.uni-bielefeld.de 1 Übersicht Sortieren XML erzeugen und weiterverarbeiten modes Daten aus mehreren XML-Dokumenten lesen 2 sorting

Mehr

Grundlagen der Extensible Stylesheet Language

Grundlagen der Extensible Stylesheet Language 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

Mehr

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

Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis HANSER Dirk Ammelburger XML Grundlagen der Sprache und Anwendungen in der Praxis HANSER r 1 Einleitung 2 1.1 Über dieses Buch 3 1.2 Für wen ist das Buch gedacht? 4 1.3 Wie ist das Buch aufgebaut? 5 1.4 Konventionen

Mehr

XSL Transformations (XSLT) Teil I

XSL Transformations (XSLT) Teil I XML Vorlesung ETHZ, Sommersemester 2006 XSL Transformations (XSLT) Teil I Erik Wilde 30.5.2006 http://dret.net/lectures/xml-ss06/ Übersicht Herkunft von XSLT XSLT aus der Ferne betrachtet Template Rules

Mehr

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

Wege zur Anzeige. XSL die extensible Stylesheet Language. Wege zur Anzeige. Folie 1. Institut für Dokumentologie und Editorik 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

Mehr

Konzept und Realisierung Extensible Stylesheet Language

Konzept und Realisierung Extensible Stylesheet Language Konzept und Realisierung Extensible Stylesheet Language Hauptseminar Telematik SS2002 Kai Weber XSL/XSLT 1 Inhalt des Vortrages Wozu dienen Stylesheets Vorstellung der XSL-Sprachfamilie Transformationen

Mehr

XSLT, Teil 3. Udo Kelter

XSLT, Teil 3. Udo Kelter XSLT, Teil 3 Udo Kelter 12.06.2007 Zusammenfassung dieses Lehrmoduls Auch in XML-Datenbeständen hat man das Problem der Verbundbildung, also der Bildung neuer Elemente, die Daten aus verschiedenen Quellen

Mehr

Semistrukturierte Daten

Semistrukturierte Daten Semistrukturierte Daten 7. XSLT Semistrukturierte Daten XSLT Stefan Woltran Institut für Informationssysteme Technische Universität Wien Sommersemester 2011 Stefan Woltran Seite 1 Semistrukturierte Daten

Mehr

Extensible Stylesheet Language Transformations XSLT

Extensible Stylesheet Language Transformations XSLT Extensible Stylesheet Language Transformations XSLT 13.06.2007 Grundlagen der Stylesheets XSLT Extensible Stylesheet Language Transformation Transformation Überführt XML-Daten in ein neues Format wieder

Mehr

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

Übungsbeispiel 1 Erstellen Sie eine Homepage für Ihre Gruppe in XML und überprüfen Sie die Wohlgeformtheit in einem Editor/Browser. Erstellen Sie eine Homepage für Ihre Gruppe in XML und überprüfen Sie die Wohlgeformtheit in einem Editor/Browser. Verwenden Sie folgende XML-Sprachmittel: Leeres Element, geschachtelte Elemente, Element

Mehr

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

XSL. extended Stylesheet Language. Die Stylesheet Sprache für XML XSL extended Stylesheet Language Die Stylesheet Sprache für XML XSL Umformen von XML Dokumenten in andere XML Dokumente HTML Dokumente beliebige andere Formate (TEX, Java, ) Ausgeben von XML Daten auf

Mehr

Einführung in XML. Seminarunterlage. Version 3.05 vom

Einführung in XML. Seminarunterlage. Version 3.05 vom Seminarunterlage Version: 3.05 Version 3.05 vom 8. März 2017 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen oder

Mehr

XSLT 2011/2012 S Seite 1 h_da W

XSLT 2011/2012 S Seite 1 h_da W XSLT Seite 1 Inhalt Einleitung XSLT Arbeitsweise von XSLT Template-Anweisungen XSLT Syntax Beispiele Seite 2 XSLT - Allgemeines XSLT = Extensible Stylesheet Language for Transformation Umformung von XML

Mehr

FileMaker Konferenz 2010 XML / XSLT. Ein Workshop mit [x] cross solution Armin Egginger

FileMaker Konferenz 2010 XML / XSLT. Ein Workshop mit [x] cross solution Armin Egginger XML / XSLT Ein Workshop mit [x] cross solution Armin Egginger [x] cross solution Armin Egginger - Zertifizierter FileMaker Entwickler Urheber von CrossCheck Netzwerk von Datenbankprogrammierern Kunden

Mehr

XSL Transformations (XSLT) Teil III

XSL Transformations (XSLT) Teil III XML Vorlesung ETHZ, Sommersemester 2006 XSL Transformations (XSLT) Teil III Erik Wilde 13.6.2006 http://dret.net/lectures/xml-ss06/ 13.6.2006 XML Vorlesung ETHZ SS 2006 1 Übersicht Tips und Tricks Mengenoperationen

Mehr

XML Vorlesung FHA SS

XML Vorlesung FHA SS XML Vorlesung FH Aargau, SS 2006 XSL Transformations (XSLT) Teil I Erik Wilde 12.6.2006 http://dret.net/lectures/xml-fhnw-ss06/ Übersicht 8 30 9 30 : Test (XML Schema) Herkunft von XSLT XSLT aus der Ferne

Mehr

VU Semistrukturierte Daten 1

VU Semistrukturierte Daten 1 181135 VU Semistrukturierte Daten 1 XSL - Extensible Stylesheet Language (Teil 1) 25.10.2005 Reinhard Pichler Inhalt Stylesheets XSLT Aufbau eines XSLT Stylesheets Abarbeitung eines XSLT Stylesheets Erzeugung

Mehr

XSLT Muster und Lösungen

XSLT Muster und Lösungen XSLT Muster und Lösungen Thomas Bayer Tobias Kieninger Özgür Kipik bayer@oio.de Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de Inhalt Einleitung XSL & XSLT XPath XML Pattern XSLT

Mehr

XSL Transformations (XSLT) Teil III

XSL Transformations (XSLT) Teil III XML Vorlesung ETHZ, Sommersemester 2006 XSL Transformations (XSLT) Teil III Erik Wilde 13.6.2006 http://dret.net/lectures/xml-ss06/ Übersicht Tips und Tricks Mengenoperationen in XPath Keys Modularisierung

Mehr

XSLT 2016 S h_da S Seite 1

XSLT 2016 S h_da S Seite 1 XSLT Seite 1 Inhalt Einleitung XSLT Arbeitsweise von XSLT Template-Anweisungen XSLT Syntax Beispiele Seite 2 XSLT - Allgemeines XSLT = Extensible Stylesheet Language for Transformation Umformung von XML

Mehr

XSL und XSLT. Inhalt. Mathias Heilig email: mathias.heilig@gmx.de. XSL Übersicht. Formatierungsprozess. Sprachbeschreibung. Vorführung Resümee

XSL und XSLT. Inhalt. Mathias Heilig email: mathias.heilig@gmx.de. XSL Übersicht. Formatierungsprozess. Sprachbeschreibung. Vorführung Resümee Mathias Heilig email: mathias.heilig@gmx.de Inhalt XSL Übersicht XSL im XML- Umfeld XSLT XPath XSL- FO Was können wir mit XSLT heute machen? Formatierungsprozess XSLT im XML- Formatierungsprozess Transformation

Mehr

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

XSLT für SAP NetWeaver Process Integration. Transformationssprache für XML Dokumente XSLT für SAP NetWeaver Process Integration Transformationssprache für XML Dokumente Entwicklung und Laufzeit Datenebene Metadatenebene Generieren Generieren Entwicklung ORDERS02 IDocXML Schema Validieren

Mehr

Semistrukturierte Daten

Semistrukturierte Daten Semistrukturierte Daten Teil 8: XSLT 1.0 Sommersemester 2007 8.1. Einführung 8.2. Aufbau von XSLT-Stylesheets 8.3. Abarbeitung von XSLT-Stylesheets 8.4. Result Tree 8.5. Kontrollstrukturen 8.6. Variablen,

Mehr

Inhalt. Stylesheets. Stylesheets XSL VU Semistrukturierte Daten 1. Stylesheets

Inhalt. Stylesheets. Stylesheets XSL VU Semistrukturierte Daten 1. Stylesheets Inhalt 181135 VU Semistrukturierte Daten 1 XSL - Extensible Stylesheet Language (Teil 1) 25.10.2005 Reinhard Pichler Stylesheets XSLT Aufbau eines XSLT Stylesheets Abarbeitung eines XSLT Stylesheets Erzeugung

Mehr

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

XML-Praxis. Einführung in XSLT. Jörn Clausen XML-Praxis Einführung in XSLT Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Extensible Stylesheet Language XSL XSL Transformations XSLT templates Verarbeitung steuern XML-Praxis Einführung in XSLT

Mehr

XSLT, Teil 3. Udo Kelter

XSLT, Teil 3. Udo Kelter XSLT, Teil 3 Udo Kelter 16.05.2018 Zusammenfassung dieses Lehrmoduls Auch in XML-Datenbeständen hat man das Problem der Verbundbildung, also der Bildung neuer Elemente, die Daten aus verschiedenen Quellen

Mehr

Semistrukturierte Daten

Semistrukturierte Daten Semistrukturierte Daten 8. XSLT Semistrukturierte Daten XSLT Stefan Woltran Emanuel Sallinger Institut für Informationssysteme Technische Universität Wien Sommersemester 2014 Stefan Woltran, Emanuel Sallinger

Mehr

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

Erstellen von PDF-Dokumenten für Business-Anwendungen mit XSL-FO Erstellen von PDF-Dokumenten für Business-Anwendungen mit XSL-FO Ich über mich Rudi Gast (rgast@ghs-software.de) seit 2000 angestellt bei der GHS Tätigkeiten: Projektleitung Softwareentwicklung F&E ca.

Mehr

XSLT Vortrag. 2. Beispiel XML. 3. Anwendungsmöglichkeiten von XSLT 4. XHTML

XSLT Vortrag. 2. Beispiel XML. 3. Anwendungsmöglichkeiten von XSLT 4. XHTML XSLT Vortrag 1. Was ist XSLT? XSLT ist eine Transformationssprache für XML Dokumente. XSLT war wahrscheinlich die erste XML basierte Programmiersprache. XSLT ist von der Struktur her Template-Matching,

Mehr

XSLT, Teil 3. Udo Kelter

XSLT, Teil 3. Udo Kelter XSLT, Teil 3 Udo Kelter 15.05.2013 Zusammenfassung dieses Lehrmoduls Auch in XML-Datenbeständen hat man das Problem der Verbundbildung, also der Bildung neuer Elemente, die Daten aus verschiedenen Quellen

Mehr

Eine Schnelleinführung in XSL

Eine Schnelleinführung in XSL Eine Schnelleinführung in XSL Michael Dienert 8. Juli 2014 1 Was ist XSL? XSL ist die Abkürzung von Extensible Stylesheet Language. XSL ist selbst wieder eine XML-Anwendung, d.h. XSL-Dokumente müssen immer

Mehr

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

XSL Transformationen. -Teil 2 - Schwerpunkt: Templates und Kontrollstrukturen. XSL Transformationen - Teil 2 Christina Krieglstein / 66 XSL Transformationen -Teil 2 - Schwerpunkt: Templates und Kontrollstrukturen / 66 Gliederung 1. Templates 1.1 Allgemeine Informationen 1.2 match-attribut 1.3 Eingebaute Template Rules 1.4 xsl:apply-templates

Mehr

XSL Transformation. Eine praxisorientierte Einführung Philip Heck

XSL Transformation. Eine praxisorientierte Einführung Philip Heck XSL Transformation Eine praxisorientierte Einführung Philip Heck Agenda Motivation Hello World - Getting Started with XSLT XSLT Verarbeitung im Detail XPath 2 Motivation datenzentriertes XML als Standard

Mehr

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

Verwendung von Xsl auf einem Computer oder einem Computer (für einen Computer) XSLT, Teil 3 Udo Kelter 17.06.2009 Zusammenfassung dieses Lehrmoduls Auch in XML-Datenbeständen hat man das Problem der Verbundbildung, also der Bildung neuer Elemente, die Daten aus verschiedenen Quellen

Mehr

Komplexe Transformationen mit XSLT

Komplexe Transformationen mit XSLT XML-Praxis Komplexe Transformationen mit XSLT Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Sortieren XML erzeugen und weiterverarbeiten modes Daten aus mehreren XML-Dokumenten lesen XML-Praxis

Mehr

XML-Praxis.

XML-Praxis. XML-Praxis Einführung in XSLT Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Extensible Stylesheet Language XSL XSL Transformations XSLT templates Verarbeitung steuern XML-Praxis Einführung in XSLT

Mehr

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

Linux I II III Res WN/TT NLTK XML Weka E XML BNC XSLT BNC/XML 7 BNC/XML XML BNC XSLT. Ressourcen-Vorkurs BNC/XML 7 BNC/XML XML BNC XSLT extensible Markup Language I XML erlaubt es, strukturierte Daten in Textdateien zu speichern. Zum Schreiben und Lesen von XML-Dateien genügen einfache Text-Editoren wie Emacs

Mehr

XSLT. h_da SS Seite 1

XSLT. h_da SS Seite 1 XSLT Seite 1 Inhalt Beispiele Xquery Einleitung XSLT Arbeitsweise von XSLT Template-Anweisungen XSLT Syntax Beispiele Seite 2 Aufbau eines XQL Dokuments Module ::= VersionDecl? MainModule Beispiele für

Mehr

XSLT XSL Transformations

XSLT XSL Transformations XML-Praxis XSLT XSL Transformations Teil 1 Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Namespaces XPath einfache XSLT-Stylesheets template rules default rules XML-Praxis XSLT XSL Transformations,

Mehr

XML mit Java OpenSource. (c) Mark Egloff 2003 XSL << EXSLT >>

XML mit Java OpenSource. (c) Mark Egloff 2003 XSL << EXSLT >> XSL > 1 Extensions for XSL Transformations EXSLT XSL 1.0 hat noch diverse Mängel an Funktionalität. Eine Initiative www.exslt.org standardisiert vermisste Funktionalität und stellt sie als Stylesheet

Mehr

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

IN A NUTSHELL. Elliotte Rusty Harold & W, Scott Means. Deutsche Übersetzung von Kathrin Lichtenberg & Jochen Wiedmann O'REILLY* 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. IN A NUTSHELL Elliotte Rusty Harold & W, Scott Means Deutsche Übersetzung

Mehr

Verarbeitung von XML-Daten XSLT & XPath. Heiko Paoli (FZI)

Verarbeitung von XML-Daten XSLT & XPath. Heiko Paoli (FZI) Verarbeitung von XML-Daten XSLT & XPath Heiko Paoli (FZI) XML aus der DB: Und was nun? HTML Script-basierte XML Erzeugung Servlet/JSP Frameworks (XSQL, Cocoon) WML Datenbank +XML XML-Datenbank XML??? XML

Mehr

Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken

Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken Aufgabe 1.60 a) Welchen Wert erhält die boolesche Variable z in folgendem Beispiel? int i = 2, j = 5; boolean

Mehr

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

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 24. 10. 2014 Kennnr. Matrikelnr. Familienname Vorname Arbeitszeit: 100 Minuten. Aufgaben sind auf den Angabeblättern zu lösen; Zusatzblätter werden

Mehr

Projektarbeit: Übersetzung von XML-Updatesprachen

Projektarbeit: Übersetzung von XML-Updatesprachen Projektarbeit: Übersetzung von XML-Updatesprachen Hannes Grunert Inhalt I. Aufgabenstellung II. Vergleich von XUpdate und XSLT III.Übersetzung i. XSEL XUpdate ii. XUpdate XSLT IV.Implementierung i. Architektur

Mehr

Texttransformation mit XSLT

Texttransformation mit XSLT Texttransformation mit XSLT Patrick Sahle sahle@uni-koeln.de Ulrike Henny ulrike.henny@uni-koeln.de Texttransformation mit XSLT Was ist XSLT? Wozu braucht man XSLT? Wie funktioniert XSLT? Ein Beispiel

Mehr

XSLT. Gliederung. XSLT Beispiel

XSLT. Gliederung. XSLT Beispiel Gliederung XSLT XSLT XQuery XSL(T) steht für EXtensible Stylesheet Language (Transformation) XSLT transformiert ein XML Dokument in eine anderes XML Dokument XSLT nutzt XPath zum navigieren in XML Dokumenten

Mehr

XSLT XSL Transformations

XSLT XSL Transformations XML-Praxis XSLT XSL Transformations Teil 1 Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Namespaces XPath einfache XSLT-Stylesheets template rules default rules XML-Praxis XSLT XSL Transformations,

Mehr

XSLT extensible Stylesheet Language Transformation

XSLT extensible Stylesheet Language Transformation XSLT extensible Stylesheet Language Transformation Seite 1 Inhaltsverzeichnis 1. Was ist XSLT 3 1.1. Vorteile von XSLT 3 1.2 Anwendungen von XSL 3 2. Ablauf einer XSLT Transformation 4 2.1. Xalan und Xerces

Mehr

Matrikelnummer: Bitte Namen und Matrikelnummer auf jeder Seite der Vorgabe und allen Arbeitsblättern eintragen!

Matrikelnummer: Bitte Namen und Matrikelnummer auf jeder Seite der Vorgabe und allen Arbeitsblättern eintragen! Klausur XML 30.2286 Bitte Namen und Matrikelnummer auf jeder Seite der Vorgabe und allen Arbeitsblättern eintragen! Themenbereich XML und XML/Schema Beantworten Sie an Hand des beiliegenden XMLSchema Dokuments

Mehr

Texttransformation mit XSLT

Texttransformation mit XSLT Texttransformation mit XSLT Ulrike Henny, ulrike.henny@uni-wuerzburg.de 8. September 2016 Zentrum für Informationsmodellierung Austrian Centre for Digital Humanities Elisabethstraße 59/III, SR 81.31 1

Mehr

XSLT, XSL-FO Transformieren und Formatieren

XSLT, XSL-FO Transformieren und Formatieren Fachhochschule Wiesbaden - Fachbereich Informatik XSLT, XSL-FO Transformieren und Formatieren http://www.w3.org/tr/xslt, http://www.w3.org/tr/xsl 24.06.2003 H. Werntges, FB Informatik, FH Wiesbaden 1 Fachhochschule

Mehr

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5. www.hanser.de

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5. www.hanser.de CARL HANSER VERLAG Dirk Ammelburger XML Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5 www.hanser.de 1 1.1 Einleitung... 2 Über dieses Buch... 3 1.2 Für wen ist das Buch gedacht?...

Mehr

XSLT. Prof. Dr.-Ing. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme

XSLT. Prof. Dr.-Ing. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme XSLT Prof. Dr.-Ing. Robert Tolksdorf Freie Universität Berlin Institut für Informatik Netzbasierte Informationssysteme tolk@ag-nbi.de Wie geht es weiter? letzte Woche Navigation & Verknüpfungen mit XPath

Mehr

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

XSL. extended Stylesheet Language. Die Stylesheet Sprache für XML XSL extended Stylesheet Language Die Stylesheet Sprache für XML XPath www.w3.org/tr/xpath Adressierung Die Templates im Stylesheet können nur dann richtig (an der richtigen Stelle) angewandt werden, wenn

Mehr

Übersicht. Web (Site) Engineering (WebSE) Java-Applets II. Java-Applets. Client-basierte Techniken Applets

Übersicht. Web (Site) Engineering (WebSE) Java-Applets II. Java-Applets. Client-basierte Techniken Applets Übersicht Web (Site) Engineering (WebSE) Vorlesung 6: Dynamisierungstechniken für Client und Server B. Schiemann, P. Reiß Lehrstuhl für Informatik 8 Universität Erlangen-Nürnberg 20. 11. 2007 XSL-Verarbeitung

Mehr

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon

Mehr

Klaus Schild, XML Clearinghouse 2003. Transformation von XML-Dokumenten

Klaus Schild, XML Clearinghouse 2003. Transformation von XML-Dokumenten Transformation von XML-Dokumenten Lernziele Warum kann es sinnvoll sein XML-Dokumente zu transformieren? Wie funktioniert XSLT (Extensible Stylesheet Language Transformations)? Was ist XPath? Was sind

Mehr

XSLT, XSL-FO Transformieren und Formatieren

XSLT, XSL-FO Transformieren und Formatieren XSLT, XSL-FO Transformieren und Formatieren http://www.w3.org/tr/xslt, http://www.w3.org/tr/xsl Übersicht zu XSL XSL: Extensible Stylesheet Language Ziel: Darstellung eines XML-Dokuments (Erzeugung von

Mehr

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

1. Einführung 2. DTD 3. XML Schema 4. XPath 5. XSLT 6. XSL-FO 7. XQuery 8. Web Services 9. XML und Datenbanken XSL-FO 1. Einführung 2. DTD 3. XML Schema 4. XPath 5. XSLT 6. XSL-FO 7. XQuery 8. Web Services 9. XML und Datenbanken Inhalt des Moduls: Grundlagen Dokumentaufbau Blöcke Textstruktur Grundlagen XSL-FO

Mehr

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

PRÜFUNG AUS SEMISTRUKTURIERTE DATEN Kennnr. Matrikelnr. Familienname Vorname Gruppe B Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 181.135 27. 6. 2007 Kennnr.

Mehr

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue

Mehr

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

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

Mehr

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

IT-Zertifikat: Daten- und Metadatenstandards. Transformation von XML-Dokumenten mit XSLT (und XPATH) XSLT kurz und knackig. XSLT und die Praxis IT-Zertifikat: Daten- und Metadatenstandards Transformation von XML-Dokumenten mit XSLT (und XPATH) XSLT kurz und knackig I. Was ist XSLT? XSL Transformation (XSLT) ist eine Programmiersprache zur Transformation

Mehr