XSLT. XSLT - Eine Einführung Wintersemester 2002/2003. Universität Bielefeld - Technische Fakultät. Jan Reinkensmeier, Heiko Neuweger

Größe: px
Ab Seite anzeigen:

Download "XSLT. XSLT - Eine Einführung Wintersemester 2002/2003. Universität Bielefeld - Technische Fakultät. Jan Reinkensmeier, Heiko Neuweger"

Transkript

1 XSLT Jan Reinkensmeier, Heiko Neuweger Schriftliche Ausarbeitung zum Seminarvortrag XSLT - Eine Einführung Wintersemester 2002/2003 Universität Bielefeld - Technische Fakultät 1

2 Inhaltsverzeichnis 1 Abstract 3 2 Was ist XSLT Die Stärken von XSLT Verwandte und verwendete Techniken XML: extensible Stylesheet Language CSS: Cascading Stylesheets XPath XQuery XSL-FO Verarbeitung eines XSLT-Stylesheets Dokumentzentrierter Ansatz Verarbeitung von Stylesheets durch XSLT-Prozessoren Ausgewählte Sprachelemente von XSLT <xsl:template> <xsl:apply-template> <xsl:value-of> <xsl:if> <xsl:choose> <xsl:variable> <xsl:call-template> <xsl:for-each> und <xsl:sort> xsl:document(), <xsl:include> und <xsl:import> Übersicht XSLT Prozessoren SAXON XT XSLT C Library for Gnome Microsoft MSXML Aktueller Stand: XSLT Glossar: Abkürzungen und Begriffe 18 9 Literatur 19 2

3 1 Abstract Diese Ausarbeitung soll dem Leser eine Einführung in XSLT bieten und ihm den Zusammenhang zu Techniken und Programmen im Umfeld wie XML, CSS, Xpath und XQuery aufzeigen. Die Stärken und vorrangigen Anwendungsgebiete von XSLT werden beispielhaft erörtert, gleichzeitig soll dem Leser ein Eindruck vermittelt werden wo die Grenzen der XSLT-Technologie zu finden sind. Die grundlegenden Funktionen von XSLT werden anhand eines kleinen Beispielprojekts, das eine Liste von Fakultätsmitarbeitern behandelt, vorgestellt, so dass sich der Leser nach der Lektüre in der Lage befinden sollte erste eigene XSLT-Programme (Stylesheets) zu schreiben. Eine kurze Präsentation der existierenden XSLT-Prozessoren, mit denen sich ein XSLT-Programm ausführen lässt, und der aktuelle Stand von XSLT 2.0 runden diese Ausarbeitung ab. 2 Was ist XSLT XSLT steht für Extensible Stylesheet Language for Transformations. Es handelt sich bei dieser Programmiersprache um eine offizielle Empfehlung des WorldWideWeb Consortiums 1, die in Version 1.0 seit dem 16. November 1999 vorliegt. XSLT ist eine Stylesheet-Sprache, mit deren Hilfe sich XML- Dokumente verarbeiten lassen. Die Ursprünge der Sprache liegen in den Cascading Style Sheets, die sprachliche Mittel zur Definition der Darstellung von HTML-Dokumenten liefern und der weitaus mächtigeren DSSSL (Document Style and Semantics Specification Language). Elemente der beiden Ansätze wurden auf XML übertragen und XSL getauft. XSL besteht nun aus zwei Teilen, erstens XSLT und zweitens XSL-FO für XSL Formatting Objects. XSLT ist eine vollständige funktionale Programmiersprache, sie ist deklarativ, ohne Seiteneffekte und regelbasiert. Unterschiede zu prozeduralen Programmiersprachen finden sich beispielsweise in der Verwendung von Rekursion und der Abarbeitung von Listen zur Steuerung des Programmablaufs anstatt der Verwendung von Iteration und Schleifen. Ein weiteres wichtiges Kriterium der funktionalen Programmierung ist das Prinzip der Werttreue der eingeführten Variablen, sie behalten ihren Wert bis zum Ende des Programmablaufs. 1 im folgenden auch W3C genannt 3

4 2.1 Die Stärken von XSLT XSLT ist keine Programmiersprache, mit der auf einfache Art und Weise grafische Benutzeroberflächen oder Treiber für eine Soundkarte entwickelt werden können, sondern ihre Stärke liegt in der Erzeugung und Umwandlung von Dokumenten im Umfeld von XML. Aus einer zentralen Datenquelle die als XML-Datei vorliegt, können verschiedene Ausgabedateien in beispielsweise HTML, WAP oder andere XML-Formate generiert werden. Durch die Einbindung eines XSLT-Prozessors 2 in den Apache Webserver ist es auch möglich HTML on-the-fly aus XML-Dokumenten zu generieren und als dynamische Webseiten auszuliefern. Ein weiteres Beispiel für die effiziente Anwendung von XSLT ist die Erzeugung von Im- und Exportdateien für unterschiedliche Datenbanken. Da XSLT durch XPath das Parsen und Verarbeiten von XML sehr elegant ermöglicht, spart man sich die umständliche Programmierung eines Parsers in z.b. Perl mit der SAX-API und kann sich ganz auf die Beschreibung des Ausgabeformats beschränken. Da es sich wie bereits oben erwähnt bei XSLT um wohlgeformtes XML handelt, kann ein XSLT-Dokument wieder ein XSLT Dokument erzeugen. In Kombination mit XSL FO sind beliebige Ausgabeformate möglich, beispielsweise auch PDF. 3 Verwandte und verwendete Techniken Um dem Leser eine Abgrenzung und Einordnung von XSLT zu verwandten Technologien zu ermöglichen werden im folgenden XML, Cascading Stylesheets, XPath und XQuery vorgestellt. 3.1 XML: extensible Stylesheet Language Hier soll nur eine sehr kurze Beschreibung von XML stattfinden. Bei XML handelt es sich wie bei HTML um eine Tag-basierte Beschreibungssprache für Dokumente. Mit XML hat man die Möglichkeit seinen Inhalten beliebige Metainformationen hinzuzufügen und eigene Elemente zu definieren. So können für wiederkehrende Szenarien (E-Buisness, Mathematischer Schriftsatz) Namespaces angelegt werden, die eine Menge von Tags beinhalten. Diese Namespaces dienen dann dazu, das jeweilige Szenario zu beschreiben. Die Verarbeitung und Bedeutung der Tags wird nicht durch den Namespace festgelegt. Es handelt sich nur um eine syntaktische Festlegung des Sprachumfangs. XML Dokumente haben folgende Eigenschaften: Sie beginnen immer mit der XML declaration <?xml version= 1.0?>.Nach dieser Deklaration folgt das sogenannte Wurzelelement, das das gesamte Dokument umschließen muß. Ein XML-Element wird beschrieben durch einen Bezeichner, einer beliebigen Anzahl von Attributen mit den jeweiligen Werten und 2 mod xslt 4

5 dem eigentlichen Inhalt. Der Inhalt kann weitere Element-Knoten enthalten. Elemente können geschachtelt werden und leere Elemente sind durch ein abschließendes / zu markieren. Ein Beispiel für ein leeres Element ist <br/> für einen Zeilenumbruch in XHTML. 3.2 CSS: Cascading Stylesheets Bei CSS handelt es sich ebenfalls um eine Stylesheet Sprache. Im Gegensatz zu XSLT ist CSS lediglich ein sprachliches Mittel um die Formatierung von Elementen innerhalb von HTML-Dokumenten zu beschreiben. Cascading Stylesheets werden üblicherweise dazu verwendet, für Internetseiten ein einheitliches Aussehen (oder auch Look And Feel ) festzulegen und dies an einer zentralen Stelle in einem Stylesheet zu beschreiben. Mit CSS hat man weder Einfluss auf die Reihenfolge der Daten noch die Möglichkeit der Verarbeitung derselben. Die Sprache hat also nicht die Mächtigkeit die XSLT bietet. 3.3 XPath XPath ist eine Sprache, die Teile eines XML Dokuments beschreiben und adressieren kann. Sie ist ein Hauptelement von XSLT. Im Gegensatz zu den XSLT Stylesheets wird XPath nicht in XML geschrieben, sie ist jedoch genau wie XSLT ein W3C Standard. Jedes einzelne Element eines XML-Dokument lässt sich durch eine eindeutige XPath-Pfadangabe referenzieren. XPath ermöglicht die Navigation durch ein XML-Dokument, dabei werden verschiedene Achsen, die durchlaufen werden können, unterschieden. Wenn man das XML-Dokument von seinem Wurzelknoten aus hierarchisch durchläuft, folgt man der Eltern-Kind Achse. Elemente auf der gleichen Hierachieebene werden als Geschwister bezeichnet und um auf die Attribute eines Elements zuzugreifen verwendet man die attribute Achse. XPath bietet die Möglichkeit anhand von insgesamt sieben Achsen durch die XML-Knoten zu navigieren. Die wichtigsten Achsen sind child, parent, sibling, descendant und die attribute-achse. Es folgen einige Beispiel für einen XPath Ausdrücke: person/titel Ausgehend vom aktuellen Knoten wird die Menge der titel- Knoten aller person-knoten ausgewählt /person/ /text() Von der Wurzel des XML-Dokuments aus wird der Inhalt des Elements aller person Knoten ausgewählt //gruppe/@id Die Menge der Attribute vom Typ id eines jeden Knotens gruppe in beliebiger Hierachieebene wird ausgewählt 5

6 XPath bietet die Möglichkeit, Bedingungen in XPath-Ausdrücken zu formulieren. m ] wählt nur die männliche Personen im Dokument aus. Funktionen wie count(/person/name/vorname) oder /personenliste/person[contains(title, Dr. )] sowie String und Arithmetische Funktionen sind ebenfalls im Sprachumfang enthalten. 3.4 XQuery Bei XQuery handelt es sich um eine Anfragesprache, die vom W3C verabschiedet wurde. SQL aus der Datenbankwelt hat hier als Vorbild gedient. Die Sprache ist datenorientiert, imperativ und kein XML. XPath ist eine Untermenge von XQuery 3.5 XSL-FO XSL Formating Objects ist neben XSLT der zweite Teil von XSL. Auch hier handelt es sich um eine XML-Sprache, die das Seitenlayout und die Anordnung von Seiteninhalten beschreibt. Mit Hilfe von XSL-FO Sprachelementen können visuelle Eigenschaften des Ausgabedokuments definiert werden. Dazu gehören in erster Linie natürlich Schriften, Farben, Abstände und so weiter. XSL FO ist jedoch weiterhin eine universelle Beschreibungssprache, mit der es auch möglich ist, Einfluß auf die Textrichtung zu nehmen und ganze Zeichensätze zu definieren. Eine elegante Möglichkeit FO zu verwenden ist die Erzeugnug durch XSLT. 6

7 4 Verarbeitung eines XSLT-Stylesheets 4.1 Dokumentzentrierter Ansatz Die Struktur eines XML Dokuments ist baumartig aufgebaut und wenn ein XSLT-Stylesheet auf diesem Dokument zur Anwendung kommt, findet ein Umformungsprozess statt, der aus einem XML Eingabebaum einen umgeformten Ausgabebaum im XML-Format erzeugt. Das Stylesheet definiert Umformungsregeln, die auf die Knoten im XML Dokument angewendet werden. Dazu wird die XPath-Sprache verwendet, die es ermöglicht Knoten im XML Eingabedokument zu adressieren und zu selektieren. Die folgende Grafik stellt einen Teil eines XML Dokuments dar. Rechtecke bezeichnen Element-Knoten, Rauten repräsentieren die Attribut-Knoten. Die Verarbeitung des Dokuments erfolgt rekursiv von Wurzelknoten aus. Dabei werden sogenannte intgerierte Default-Rules angewandt: ˆ Ausgehend von jedem Element- oder Wurzelknoten werden rekursiv alle Kindknoten verarbeitet ˆ Textknoten werden per Default an den Ausagbebaum weitergegeben ˆ Attribut und Parameterknoten werden ignoriert 4.2 Verarbeitung von Stylesheets durch XSLT-Prozessoren XSLT verwendet XPath 3 und XPath-Ausdrücke und XSLT-Templates sind die Basis aller XSLT-Programme, den sogenannten Stylesheets. Stylesheets 3 eine Empfehlung des W3C: siehe [XPATH] 7

8 sind an sich keine lauffähigen Programme, sie werden von einem XSLT- Prozessor ausgeführt. Angewandt auf ein XML Dokument sorgt der XSLT- Prozessor 4 dafür, dass die im XSLT-Stylesheet festgelegten Umformungsund Verarbeitungsregeln durchgeführt werden und ein Ausgabedokument erzeugt wird. Die grundlegende Verarbeitung skizziert die folgende Grafik An dem folgenden kleinen XSLT-Programm lassen sich bereits einige charakteristische Elemente erkennen. Die Zeilennummern dienen der nachfolgenden Beschreibung und sind nicht Teil des Quelltextes. 1 <?xml version= 1.0 encoding= UTF-8 standalone= yes?> 2 <xsl:stylesheet version= 1.0 xmlns:xsl= > 3 <xsl:output method= html /> 4 <xsl:template match= /pliste > 5 <html> 6 <head> 7 <title>personenliste</title> 8 </head> 9 <body> 10 <xsl:apply-templates/> 11 </body> 12 </html> 4 beispielsweise SAXON oder XT 8

9 13 </xsl:template> 14 </xsl:stylesheet> Die erste Zeile legt fest, dass es sich um ein XML Dokument handelt. Da XSLT Programme wohlgeformtes XML sind, ist diese Zeile notwendig für die Definition eines Stylesheets..Zeile zwei enthält das umschließende Tag des eigentlichen Programms <xsl:stylesheet>. Mit den Attributen version und xmlns:xsl wählt man den definierten Namespace von XSL aus und in unserem Fall die Version 1.0. Er ist durch den URI definiert. Das obige Stylesheet soll ein HTML Dokument erzeugen, das wird dem XSLT Prozessor in Zeile drei durch <xsl:output> mitgeteilt. In den Zeilen 4 bis 13 wird ein Template definiert. Templates nehmen eine wichtige Rolle in XSLT-Programmen ein. Sie beschreiben wie Elemente des Eingabedokuments verarbeitet werden und definieren eine Vorlage für die Ausgabe dieser Elemente im Ausgabedokument. Wenn bei der Abarbeitung des XML-Quelldokuments direkt unter dem Wurzelknoten ein Tag mit dem Namen pliste gefunden wird, kommt unser Template zur Anwendung. Im Ausgabebaum wird ein Element angelegt und der Inhalt des Templates (Zeile 5 bis Zeile 12) wird eingetragen. Durch die Verwendung von <xsl:apply-templates/> in Zeile 10 wird die Kontrolle an den XSLT-Prozessor zurückgegeben. Dadurch wird die Verarbeitung des XML-Dokuments bei den Kindknoten vom Element pliste fortgesetzt. Die eingbauten Verarbeitungsregeln sorgen nun dafür, dass die Textknoten aller Personen-Elemente in den Ausgabebaum als Elemente eingehängt werden. Wenn alle Elemente des Eingabedokuments rekursiv durchlaufen wurden, ist die Verarbeitung beendet. Das Programm würde aus folgendem XML-Dokument 1 <?xml version= 1.0 encoding= UTF-8 standalone= yes?> 2 <pliste> 3 <person>mueller</person> 4 <person>meyer</person> 5 </pliste> ein solches Ausgabedokument erstellen 1 <html> 2 <head> 3 <title>personenliste</title> 4 </head> 5 <body> 6 MuellerMeyer 7 </body> 8 </html> 9

10 Die Ausgabe ist noch nicht zufriedenstellend, da die Nachnamen ohne Trennung ausgegeben werden Um sie zu trennen definert man im Stylesheet ein weiteres Template für person, durch das ein Zeilenumbruch angehängt wird. 1 <xsl:template match= person > 2 <xsl:apply-templates/> <br/> 3 </xsl:template> 10

11 5 Ausgewählte Sprachelemente von XSLT Der folgende Abschnitt listet die am häufigsten verwendeten XSLT-Sprachelemente und beschreibt sie jeweils in ihrer Funktion und Anwendung. Exemplarisch wird jeweils der Quellcode an kleinen Code-Fragmenten vorgestellt. 5.1 <xsl:template> Definiert eine Vorlage für die Verarbeitung eines Elements. Diese Vorlage kann XSLT Befehle beinhalten, die den Ablauf der Abarbeitung des Quelldokuments beeinflussen. Wenn beispielsweise <xsl:apply-templates> aufgerufen wird, kann durch einen XPath-Ausdruck im match-attribut das als nächstes zu verarbeitende Element festgelegt werden. Die Inhalte des template-elements werden der Reihenfolge nach ausgegeben. 5.2 <xsl:apply-template> Wird nur innerhalb von Templates verwendet und gibt die Ablaufkontrolle an den XSLT-Prozessor zurück. Das Select-Attribut wählt den nächsten Kontext-Knoten aus. Wenn das select-attribut nicht gesetzt ist, werden alle Kindknoten des aktuellen Kontext-Knotens ausgewählt und verarbeitet. Auf die so ausgewählten Knoten werden entweder passende Templates oder die default rules von XSLT angewendet. 5.3 <xsl:value-of> Wandelt den Wert der mit select ausgewählten Knotenmange in eine Zeichenkette um und schreibt den Wert in den Ergebnisbaum. Die Anwendung ist innerhalb eines <xsl:template>-elements möglich. 5.4 <xsl:if> Bietet eine Möglichkeit der Ablaufsteuerung an. Es handelt sich jedoch um kein vollwertiges, aus anderen Programmiersprachen bekanntes if-then-else, sondern nur um if-then. Die if-bedingung wird zu einem logischen Ausdruck ausgewertet, wobei folgende Regeln gelten Zahl Null = false, sonst true Knotenmenge leere Menge = false, sonst true String Länge Null = false, sonst true Der generelle Aufbau sieht folgendermaßen aus 11

12 <xsl:if test= title="dr." > <strong>doktor</strong> </xsl:if> 5.5 <xsl:choose> Bei <xsl:choose> handelt es sich um ein Äquivalent zu case- oder switch- Anweisungen anderer Programmiersprachen. Die Syntax <xsl:choose> <xsl:when test= Dr. > XSLT-Anweisung </xsl:when> <xsl:when test= Prof. > XSLT-Anweisung2 </xsl:when> <xsl:otherwise> XSLT-Anweisung3 </xsl:otherwise> </xsl:choose> 5.6 <xsl:variable> XSLT bietet vier Datentypen, die direkt von XPath übernommen wurden ˆ boolean ˆ number ˆ string ˆ node-set Die Sichtbarkeit von Variablen bezieht sich nur auf ihre umschließenden Tags. Es ist zu beachten, das die Variablennamen sind und das wie in fuktionalen Progarmmiersprachen üblich, das Prinzip der Werttreue gilt. Beispiel für die Definition von Variablen <xsl:variable name="prozessor" select="xalan"/> <xsl:variable name="kopfzeile"> <h4>telefonliste</h4> </xsl:variable> Aufrufen von Variablen <xsl:value-of select="$kopfzeile"> 12

13 5.7 <xsl:call-template> <xsl:template name="calculatearea"> <xsl:param name="width" select="0"/> <xsl:param name="height" select="0"/> <xsl:value-of select="$width * $height"/> </xsl:template> Benannte Templates entsprechen Funktionen in anderen Programmiersprachen und sind eine Möglichkeit modularen Code zu erzeugen. Wie gewohnt werden die Templates mit <xsl:template> angelegt. Ihr Aufruf erfolgt dann jedoch über einen definerten Namen und nicht über einen XPath- Ausdruck im Match. Eingabeparameter werden mit <xsl:param> definiert, wie im folgenden Beispiel zu sehen: <xsl:call-template name="calculatearea"> <xsl:with-param name="width" select="110"/> <xsl:with-param name="height" select="20"/> </xsl:call-template> Globale Parameter können an ein Stylesheet per Kommandozeile übergeben werden. 5.8 <xsl:for-each> und <xsl:sort> Bei for-each handelt es sich um XSLTs Schleifenoperator, mit dem es möglich ist eine Knotenmenge zu selektieren und anschließend zu verarbeiten. Bei jedem Durchlauf der for-each Schleife ändert sich der aktuelle Kontextknoten. Unter Verwendung von <xsl:sort> lässt sich ein Sortierkriterium für den aktuellen Kontext angeben. Dadurch wird temporär die Knotenreihenfolge verändert. Weitere Sortierkriterien können durch zusätzliche <xsl:sort> Ausdrücke angegeben werden. <xsl:template match="personenliste"> <xsl:for-each select="person[@status= Wiss.Ang. ]"> <xsl:sort select="name/nachname"/ order="ascending"> <xsl:value-of select="$kopfzeile"> <xsl:value-of select="position()"/> <xsl:appply-templates select="."/> <xsl:call-template name= newline /> </xsl:for-each> </xsl:template> 13

14 5.9 xsl:document(), <xsl:include> und <xsl:import> Diese Sprachelemente ermöglichen die Verknüpfung von Dateien. Mit xsl:document() lassen sich weitere XML Dokumente verarbeiten. <xsl:include> und <xsl:import> erlauben es weitere Stylesheets zu verwenden. Dadurch wird es möglich, Bibliotheksfunktionen zu nutzen und den XSLT-Code zu modularisieren. 14

15 6 Übersicht XSLT Prozessoren Die nachfolgende Tabelle zeigt eine Übersicht einiger existierenden XSLT- Prozessoren mit ihren Merkmalen und Betriebssystemen, auf denen sie verwendet werden können. Sie wurde [XSLTPROCS] entnommen. Prozessor Version Lizenz Plattform Sprache XSLT Xalan-J ASF Java Java 1.0, teilw. 2.0 Saxon MPL Java Java 1.0, teilw. 1.1 Saxon ab 7 MPL Java Java 1.0, teilw. 1.1 teilw. 2.0 XT a Open Java Java teilw. 1.0 Source Xalan-C ASF Windows, Linux, C Solaris, AIX Sablotron 0.96 MPL Linux, Windows C++? und GPL Solaris, FreeBSD, OpenBSD... Gnome MIT Linux, UNIX, Ansi C? libxslt Windows MSXML 4.0 MS Windows C, C SAXON Der Saxon XSLT-Prozessor [SAXON] ist einer der ersten der den XSLT Standard 1.0 implemetiert. Er wurde seit 1998 vom Michael Kay in Java entwickelt und ist somit plattformunabhängig verwendbar. Es handelt sich bei dem Paket um eine Sammlung von Tools für die Verarbeitung vom XML Dokumenten. Die Hauptkomponenten sind ˆ ein XSLT Prozessor, der den vollen Funktionsumfang der Version 1.0 von XSLT und XPath umfasst. ˆ eine Java Bibliothek, die ein ähnliches Verarbeitungsmodell für XSLT verwendet, aber dem Anwender mehr Flexibilität und Einfluß bietet. Es wird dadurch möglich Komplexe Operationen auf den Daten zu realisieren oder externe Datenquellen wie relationale Datenbanken einzubinden. 15

16 6.2 XT XT ist ein in Java implementierter Open Source XSLT Prozessor, der sich durch eine hohe Verarbeitungsgeschwindigkeit auszeichnet. Er wurde ursprünglich von James Clark entwickelt und wird heute von Bill Lindsey weiterentwickelt. XSLT 1.0 wird von XT nur teilweise unterstützt. Bei Stylesheets, die keinen Gebrauch von Namespaces und Zahlenformatierung mit xsl:decimal-format und format-number() machen, kann XT eine Alternative sein, wenn die Geschwindigkeit der Transformation entscheident ist. 6.3 XSLT C Library for Gnome Für das Gnome Projekt wurde libxslt, eine XSLT Bibliothek in C von Daniel Veillard entwickelt. Die Bibliothek kann in eigene Projekte eingebunden werden. Die Kommandozeile wird UNIX üblich ebenfalls unterstützt. 6.4 Microsoft MSXML Die Microsoft(R) XML Core Services bieten neben einem Parser und Schema Unterstützung auch einen XSLT Prozessor. MSXML ist zunächst nur eine Bibliothek in Form einer DLL, die in eigenen Programmen verwendet werden kann. Der Wrapper MSXSL ist für die Kommandozeile als separater Download von Microsoft erhältlich. MSXML kann vom Internet Explorer für Client-seitige XSLT Transformationen verwendet werden. 16

17 7 Aktueller Stand: XSLT 2.0 XSLT 2.0 hat zum jetzigen Zeitpunkt den Status Working Draft, das W3C ist aber dabei diesen Standard als Recommendation zu verabschieden. Es wird XPath 2.0 verwenden, das im Vergleich zur ersten Version mit wesentliche Neuerungen versehen wurde. So sind alle primitiven Datentypen wie string, boolean oder auch date aus der XML Schema-Spezifikation übernommen worden, wodurch sich gegenüber XPath 1.0 ein deutlich breiteres Spektrum an Datentypen ergibt. Die bekannten XML-Knoten-Datentypen (element, attribute, comment usw.) sind hier ebenfalls enthalten. Zu dem sehr breiten Spektrum an Datentypen ergibt sich auch eine große Anzahl vordefinierter Funktionen, die auf diesen Datentypen operieren. Mit den Sequenzen (sequences) ist ein zentraler Datentyp hinzugekommen, der die aus XPath 1.0 bekannten Knotenmengen (node-sets) ablöst. Zentraler Gedanke dabei ist, dass Knotenmengen streng genommen keine Ordnung besitzen können. Die Anordnung einer Knotenmenge nach der Anordnung des XML-Dokuments (z.b. bei der Prozessierung in XSLT-Stylesheets) war lediglich eine Konvention. Eine Sequenz stellt dagegen eine angeordnete Liste dar, die die Dokumentknoten stets in der Dokumentreihenfolge verwaltet. Sequenzen können aber auch beliebige andere unterstützte Datentypen enthalten und stellen damit einen sehr leistungsfähigen Datentyp dar. Auserdem besitzt XPath 2.0 Quantifikatoren (some und every) und unterstützt Mengenoperationen (intersect, except). Neben diesen Erweiterungen von XPath, von denen XSLT natürlich profitiert, hat sich auch an dem XSLT Sprachumfang einiges getan. Die Transformationen von XSLT 2.0 können nun mehrere Ausgabebäume gleichzeitig erzeugen. XSLT 2.0 wird eine eingebaute Unterstützung für das Gruppieren enthalten (xsl:for-each-group, current-group()), die das umständliche Vorgehen in der aktuellen Version ablöst. Die Definition von nutzerdefinierter Funktionen direkt in XSLT mittels xsl:function wird möglich sein und die Stringverarbeitung wird durch das mächtige Werkzeug der regulären Ausdrücke erweitert. Alles in allem handelt es sich um sehr wünschenswerte und sinnvolle Erweiterungen, die XSLT zu einer noch flexibleren Sprache machen werden. 17

18 8 Glossar: Abkürzungen und Begriffe XML Extensible Markup Languag SAX Simple API for XML DOM Document Object Model XSL Extensible Stylesheet Language XPath XML Path Language XSLT XSL Transfomations XSL FO XSL Formatting Objects API Application Programming Interface DTD Document Type Definition URI Uniform Resoure Indicator 18

19 9 Literatur [XSLTde] Klute, Thomas (2002): XSL Transformations (XSLT) Version 1.0 Deutsche Übersetzung Zugriff am [SAXON] Kay, Michael H. (2003): The SAXON XSLT Processor Zugriff am [XPATH] W3C (1999): XML Path Language (XPath) Version Zugriff am [XSLTPROCS] (2003): XSLT Prozessoren ( Saxon, MSXSL, Xalan, XT u. Co.) Zugriff am [XMLKURS] Clausen, Joern (2002): XML Praxis: Vorlesungsmaterialien Zugriff am

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

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

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

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

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

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

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

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

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

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

Ü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

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

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

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

mach,, Benjamin Kurtz, Bastian Bonnermann

mach,, Benjamin Kurtz, Bastian Bonnermann Folie 1 Seminarvortrag in Multimedia- & Web-Technologie von: Markus Wißmach mach,, Benjamin Kurtz, Bastian Bonnermann Für den Seminarvortrag mit dem Thema XSL/XSLT wurde das Fachbuch XSLT von Doug Tidwell

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

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

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

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

XML-Verarbeitung. XPath XSL die extensible Stylesheet Language. Torsten Schaßan SCRIPTO Modul 4: EDV Wolfenbüttel 25.-29.6.2012. XML-Verarbeitung XPath XSL die extensible Stylesheet Language Folie 1 Was ist XSL? - Mehrere Komponenten: - XSLT Transformations - XSL-FO Formatting Objects - XPath - (XML-Schema) - Ausgabeformate: - XML,

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

Einführung in XML Extensible Markup Language

Einführung in XML Extensible Markup Language Einführung in XML Extensible Markup Language XML Extensible Markup Language Seminarvortrag Komponentenarchitekturen WS 2008/2009 Inhaltsverzeichnis Folien der Präsentation...1 Erläuterungen zu den Beispieldateien...11

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

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

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

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

X-Technologien. XML and Friends. Jörn Clausen joern@techfak.uni-bielefeld.de. 9. Juli 2001

X-Technologien. XML and Friends. Jörn Clausen joern@techfak.uni-bielefeld.de. 9. Juli 2001 X-Technologien XML and Friends 9. Juli 2001 Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht XML SAX DOM XSL XPath XSLT XSL FO Extensible Markup Language Simple API for XML Document Object Model Extensible

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

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

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

XML Extensible Markup Language

XML Extensible Markup Language XML-Praxis XML Extensible Markup Language Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Woher? Wohin? Warum? Bestandteile von XML XML-Dokumente erstellen und bearbeiten XML-Praxis XML Extensible

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

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

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

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

Präsentation von XML-Dokumenten mit Hilfe von Stylesheets

Präsentation von XML-Dokumenten mit Hilfe von Stylesheets Präsentation von XML-Dokumenten mit Hilfe von Stylesheets 02.05.2006 Kevin Adrian Sandra Aufenberg Peter Henschel Igor Ionov Eva Lai Stylesheets - Definition beschreiben, wie Dokumente angezeigt werden

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

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

Inhaltsverzeichnis. Teil 1 Grundlagen 5. Teil 2 Formatierung 31 INHALTSVERZEICHNIS

Inhaltsverzeichnis. Teil 1 Grundlagen 5. Teil 2 Formatierung 31 INHALTSVERZEICHNIS Inhaltsverzeichnis Vorwort 1 Was hat XML, das HTML nicht hat?......................................... 1 Zu diesem Buch.......................................................... 3 Die Website zum Buch....................................................

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

Buchstabensuppe. Standards für die Präsentation von XML-Instanzen

Buchstabensuppe. Standards für die Präsentation von XML-Instanzen W. Schubert, Siemens ICM N IS P23-1- Buchstabensuppe Standards für die Präsentation von XML-Instanzen Walther Schubert Siemens ICM N IS P23 und Manfred Krüger MID/Information Logistics Group GmbH XML Name

Mehr

... MathML XHTML RDF

... MathML XHTML RDF RDF in wissenschaftlichen Bibliotheken (LQI KUXQJLQ;0/ Die extensible Markup Language [XML] ist eine Metasprache für die Definition von Markup Sprachen. Sie unterscheidet sich durch ihre Fähigkeit, Markup

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

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

1 Was ist XML? Hallo XML! Kommentare in XML 52 Inhalt Vorwort 13 Einleitung und Ziel des Buches 15 1 Was ist XML? 21 1.1 XML ein Definitionsversuch 21 1.2 XML und HTML wo sind die Unterschiede? 22 1.3 XSLT 24 1.4 Einsatzgebiete von XML und XSLT 25

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

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester 2015. Fachbereich MNI Technische Hochschule Mittelhessen

Datenbanksysteme. XML und Datenbanken. Burkhardt Renz. Sommersemester 2015. Fachbereich MNI Technische Hochschule Mittelhessen Fachbereich MNI Technische Hochschule Mittelhessen Sommersemester 2015 Übersicht Semistrukturierte Daten Dokumenttypdefinition XML-Schema XML aus Datenbank konstruieren XML in Datenbank speichern Merkmale

Mehr

DOM Document Object Model

DOM Document Object Model DOM Document Object Model J. Schneeberger Das Document Object Model (DOM) W3C Spezifikation Benutzt die Baumstruktur des (XML/HTML) Dokuments Programmierschnittstelle (API) für HTML- und XML-Dokumente

Mehr

XSLT, XPath und XQuery Marco Skulschus Marcus Wiederstein Sarah Winterstone

XSLT, XPath und XQuery Marco Skulschus Marcus Wiederstein Sarah Winterstone www.comelio-medien.com XSLT, XPath und XQuery Marco Skulschus Marcus Wiederstein Sarah Winterstone XSLT, XPath und XQuery Marco Skulschus Marcus Wiederstein Sarah Winterstone XSLT, XPath und XQuery Marco

Mehr

Seminar: XML und intelligente Systeme

Seminar: XML und intelligente Systeme Seminar: XML und intelligente Systeme XML-Navigation: XPath, E4X Christoph Weitkamp cweitkam@techfak.uni-bielefeld.de Einleitung XPath ist eine Sprache, um Informationen in XML-Dokumenten zu finden Modellierung

Mehr

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

Einführung: Installation und Anpassung der Site zum Buch 15 XML, XSLT, VB und ASP Praktisches XML-Wissen für Webprojekte Elmar Geese, Markus Heiliger, Matthias Lohrer Galileo Computing 350 S., 2001, geb., mit CD 34,90 Euro, ISBN 3-89842-109-0 Inhalt Vorwort 11

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

<Trainingsinhalt> XML umsetzen und nutzen

<Trainingsinhalt> XML umsetzen und nutzen XML umsetzen und nutzen i Inhaltsverzeichnis Einführung 11 Das Problem mit HTML 12 Die Stärke von XML 13 Die XML-Helfer 14 XML im wirklichen Leben 15 Zu diesem Buch 16 Was Sie hier nicht

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

Ü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

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

Klinikum Göttingen BE Tumorzentrum XML-Schema und TuDaSch-XML Klinikum Göttingen BE Tumorzentrum XML-Schema und TuDaSch-XML Kapitel Seite 1 Vorbemerkung 3 2 XSLT 4 2.1 Arbeitsweise eines XSLT Prozessors 2.1.1 Das Tag 2.1.2 Das Tag

Mehr

Projektseminar Texttechnologische Informationsmodellierung

Projektseminar Texttechnologische Informationsmodellierung Projektseminar Texttechnologische Informationsmodellierung XQuery Ziele der Sitzung Nach dieser Sitzung sollten Sie: XQuery als wesentlichen Standard zur Abfrage von in XML kodierten Daten kennen Mit Hilfe

Mehr

Diese neuen Gestaltungsmöglichkeiten können nun auf den Web-Anzeigenmarkt angewandt werden: Wissensbaustein»Anzeigenmarkt: CSS-Einsatz«(S.

Diese neuen Gestaltungsmöglichkeiten können nun auf den Web-Anzeigenmarkt angewandt werden: Wissensbaustein»Anzeigenmarkt: CSS-Einsatz«(S. 128 5XHTML&CSS* Wissensbaustein»CSS: ID-Attribut«(S. 180) Wissensbaustein»CSS: Umrandungen«(S. 182) Wissensbaustein»CSS: Füllungen & Abstände«(S. 185) Wissensbaustein»CSS: Pseudo-Klassen & -Elemente«(S.

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

Kursinhalte. Kompakt-Intensiv-Training. XSL, XSLT, FO - Einstieg für XML

Kursinhalte. Kompakt-Intensiv-Training. XSL, XSLT, FO - Einstieg für XML XSL, XSLT, FO - Einstieg für XML Kompakt-Intensiv-Training In unserer fünftägigen Schulung "XSL, XSLT, FO - Einstieg für XML" erlangen Sie ein fundamentales Verständnis der Transformation von XML-Dokumenten

Mehr

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 9. Mediendokumente 9.1 Generische Auszeichnungssprachen: XML 9.2 XML und Style Sheets 9.3 XML für Multimedia: SMIL 9.4 XML Transformationen: XSLT Weiterführende Literatur: M. Knobloch, M. Kopp: Web-Design

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

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

Inhaltsverzeichnis. 1 Grundlagen. Vorwort VII

Inhaltsverzeichnis. 1 Grundlagen. Vorwort VII Vorwort 1 DocBook in 10 Minuten 1.1 XML als universelle Datenstruktur 1.2 Ein DocBook-Dokument entsteht 1.3 Überprüfen eines DocBook-Dokuments 1.4 Umwandlung von DocBook 1.5 Die Reise beginnt... VII 1

Mehr

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder holger.roeder@informatik.uni-stuttgart.de.

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder holger.roeder@informatik.uni-stuttgart.de. Java: Kapitel 9 Java und XML Programmentwicklung WS 2008/2009 Holger Röder holger.roeder@informatik.uni-stuttgart.de Überblick über Kapitel 9 Einführung in XML XML-Verarbeitung in Java Document Object

Mehr

XML Extensible Markup Language

XML Extensible Markup Language XML-Praxis XML Extensible Markup Language Jörn Clausen joern@techfak.uni-bielefeld.de 1 Übersicht Woher? Wohin? Warum? Bestandteile von XML XML-Dokumente erstellen und bearbeiten 2 Was ist XML? Daten sind

Mehr

XML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

XML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen XML-Abfragesprachen XML-Schemasprachen DTD XML-Schema... XPath XQuery XML XML-Transformationssprache XSLT Relationale DBMS XML in DBMS Dedizierte XML-DBMS 13 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

Mehr

XML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

XML. Einführung, XML-Grundlagen und -Konzepte. XPath DTD. XQuery. XML-Schema XSLT XML-Grundlagen, -Sprachen, -Datenhaltungsfragen XML-Abfragesprachen XML-Schemasprachen DTD XML-Schema... XPath XQuery XML XML-Transformationssprache XSLT Relationale DBMS XML in DBMS Dedizierte XML-DBMS 12 XML-Grundlagen, -Sprachen, -Datenhaltungsfragen

Mehr

XML 1. Einführung, oxygen. Ulrike Henny. ulrike.henny@uni-koeln.de. IDE Summer School 2013, Chemnitz

XML 1. Einführung, oxygen. Ulrike Henny. ulrike.henny@uni-koeln.de. IDE Summer School 2013, Chemnitz XML 1 Einführung, oxygen Ulrike Henny ulrike.henny@uni-koeln.de XML extensible Markup Language Was ist XML? XML-Grundlagen XML-Editoren, oxygen HTML + CSS XPath Übungen Literatur Folie 2 Was ist XML? extensible

Mehr

Single Source Publishing mit XML

Single Source Publishing mit XML Single Source Publishing mit XML Thomas Nindel Betreuer: Hans J. Günther Seite 1/1 Bibliografische Beschreibung und Autorenreferat NINDEL, Thomas, Berufsakademie Sachsen, Staatliche Studienakademie Dresden,

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

XSLT (XSLT) Lernziele

XSLT (XSLT) Lernziele XSLT (XSLT) Lernziele Sie haben das Prinzip des XSLT-Transformationsprozesses verstanden. Sie sind in der Lage, ein XSLT-Stylesheet mit einem XML-Dokument zu verknüpfen. Sie sind in der Lage, Stylesheets

Mehr

Wirtschaftsinformatik (PWIN) 5. Mentorium. Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 1

Wirtschaftsinformatik (PWIN) 5. Mentorium. Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 1 Wirtschaftsinformatik (PWIN) 5. Mentorium Algorithmen & XML Wirtschaftsinformatik (PWIN), SS2010, Professur für Mobile Business & Multilateral Security 1 Was ist ein Algorithmus? Präzise formulierte Verarbeitungsvorschrift

Mehr

XML-Praxis.

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

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

Gruppe A PRÜFUNG AUS SEMISTRUKTURIERTE DATEN 184.705 2. 12. 2013 Kennnr. Matrikelnr. Familienname Vorname

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

Mehr

Inhaltsverzeichnis. Teil 1 - XM L Einleitung Motivation...15

Inhaltsverzeichnis. Teil 1 - XM L Einleitung Motivation...15 Inhaltsverzeichnis 1 Einleitung...11 2 Motivation...15 Teil 1 - XM L......17 3 Geschichte von X M L...17 3.1 Markupsprachen...17 3.1.1 Auszeichnungsarten...17 3.1.2 Markupsprachen...20 4 Zeichensatz...

Mehr

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

Einführung in XML. Arthur Brack FHDW Hannover. 1. Oktober 2009 Einführung in XML Arthur Brack FHDW Hannover Inhalt Was ist XML? Warum XML? Aufbau von XML-Dokumenten Ausblick XML-Schemasprachen XPath XSLT Zusammenfassung Literatur Einführung in XML 2 / 14 Was ist XML?

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

APEX und Apache FOP Freie PDF-Erstellung mit APEX 3.0.1

APEX und Apache FOP Freie PDF-Erstellung mit APEX 3.0.1 APEX und Apache FOP Freie PDF-Erstellung mit APEX 3.0.1 Dr. Gudrun Pabst Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München Stuttgart Agenda Kürzel: XML, XSL, XSLT,

Mehr

XML Extensible Markup Language

XML Extensible Markup Language XML light XML Extensible Markup Language Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Woher? Wohin? Warum? Bestandteile von XML XML-Dokumente erstellen und bearbeiten XML light XML Extensible

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

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für für Medientechnologen Dr. E. Schön Wintersemester 2015/16 Seite 146 Notwendigkeit: Programmierschnittstelle Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

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

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr

Streaming Transformations for XML STX

Streaming Transformations for XML STX Streaming Transformations for XML STX Oliver Becker Humboldt Universität zu Berlin wiss. Mitarbeiter am Institut für Informatik, Lehrstuhl für Systemarchitektur obecker@informatik.hu-berlin.de Abstract:

Mehr

XPath Lokalisierspfade Achsen in Lokalisierungsschritten

XPath Lokalisierspfade Achsen in Lokalisierungsschritten Achsen in Lokalisierungsschritten self-achse Kontextknoten selbst child-achse Kindknoten des Kontextknotens in Dokumentreihenfolge parent-achse Elterknoten des Kontextknotens attribute-achse Attributknoten

Mehr

1 ZUR EINSTIMMUNG............................................ 13 1.1 AUFBAU DES BUCHES.......................................... 13 1.2 VORAUSSETZUNGEN FÜR DIESES BUCH.............................. 14

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

Dataport IT Bildungs- und Beratungszentrum. Access Grundlagenseminar Access Aufbauseminar... 3

Dataport IT Bildungs- und Beratungszentrum. Access Grundlagenseminar Access Aufbauseminar... 3 Inhalt Access 2010 - Grundlagenseminar... 2 Access 2010 - Aufbauseminar... 3 Access 2010 - Von Excel zu Access... 4 Access 2010 - Programmierung Teil 1... 5 Access 2010 - Programmierung Teil 2... 6 Grundlagen

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

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

5. Programmierschnittstellen für XML

5. Programmierschnittstellen für XML 5. Programmierschnittstellen für Grundlagen Dr. E. Schön FH Erfurt Sommersemester 2015 Seite 135 Programmierschnittstelle Notwendigkeit: Zugriff auf -Daten durch Applikationen wiederverwendbare Schnittstellen

Mehr

Dokumentverarbeitung

Dokumentverarbeitung Dokumentverarbeitung D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Winter 2012/13, 2. November 2012, c 2010-13 D.Rösner D. Rösner

Mehr

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

Einführung in XML Torsten Schaßan SCRIPTO digital Wolfenbüttel Einführung in XML Was ist XML? XML steht für extensible Markup Language. XML trennt Struktur, Inhalt und Aussehen von Dokumenten. XML ist eine Meta-Sprache, welche Regeln zur Formulierung von Auszeichnungssprachen

Mehr

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

bitflux CMS ein crossmedia-fähiges opensource System ein Vortrag von Marcel Linnenfelser bitflux CMS 1 bitflux CMS ein crossmedia-fähiges opensource System ein Vortrag von Marcel Linnenfelser bitflux CMS 2 0 Gliederung Einführung Verwendete Technologien Architektur GUI Zusammenfassung Bewertung

Mehr

Informationsextraktion mit XSLT

Informationsextraktion mit XSLT 1/29 Informationsextraktion mit XSLT + Einbindung in eine Pythonanfrage an Wikipedia/Dbpedia Jani Takhsha HS Information Retrieval Institut für Computerlinguistik Universität Heidelberg 12. Januar 2015

Mehr

Fragestunde: Neuerungen in XQuery und XSLT

Fragestunde: Neuerungen in XQuery und XSLT Seite 1, Druckdatum: 22.02.2006, 22:59 Uhr Fragestunde: Neuerungen in XQuery und XSLT Mit XQuery und XSL-T/XPath existieren zwei Ansätze zur Verarbeitung von XML Daten. Felix Sasaki & Jan-Torsten Milde

Mehr