104
Ein Vortrag im Rahmen des Seminars „ WWW und Datenbanken“ SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

Embed Size (px)

Citation preview

Page 1: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

Ein Vortrag im Rahmen des Seminars

„ WWW und Datenbanken“

SS 2001

XSL - Dokumente mit Stil

Referent: Fabian Wleklinski

Page 2: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 2

Einleitung

Ziele des Vortrags: Warum XSL? XSLT?

XSL FO? XPath? Grundverständnis wichtigste Elemente

nicht Ziel des Vortrags: Syntax pauken

XSL lernt sich wie HTML am Besten „in der Praxis“

Page 3: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 3

Einleitung

Tagesordnung: Informationswirrwarr XSL XSLT XPath XSL FO XSL – Ein Beispiel XSL – Zusammenfassung Ausblick Software Literatur

Page 4: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 4

Informationswirrwarr

unzählige Formate für Informationen

teils standardisiert, teils proprietär

.html, .ps, .pdf, .doc, .rm, .mp3, .wma, .jpg, .png, .ppt, .lyx, .bmp, .lwp, .vcf, ....

Page 5: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 5

Informationswirrwarr

Informationsaustausch im Alltag? erschwert durch inkompatible Formate oft ist Datenkonvertierung nötig je nach Format spezifisches Vorgehen „unlösbares“ Problem für exotische Formate

Für Teilbereiche existieren Quasi-Standards HTML, PowerPoint, Excel, ...

Page 6: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 6

Informationswirrwarr

60er Jahre: Entwicklung der GML bei IBM Generalized Markup Language

80er Jahre: Entwicklung der SGML Standard Generalized Markup Language 1986 zum ISO-Standard setzt sich nur in wenigen Bereichen durch, da

komplex und Software schwer zu programmieren

populärste Anwendung: HTML

Page 7: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 7

1996: DSSSL wird ISO-Standard Stilsprache für SGML erlaubt Umwandlung von SGML Dokumenten, z.B.

SGML HTML genauso kompliziert wie SGML selber

1996: W3C verabschiedet CSS Zuweisen von physischen zu logischen

Auszeichnungen physische Auszeichnungen sind: Schriftfarbe, -größe, kursiv, ... logische Auszeichnungen sind: Überschrift, Absatz, Fußzeile, ...

Informationswirrwarr

Page 8: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 8

Informationswirrwarr

1997: W3C verabschiedet XML Teilmenge von SGML Notbehelf: Formatierung mittels CSS

1997: XSL- Vorschlag bei W3C eingereicht Microsoft, ArborText, Inso, Henry Thompson,

James Clark (DSSSL-Engine „Jade“)

Aber was ist XSL... ???

Page 9: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 9

XSL

Stilsprache von XML in XML-Syntax ähnlich zu DSSSL „XSL is based on

DSSSL, which is based on Lisp. It is amazing what people will do to avoid Lisp“

Page 10: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 10

XSL

Forderungen: einfache Nutzung über das Internet XML-Syntax deklarative Sprache für Textformatierungen wie

bei CSS oder DSSSL vorhanden „als letzte Möglichkeit“eine Skriptsprache, um

komplexe Formatierungen und Erweiterbarkeit zu garantieren

Page 11: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 11

XSL

Forderungen: schnelle Entwicklung von XSL-Anwendungen XSL-Dokumente sollen intuitiv lesbar sein Im Allgemeinen in .xsl-Dateien enthalten

Page 12: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 12

XSL

Einfaches Beispiel:

<?xml version="1.0" encoding="UTF-8"?><xsl:template xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <html><body> <xsl:value-of select="mail/autor/name"/> </body></html></xsl:template>

Page 13: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 13

XSL

3 Bestandteile: XSLT (XSL Transformations) XPath (XML Path Language) XSL FO (XSL Formatting Objects)

XSLT ist die „revolutionärste Neuerung“ XSLT ist nur 1 der 3 Komponenten von XSL XSL FO gehören nicht zu XSLT, sondern zu XSL! XPath gehört nicht zu XSLT, auch nicht zu XSL,

sondern ist eigenständig! (vgl. XLink)

Page 14: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 14

XSL

Status: XSL 1.0 Candidate Recommendation XSLT 1.0 Recommendation XSLT 1.1 Working Draft XSLT 2.0 req. Working Draft XPATH 1.0 Recommendation XPATH 2.0 req. Working Draft

Page 15: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 15

XSL

SGML

XML

DSSSL

XSL

HTML CSS

XHTML

Page 16: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 16

XSL

XML XSL

XSL FO

XSLT

XPath

Page 17: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 17

XSL

Streng genommen muss man einen XSL- und einen XSLT-Prozessor unterscheiden

„XSLT-Prozessor“ ist der übliche Ausdruck Ein „XSL Prozessor“ ist eine Software die

ein XML Quelldokument und ein XSL Dokument liest die XSL-Befehle auf das XML Quelldokument anwendet ein XML Zieldokument erzeugt

Page 18: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 18

XSL

Wie arbeitet ein XSL Prozessor? aus dem XML Quelldokument eine

Baumstruktur erzeugen, den „Quellbaum“ XSL-Befehle anwenden, dabei „Zielbaum“

aufbauen aus erzeugtem Zielbaum die XML Zieldatei

schreiben Schritt 3: Zielbaum interpretieren, um

Formatierung zu ermöglichen Die meisten XSL Anwendungen

unterstützen keine XSL FO!

Page 19: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 19

XSL

Zielbaum kann völlig andere Struktur besitzen als original-XML-Baum!

Hinzufügen weiterer Strukturen z.B. Erzeugung von Inhaltsverzeichnis eines

Dokumentes „on the fly“

XSL-Datei enthält „Baumkonstruktionsregeln“

Page 20: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 20

XSL

Baumkonstruktionsregeln bestehen aus zwei Teilen: 1. ein Muster zum Vergleich mit den Elementen

des Quellbaumes 2. Anweisungen zum Erzeugen von Elementen

für den Zielbaum

Page 21: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 21

XSLT

XSLT=XSL TransformationsXML Sprache, realisiert durch Namensraum

„xsl“ xmlns:xsl=http://www.w3.org/1999/XSL/

Transform

Page 22: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 22

XSLT

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"/> muß das XML-Wurzelelement sein darf nur ein einziges Mal im XML Dokument stehen Alle XSLT-Anweisungen müssen unterhalb stehen xsl:transform gilt als Synonym

Page 23: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 23

XSLT

Mögliche Attribute: default-space: Sollen Leerzeichen im Originaldokument

erhalten bleiben? Vorgabewert: „preserve“ indent-result: Sollen in der Ausgabe die Leerzeichen

erhalten werden? Vorgabewert: „yes“ language: im Stylesheet benutzte Skriptsprache.

Vorgabewert: „JScript“ result-ns: Namensraum der Ausgabe des XML-

Prozessors Aber wie sehen die XSLT-Anweisungen aus... ???

Page 24: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 24

XSLT

XSLT besteht aus „Template Rules“ Template Rules sind XML-Elemente

Eine Template-Rule besteht aus Regeln/Muster, die eine bestimmte Menge von

XML Elementen beschreiben, ähnlich wie ein regulärer Ausdruck eine bestimmte Menge von Texten beschreibt

Einem „Template“

Page 25: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 25

XSLT

Was macht eine Template Rule? Die Regeln/Muster filtern bestimmte XML Elemente aus

dem XML Quelldokument heraus Das in der Template Rule enthaltene Template wird auf

die herausgefilterten XML Elemente angewendet Was macht ein Template?

Template ist gewissermaßen die Vorlage für das Zieldokument

Ein Template kann den Prozeß rekursiv fortführen Ergebnis der Verarbeitung bildet den Zielbaum

Page 26: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 26

XSLT

<xsl:template match="/"/> Abfrage des Elementes im Quellbaum ist

zwingend!<xsl:template match="muster"/>

Alle Knoten vom Typ „muster“, wobei „muster“ ein XPath Ausdruck ist

was XPath genau bedeutet, dazu kommen wir später!

Page 27: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 27

XSLT

Template != Template Rule Template Rule: Regeln für den

Transformationsprozess, enthält ein Template

Template: ein Stück Stylesheet, wird im Zieldokument instanziiert

Page 28: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 28

XSLT

<xsl:apply-templates/> Verarbeitung der Nachfahren des aktuellen Knotens

<xsl:apply-templates select="muster"/> Verarbeitung der Nachfahren des aktuellen Knotens, die

vom Typ „muster“ sind Vorgabewert für „select“ ist „node()“, d.h. alle Knoten

außer Attributen <xsl:apply-templates order-by=„-krit1;+krit2"/> Sortierung der Knoten zuerst nach „krit1“ aufsteigend,

dann nach „krit2“ absteigend

Page 29: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 29

XSLT

<xsl:value-of/> Einfügen des Wertes des aktuellen Knotens als

Text (+Unterknoten)<xsl:value-of select="muster"/>

Einfügen des Wertes der ausgewählten Knoten „muster“ als Text. Vorgabewert ist „.“ (Inhalt des aktuellen Knotens)

Page 30: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 30

XSLT

<xsl:for-each> Anwendung des Template auf eine Menge von Knoten</xsl:for-each>

<xsl:for-each select="muster" order-by="elem"/> Anwendung eines Template auf alle Knoten vom

Typ „muster“, sowie Sortierung nach dem Wert von „elem1“

Page 31: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 31

XSLT

Bedingte Anweisungen mit Attribut „test“ <xsl:if/> nur für einfache Vergleiche

<xsl:if test="name[."'abc']"> <h1>abc</h1> <xsl:apply-templates/></xsl:if>

Attribute: expr=script-expression muss TRUE zurückgeben language=lang-name Vorgabewert: JScript test

Page 32: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 32

XSLT

<xsl:choose/> Äquivalent zu „select case“, „switch case“, ... aus C,JAVA,... <xsl:choose> <xsl:when test="name[.='a']"> ... </xsl:when> <xsl:when test="name[.='b']"> ... </xsl:when> <xsl:otherwise> ... </xsl:otherwise> </xsl:choose>

Page 33: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 33

XSLT

Benutzung innerhalb von Templates, die Ausgaben produzieren, xsl:copy

Hinzufügen von Elementen <xsl:element name="xsl.template"/>

Hinzufügen von Attributen <xsl:attribute name="match">cost</xsl:attribute>

kann auch ohne xsl:element benutzt werden bevor Kinderknoten zum Element gefügt werden,

müssen alle Attribute erzeugt worden sein

Page 34: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 34

XSLT

Im Beispiel wird das entsprechende Muster aus dem XML-Quellbaum geholt, und eine Ausgabe generiert:

<img src="img/imgname"/>

<img> <xsl:attribute name="src"> <xsl:value-of select="img/imgname"/> </xsl:attribute></img>

Page 35: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 35

XSLT

Im Beispiel wird das Element „MeinElement“ kopiert und ein Attribut „kopiert“ mit dem Wert „true“ hinzugefügt

<xsl:template match="MeinElement"> <xsl:copy> <xsl:attribute name="kopiert"> true </xsl:attribute> </xsl:copy></xsl:template>

Page 36: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 36

XPath

seit November 1999 Empfehlung vom W3C

operiert auf der XML Baumstruktur

lokalisiert Knoten z.B. „erster Absatz des

dritten Abschnittes“

Page 37: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 37

XPath

XPath-Abfrage liefert node-set zurück (Menge von Knoten)

Besitzt keine XML-SyntaxSyntax eher vergleichbar mit

Dateisystem („location paths“) („/usr/local/...“)

Dient auch für XPointer

Page 38: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 38

XPath

Knoten eines XML Baumes/Dokumentes Wurzelknoten (root) Elemente Attribute Texte Namespace-Attribute Processing instructions Kommentare

für XSL werden im Wesentlichen die fett-markierten Knotenarten benötigt

Page 39: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 39

XPath

location paths (1) location path entspricht einer Dateisystem-Pfadangabe man nennt die Komponenten aber nicht „Dateien“ oder

„Verzeichnisse“, sondern location steps location steps sind die Namen der XML Elemente der Pfadtrenner ist "/" ein Pfad wird von links nach rechts abgearbeitet

Page 40: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 40

XPath

location paths (2) Pfade beginnend mit "/" sind absolute Pfade, d.h.

der Kontextknoten ist der Wurzelknoten. Andere Pfade sind relative Pfade, d.h. Kontextknoten bleibt unverändert

Pfade enthalten Platzhalter genau wie im Dateisystem, aber wesentlich flexibler

Page 41: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 41

XPath

Formale Definition des location path [/]location_step(/ location_step)*

location step entspricht Verzeichnis/Datei im

Dateisysten wirkt wie ein Filter: bekommt

eine Knotenmenge als Eingabe, und liefert eine Teilmenge zurück

Page 42: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 42

XPath

Es gibt genau einen „Kontext-Knoten“ entspricht dem Arbeitsverzeichnis des

Dateisystems genau wie im Dateisystem navigiert man von der

aktuellen Position aus „vor“ und „zurück“ („cd xyz“, „cd ..“)

aber: XPath kennt mehr als 2 Richtungen der Navigation!

Page 43: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 43

XPath

Ein location step wählt aber nicht wie im Dateisystem einen bestimmten Unterknoten aus, sondern ist wie folgt aufgebaut: richtung::typ([prädikat])*

Das Prädikat ist eine boolesche Bedingung Die Richtung der Navigation, der Typ der Knoten

und das Prädikat verfeinern jeweils die Abfrage, d.h. verkleinern die Teilmenge der Knoten

Page 44: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 44

XPath

Richtungen (1) self: aktueller Knoten child: direkte Kinderknoten descendant: Kinderknoten, aber keine

Attribute! descendant-or-self: Kinderknoten

oder aktueller Knoten, aber keine Attribute!

parent: direkte Elternknoten ancestor: Elternknoten ancestor-or-self: Elternknoten oder

aktueller Knoten ...

Page 45: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 45

XPath

Richtungen (2) ... attribute: nicht-Namespace-

Attribute namespace: Namespace-Attribute preceding-sibling: Vorgänger following-sibling: Nachfolger preceding: Alle Vorgänger following: Alle Nachfolger

Page 46: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 46

Vorgabewert für die Richtung: child

abgekürzte Ausdrücke für Richtungen:

XPath

Abkürzung Beschreibung

Keine Achse child::

@ attribute::

. Der aktuelle Knoten, anstatt self::node()

.. Der Mutter (Vater? Elter?) Knoten, anstatt parent::node()

[2] anstatt [position()=2]

Page 47: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 47

Typen (1)

XPath

* Alle Knoten vom Typ der Achse. Achsentyp ist immer Element außer bei attribute und namespace.

namespace Alle Knoten im Namespace namespace

namespace:typ Alle Knoten mit Namen namespace:typ

typ Alle Knoten mit Namen typ und NULL-Namespace

text() Alle Textknoten

Page 48: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 48

Typen (2)

XPath

comment() Alle Kommentarknoten

processing-instruction()

Alle Processing-Instruction-Knoten

processing-instruction(name)

Alle Processing-Instruction-Knoten mit Expanded-Name name

node() Alle Knoten

Page 49: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 49

abgekürzte Ausdrücke für Tests:

XPath

Test Beschreibung

'Name' Testet, ob Knoten diesen Namen hat

* Knoten mit beliebigem Namen

text() Ein Text Knoten

..[..] Zusätzliches Prädikat (z.B. boolescher Ausdruck), das erfüllt sein muss

Page 50: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 50

abgekürzte Ausdrücke für location steps:

XPath

abgekürzter location step location step

child::

attribute:: @

self::node() .

parent::node() ..

descendant-or-self::node()/ //

Page 51: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 51

Beispiele für location paths (1):

XPath

location path Abkürzung Beschreibung

child:text() text() Kinder-Textelemente

/child:html /html Elemente „html“ unterhalb vom Wurzelknoten

/descendant-or-self::node()/child::table

//table Elemente „table“ überall im Dokument

/parent::node()/child::table/attribute::width

../table/@width

Attribute „ WIDTH“ aller Tabellen, die Kinder des Eltern-Knotens sind

Page 52: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 52

einige, beispielhafte Funktionen in XPath: last(), position(), count(), id(), name(),

substring(), concat(), true(), round(), translate()

XPath

Page 53: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 53

Beispiele für location paths (2):

XPath

location path Abkürzung Beschreibung

/child::html/child::body/child::html[2]

/html/body/table[2]

Die zweite Tabelle im HTML-Body

/descendant-or-self::table[attribute::width = "50%"]

//table[@width = "50%"]

Alle Tabellen, die "50%" Breite haben

//td[position() != last()]

Alle „TD“-Elemente im Dokument mit Ausnahme des letzten

//ex:head Alle HEAD-Elemente, die im Namespace ex deklariert sind

Page 54: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 54

XSL FO

formatierender Bestandteil von XSL

ermöglicht Zuweisung von Schriftformatierungen fett, kursiv, Überschrift,

... in XML-Syntax Anlehnungen an CSS

Page 55: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 55

XSL FO

XSL FO=XSL Formatting Objects XML Sprache, realisiert durch Namensraum „fo“

xmlns:fo=„http://www.w3.org/1999/XSL/Format“ Alle XSL FO Elemente stehen unter </fo:root> Unter </fo:root> dürfen stehen:

</fo:layout-master-set> </fo:page-sequence>

Page 56: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 56

XSL FO

Ist eine von vielen, denkbaren Formatierungssemantiken! CSS eine andere z.B. können Verlagshäuser eine eigene

definieren bzw. XSL FO erweitern

Wird von den meisten XSL Anwendungen (noch) nicht unterstützt!

Page 57: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 57

XSL FO

Viel mehr Auszeichnungen gegenüber HTML+CSS Horizontal und vertikal gespiegelter Text Fußnoten Seitenzahlen in Querverweisen Silbentrennung „Aurale Auszeichnungen“ für Sprachausgabe ...

Breitere Verwendung vorgesehen als bei CSS CSS primär für WWW XSL FO für WWW, WAP, Printmedien, ...

Page 58: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 58

XSL FO

für verschiedene Ausgabemedien können dank XSL verschiedene FO definiert werden z.B. seitenorientiert für Druck, nicht-

seitenorientiert für HTML z.B. komplex für HTML, simpel für WAP/WML

Page 59: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 59

XSL FO

Bessere Internationalisierung als bei CSS

Unterstützung für alle Kombinationen von vertikaler und horizontaler Schreibrichtung

bei logischen Richtungsangaben „start“, „end“, ... statt „left“, „bottom“, ...

Page 60: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 60

XSL FO

XSL FO ist viel „Schreibarbeit“ wird in der Praxis i.A. nur von XSL-Prozessoren erzeugt

Bei CSS: em {font-weight:bold}

Bei XSL FO:

<style-rule> <target-element type="emph"/> <apply font-weight="bold"/> </style-rule>

Page 61: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 61

XSL FO

XSL FO unterstützt die Definition von „Seitenklassen“

Definition von Seitenklassen im „master layout set“ dort können auch die möglichen Reihenfolgen festgelegt

werden Dazu ein Beispiel: Die Seiten eines Buches

Eine Coverseite, anschließend alternierend beliebig viele links- und rechtsliegende Seiten

Außer Coverseite werden alle Seiten auf Papier mit Kopfzeile gedruckt

Page 62: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 62

XSL FO

XSL Formatting Object

„layout master set“

Definition derSeitenklassen

Die möglichen Abfolgenvon Seitenklassen

Die Seiten und ihre Inhalte

Page 63: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 63

XSL FO

cover leftPage rightPage

Page 64: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 64

XSL FO

Definition der Seitenklassen:

<fo:layout-master-set> <fo:simple-page-master master-name="cover" margin-top="0.5cm" margin-bottom="0.5cm" margin-right="0.5cm" margin-left="1cm"/> <fo:simple-page-master master-name="leftPage" margin-top="2cm" margin-bottom="0.5cm" margin-right="1cm" margin-left="0.5cm"/> <fo:simple-page-master master-name="rightPage" margin-top="2cm" margin-bottom="0.5cm" margin-right="0.5cm" margin-left="1cm"/></fo:layout-master-set>

Page 65: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 65

XSL FO

Festlegung der Seitenreihenfolge:

<fo:page-sequence-master master-name="contents"> <fo:repeatable-page-master-alternatives> <fo:conditional-page-master-reference master-name="leftPage" odd-or-even="even"/> <fo:conditional-page-master-reference master-name="rightPage" odd-or-even="odd"/> </fo:repeatable-page-master-alternatives> </fo:page-sequence-master>

Page 66: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 66

XSL FO

Seiteninhalte und Zuweisung zu Seitenklassen:

<fo:page-sequence master-name="contents"initial-page-number="2"> <fo:static-content flow-name="xsl-region-before"> <fo:block font-size="14pt">Kopfzeile</fo:block> </fo:static-content> <fo:flow flow-name="xsl-region-body"> <fo:block font-align="left">Fließtext</fo:block>

</fo:flow> </fo:page-sequence>

Page 67: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 67

XSL FO

</fo:block> enthält Formatierungsinformationen, die an eine

Textstruktur geknüpft sind (z.B. Absatz- und Zeilenabstände, Textausrichtung, Numerierungs- und Gliederungsanweisungen,...)

entspricht in etwa einem „Absatz“ Der Name sagt es: Blockcharakter

</fo:inline> enthält Formatierungsinformationen, die keinen

Zusammenhang zur Textstruktur haben (z.B. fett, kursiv, ...)

Page 68: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 68

XSL FO

XSL FO erlaubt noch viel, viel mehr... Definition von Einzügen, Schriftarten, -farben, -größen,

Textauszeichnungen, Abständen, ... Eine unvollständige Auflistung unter

http://www.ibiblio.org/xml/books/bible/updates/15.html enthält 246 Attribute!

Hier die Auswahl einiger „c...“-Attribute caption-side, case-name, case-title, character,

clear, clip, color, color-profile-name, column-count, column-gap, column-number, column-width, content-height, content-type, content-width, country, cue, cue-after, cue-before

Page 69: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 69

XSL FO

areas

regions

block areas

line areas

inline areas

charakter areas

Page 70: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 70

XSL FO

Erstellung von XSL FO-Strukturen nur per XSL-Prozessor sinnvoll (zu viel Schreibarbeit sonst)

Instanzen der Formatierungsobjekte (xsl:fo) sind die Knoten des Zielbaumes der XSLT-Anwendung

Page 71: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 71

XSL – Ein Beispiel

Software telemallCOMMUNITY der Firma telemall AG (Frankfurt) Standardsoftware für Internet-Communities basierend auf XML/XSLT entwickelt im Frühjahr 2001 von Kai Klüber,

Martin Klossek und Fabian Wleklinski

Page 72: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 72

XSL – Ein Beispiel

telemallCOMMUNITY benutzt XML/XSL warum? 5 Gründe für den Einsatz von

XML!

Page 73: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 73

XSL – Ein Beispiel

Grund 1: Trennung Implementierung und Design XML/XSLT erhöht die Wiederverwendbarkeit der

Software XML/XSLT macht unabhängig(er) von den Entwicklern XML/XSLT beschleunigt unternehmensinterne Work-

Flow-Prozesse, z.B. können Implementierung und Webdesign „zeitgleich“ beginnen

Page 74: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 74

XSL – Ein Beispiel

Grund 2: Personalisierung Jeder Benutzer des Systems kann sich sein

„Lieblings-Stylesheet“ auswählenGrund 3: Erweiterbarkeit

XML/XSLT als ausgegebenes Datenformat garantiert die Erweiterbarkeit auf alternative Ausgabemedien wie WAP/WML, Windows CE- und Palm-Geräte, Print-Medien etc.

Page 75: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 75

XSL – Ein Beispiel

Grund 4: Strenge Modularisierung durch offene Protokolle Einzelne Bestandteile des Systems sind autarke

Applikationen, und bieten ihre Dienste durch eine XML-Schnittstelle (via http-Protokoll) an

Grund 5: Offene Schnittstellen Schaffung universeller Schnittstellen für SOAP, NewsML,

RDF etc. Austausch von Content zwischen Nachrichtenagenturen und

Community-Betreibern Das folgende Diagramm soll die Idee verdeutlichen...

Page 76: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 76

MPG, WMV, MPG, WMV, RM, etc.RM, etc.

AVI, AU, WAV, AVI, AU, WAV, WMA, MP3 etc.WMA, MP3 etc.

DOC, HTML, DOC, HTML, PDF, etc.PDF, etc.

JPEG, GIF JPEG, GIF etc.etc.

GIF, JPG, NSK-TIFF etc.GIF, JPG, NSK-TIFF etc.

VeröffentlicherVeröffentlicher

Page 77: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 77

XSL – Ein Beispiel

Eine Internet-Community beinhaltet viele, viele Datensätze Nachrichtenbeiträge Diskussionsbeiträge Einträge im Kleinanzeiger, schwarzen Brett, etc... Veröffentlichungen im Presseboard ...

Schauen wir uns nun exemplarisch einen Datensatz dieses Systems an, zum Beispiel eine Nachrichtenmeldung:

Page 78: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 78

<record ikey="1000" parentid="100"> <v_1 ikey="1000"> <date>2001-03-09 17:36:49</date> <authorid>12364</authorid> <authorname>Manfred Mustermann</authorname> <authoremail> [email protected] </authoremail> <authorinitials>MM</authorinitials> <nodeicon src="http:.."/> <subject src="http:.."> Datenschützer warnen vor gläsernem Internet-Nutzer </subject> <newlink src="http:..">neu</newlink> <dellink src="http:..">loeschen</dellink> </v_1></record>

Page 79: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 79

XSL – Ein Beispiel

Schauen wir uns nun das Ergebnis der Umwandlung mittels drei verschiedener XSL-Stylesheets an:

Page 80: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 80

XSL – Ein Beispiel

Da das ganze System auf XML/XSL aufbaut, werden natürlich viel mehr XML Anweisungen erzeugt, als nur die, die wir gesehen haben

Der gesamte XML Output sieht ungefähr so aus...

Page 81: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 81

XSL – Ein Beispiel

Page 82: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 82

XSL – Ein Beispiel

Erstellen der XSL-Stylesheets ist eine Designaufgabe, die nicht von dem Entwicklerteam übernommen werden muß bzw. sollte ;-)

Während der Entwicklung wurde daher „ohne Layout“ gearbeitet, nur mit minimaler Darstellung

Die Konvertierung von XML in HTML funktionierte zwar, aber das Ergebnis sah entsprechend übel aus, in etwa so...

Page 83: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 83

XSL – Ein Beispiel

Page 84: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 84

XSL – Ein Beispiel

Nachdem die Design-Abteilung ihre Arbeit beendet hatte, standen entsprechende Stylesheets zur Verfügung

Keine weitere Entwicklung, nur noch auswählen des neuen Stylesheet!

Das Layout sieht dann besser aus, zum Beispiel so...

Page 85: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 85

XSL – Ein Beispiel

Page 86: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 86

XSL – Ein Beispiel

Page 87: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 87

XMLermöglichtheterogeneLieferkanäle!

Informationen werden umgewandelt und

mehrfachverwendet

XSL – Ein Beispiel

Page 88: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 88

XSL - Zusammenfassung

Vorteile gegenüber CSS 90% der Formatierungseigenschaften aus XSL

Formatting Objects sind in CSS in ähnlicher Form enthalten, aber:

XSL bietet weitreichendere und mächtigere Selektoren als CSS, es sind efektivere Baumkonstruktionen möglich

ein Seitenlayout-Modell

Page 89: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 89

XSL - Zusammenfassung

Vorteile gegenüber CSS ein erweitertes Formatierungsmodell bessere Internationalisierung und mehr Schreib-

Modi Unterstützung von Linking

Page 90: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 90

XSL - Zusammenfassung

Vorteile gegenüber CSS XSL ist XML Sprache Die Möglichkeiten von CSS werden durch XSL FO

bereitgestellt, sogar übertroffen. Eine Umstrukturierung des XML Quellbaumes wie durch XSLT fehlt bei CSS.

Kombination von XSL und XSS? Denkbar ist eine hybride Lösung: XSL auf dem Server,

CSS auf dem Client

Page 91: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 91

Ausblick

Bedeutung alternativer Plattformen steigt Handheld-PCs, Mobiltelefone, Kabel-TV, ...

Rendering auf dem Client Betrachter hat „Lieblings-Stylesheet“

XML/XSL hat auf dem Server bereits unbemerkt Bedeutung erlangt große Websites benutzen teilweise

XML/XSL, z.B. www.microsoft.com

Page 92: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 92

Software

SAXON home page http://users.iclway.co.uk/mhkay/saxon/

Sablotron: XSL Transformations Processor http://www.gingerall.com/charlie-bin/

get/webGA/act/sablotron.actFOP (Apache)

http://xml.apache.org/fop/

Page 93: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 93

Software

Unicorn XML Toolkit http://www.unicorn-enterprises.com/products

_xmlkit.html

Antenna House XSL Formatter http://www.antennahouse.com/xslformatter.

html

Übersicht von Free XML Tools http://www.garshol.priv.no/download/

xmltools/name_ix.html

Page 94: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 94

Software

Übersicht von Free XML Tools http://www.garshol.priv.no/download/

xmltools/name_ix.htmlXML Software Guide: Specialized XML

Software http://wdvl.com/Software/XML/special.html

XML Software Guide: Additional XML Software Resource Lists http://wdvl.com/Software/XML/resources.html

Page 95: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 95

Software

XMLSOFTWARE XML Editors http://xmlsoftware.com/editors/

XMLSOFTWARE XML Browsers http://www.xmlsoftware.com/browsers/

XML Software Guide: XML and XSL Editors http://wdvl.com/Software/XML/editors.html

XML.com Editors http://www.xml.com/pub/pt/3

Page 96: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 96

Literatur

Extensible Markup Language (XML) http://www.w3.org/TR/REC-xml

Extensible Stylesheet Language (XSL) http://www.w3.org/Style/XSL/

XSLT.com - Resource site for tools , events , books , tutorials and other resources related to xslt , xsl , xml http://www.xslt.com/

Page 97: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 97

Literatur

XSL Transformations (XSLT) http://www.w3.org/TR/xslt

XML Path Language (XPath) http://www.w3.org/TR/xpath

Robert Wruck: XLink, XPath & XPointer http://www.fh-wedel.de/~si/seminare/ws00/

Ausarbeitung/3.xlink/xlink0.htm

Page 98: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 98

Literatur

ix 1/2001: „XSLT-Tutorial“ http://www.heise.de/ix/artikel/2001/01/167/

XML.com: What is XSLT? http://www.xml.com/pub/a/2000/08/holman/

index.html

ZVON.org http://www.zvon.org

Page 99: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 99

Literatur

XMLNews.org: XML and the news industry http://www.xmlnews.org/ 

XSLINFO http://www.xslinfo.com/

xml.org http://xml.org/

Page 100: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 100

Literatur

Jens Wilke: Abfragesprachen für XML-Dokumente http://www3.informatik.tu-muenchen.de/public/lehre/

lehre.WS00/HS00-Ausarbeitungen/HS00-Ausarbeitung8.pdf

Heiko Faasch: XSLT- Die XSL Transformationssprache http://www.fh-wedel.de/~si/seminare/ws00/

Ausarbeitung/5.xslt/xslt0.htm

Page 101: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 101

Literatur

Eugen Dück: Proseminar Datenmodellierung - Vortrag über XML http://www3.informatik.tu-muenchen.de/public/lehre/

lehre.WS00/PS00-Ausarbeitungen/dueck-xmlproseminar.html

Andreas Kempf, Mario Ganter, Jörg Knaust, Markus Kurczek: Extensible Style Language http://stio1.sari.fh-wuerzburg.de/student/i199/xsl/

Page 102: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 102

Literatur

XML in der Praxis - von Henning Behme und Stefan Mintert http://www.mintert.com/xml/buch/

XT http://www.jclark.com/xml/xt.html

Mario Jeckle: XML http://www.jeckle.de/xml

Page 103: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 103

Kontakt & Downloads

Fabian Wleklinski: [email protected]

Quellcodes und Folien im PPT-, PDF-, PS- und HTML-Format verfügbar unter: http://www.stormzone.de/uni/

Hauptstudium/seminare/wwwdb/list.php3

Page 104: Ein Vortrag im Rahmen des Seminars WWW und Datenbanken SS 2001 XSL - Dokumente mit Stil Referent: Fabian Wleklinski

10. Mai 2001 XSL - Dokumente mit Stil 104

Ende

Das war‘s!