Zum Forum
Passwort vergessen?
Noch keinen Account?
lexikon
Hauptseite
Zufälliger Artikel
Diskussion
Diskussion : XSL Transformation
Links
Forum
Portale
Reisen
Versicherung
Inhaltsverzeichnis
Hauptmenü
Home
Editorial
Bildung
E-Learning
Fremdsprachen
Magazin
Wissen
Wörterbücher
Enzyklopädien
Expertendienste
Wissenswertes
Praktische Ratgeber
--------------------------
Biologie
Chemie
Computer
Film/ Theater
Geografie
Geschichte
Jura
Kunst
Literatur
Mathematik
Medizin
Musik
Philosophie
Physik/ Astronomie
Politik
Psychologie
Religionen
Sport
Umwelt
Wirtschaft
Reisen
Lexikon
Versicherung
Suchen
Schnellsuche
Suchmaschinen
Metasuchmaschinen
Webkataloge
News
Treffpunkt
Chat
Forum
Suche
Schnellsuche
Sitemap
Kontakt
Impressum
XSL Transformation
Stichpunkte
Allgemein
XSLT ist die Abkürzung für XSL Transformation; XSL wiederum bedeutet Extensible Stylesheet Language
XSLT ist eine Auszeichnungssprache zur Transformation von XML-Dokumenten
Es baut auf die logische Baumstruktur eines XML-Dokumentes auf und erlaubt die Definition von Umwandlungsregeln
XSLT-Programme
sind dabei ebenfalls nach den Regeln des XML-Standards aufgebaut (Namespace für XSLT www.w3.org/1999/XSL/Transform)
sogenannte XSLT-Stylesheets
Spezielle XSLT-Prozessoren lesen XSLT-Stylesheets ein und transformieren eine XML-Eingabedatei nach den Stylesheet-Regeln in das gewünschte Ausgabeformat
Solche XSLT-Prozessoren sind auch in vielen modernen Web-Browsern integriert (Internet Explorer Version 5 [erst seit Version 6 mit vollständiger XSLT 1.0 Unterstützung]
Mozilla)
Die deklarative
funktional-applikative Sprache XSLT ist u.a. aus DSSSL hervorgegangen
Entwickelt wurde XSLT ursprünglich von James Clark (XSLT 1.0
"Verbergen") 1 Geschichte 2 Funktionsweise 3 Anwendungsgebiet 4 Anwendungsbeispiele 5 Alternativen zu XSLT 5.1 DSSSL 5.2 Generische Programmiersprachen 5.3 CSS 6 Beispiele 6.1 Inhaltsverzeichnis erzeugen 7 XSLT-Prozessoren 8 Literatur 9 Weblinks [Bearbeiten]
XSL-FO und XPath bilden die Grundpfeiler für XSL. Inhaltsverzeichnis showTocToggle("Anzeigen"
XSLT 1.1)
für die derzeitige Weiterentwicklung ist Michael Kay verantwortlich (XSLT 2.0). XSLT ist nicht mit XSL-FO zu verwechseln; XSLT
Geschichte
Ursprünglich sollte mit XSL eine DSSSL-artige Sprache in XML-Syntax entstehen
dass eine solche Sprache eigentlich aus drei interagierenden aber unabhängig voneinander einsetzbaren Bestandteilen besteht: Einer Sprache für die Beschreibung eines Dokuments als Baum mit Formatierungsanweisungen und Stilangaben: XSL Formatting Objects (XSL-FO) Einer Sprache für die Transformation eines beliebigen XML-Dokuments in einen anderen Baum
Schnell war jedoch klar
z.B. einen in XSL-FO: XSLT Einer Sprache für die Adressierung von Baumbestandteilen: XPath [Bearbeiten]
Funktionsweise
Bild nicht gefunden Funktionsweise von XSLT Die Sprache XSLT beschreibt die Umwandlung eines XML-Derivats (auch XML-Dialekt genannt) in ein anderes
Diesen Vorgang nennt man Transformation
ab XSLT 2.0 mehrere)
Dazu werden die XML-Dokumente als logischer Baum betrachtet: Die Quell-Bäume der zu transformierenden Dokumente und durch die Transformation die entstehenden Ziel-Bäume der zu erzeugenden Dokumente (in XSLT vor 2.0 kann nur ein Dokument erzeugt werden
genannt Templates
Eine Transformation besteht dazu aus einer Reihe von einzelnen Transformationsregeln
für welche Knoten sie gilt
der bestimmt
Eine Template besitzt eine auf XPath basierende Pattern
und einen Inhalt
wie die Template ihren Teil des Zielbaums erzeugt
die beschreibt
In einem XSLT-Dokument kommen also an Sprachen und XML-basierten Technologien mindestens vor: XML als Basis für XSLT XSLT selbst (XML-basiert) XPath / XSLT Patterns Die Sprache(n) des Quell-Dokuments (XML-basiert
z.B
z.B
DocBook) Die Sprache(n) des Ziel-Dokuments (in der Regel XML-basiert
XHTML) XML Namespaces zur Unterscheidung der einzelnen verwendeten Sprachen Sowie ab XSLT 2.0: XML Schema Datentypen [Bearbeiten]
Anwendungsgebiet
Für XSLT gibt es zwei Hauptanwendungsgebiete. POP (Presentation Oriented Publishing) bezeichnet die Transformation zum Zwecke der Darstellung
Mit unterschiedlichen Stylesheets können die Daten in XHTML
SMIL
SVG
DocBook und viele andere Formate umgewandelt werden
Formatting Objects
Das ursprüngliche semantische Markup wird dabei durch ein Stil-bezogenes Markup ersetzt. MOM (Message Oriented Middleware) bezeichnet die Transformation zum Zwecke des Datenaustausches
genügt es nicht
dass zwei Systeme (z.B
Da XML lediglich ein Sprachkonzept zur Entwicklung von Sprachen bildet
Programme) XML beherrschen
um gegenseitig Daten austauschen zu können
Sie müssen die gleiche XML-basierte Sprache verwenden
In dem häufigen Fall
um mit Hilfe von Transformationen Übersetzer von der einen Sprache in die andere zu entwickeln. [Bearbeiten]
wird gerne XSLT eingesetzt
wo die Systeme nicht die gleiche XML-basierte Sprache verwenden
Anwendungsbeispiele
Statistische Daten liegen als XML vor (z.B. aus der Datenbank) und werden mit Hilfe unterschiedlicher Transformationen unter anderem aufbereitet als Vektorgrafik in SVG
als Tabelle in XHTML und als PDF (über den Zwischenschritt XSL-FO). Für eine Website werden die XHTML-Dateien erstmal ohne Layout geschrieben und erhalten anschließend das Layout mit Hilfe einer Transformation
als bloßer Text
alle XHTML-Seiten zu ändern; stattdessen ändert man das Stylesheet und transformiert neu. Derzeit wird XSLT wohl am häufigsten dazu verwendet
ist es nicht notwendig
Der Vorteil ist dabei ähnlich dem eines klassischen CMS: Um das Layout zu ändern
einfach XML-Dokumente durch Transformation nach mit CSS versehenem XHTML in Webbrowsern darstellbar zu machen. [Bearbeiten]
Alternativen zu XSLT
[Bearbeiten]
DSSSL
Eine mögliche Alternative zu XSLT ist DSSSL
das man auch als Vorläufer von XSLT betrachten kann
Der wohl größte Vorteil von XSLT gegenüber DSSSL ist seine XML-basierte Syntax
Somit kann jeder XML-Editor automatisch auch für XSLT eingesetzt werden
außerdem gelten die Syntax-Regeln von XML (Wohl-geformtheit
Gültigkeit) damit auch für XSLT
Dadurch ist es möglich
man kann also Transformationen zur Erzeugung und Bearbeitung von Transformationen entwickeln. [Bearbeiten]
dass XSLT sich selbst bearbeitet
Generische Programmiersprachen
Eine grundsätzliche Alternative zu XSLT besteht in der Möglichkeit
solche Transformationen in jeder beliebigen Programmiersprache (z.B
Java
C++ oder Perl) abzufassen
XSLT kann dabei jedoch bei Einhaltung bestimmter Voraussetzungen ein gewisses Garant für wohl-geformte und unter Umständen sogar gültige Zieldokumente gewähren
außerdem ist die Entwicklung einer Transformation in XSLT in der Regel mit erheblich weniger Aufwand verbunden als die Entwicklung einer Transformation in einer generischen Programmiersprache. [Bearbeiten]
CSS
Häufig wird CSS als Alternative zu XSLT genannt
CSS ist jedoch nicht wirklich eine Alternative zu XSLT
während XSLT den Baum radikal ändern kann
wie die Bestandteile eines Baums (akustisch oder visuell) zu formatieren sind
CSS beschreibt lediglich
Link-Listen und ähnliches erstellen
Indizes
So kann man mit XSLT z.B. automatisch Inhaltsverzeichnisse
nicht jedoch mit CSS
Eine Kombination aus beidem ist ebenfalls möglich. [Bearbeiten]
Beispiele
[Bearbeiten]
Inhaltsverzeichnis erzeugen
Folgendes XSLT erzeugt ein einfaches Inhaltsverzeichnis für eine XHTML-Seite mit Überschriften: <xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/xhtml" exclude-result-prefixes="html" > <xsl:output method="xml" doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" doctype-public="-//W3C//DTD XHTML 1.1//EN" /> <xsl:template match="html:body"> <xsl:copy> <xsl:apply-templates select="@*"/> <h1><xsl:apply-templates select="//html:title//text()" /></h1> <h2 id="toc">Inhaltsverzeichnis</h2> <ul> <li><a href="#toc">Inhaltsverzeichnis</a></li> <xsl:for-each select=".//html:h2"> <li> <xsl:if test="not(@id)"> <xsl:message>Achtung: Kann ohne Id keinen Link erzeugen</xsl:message> </xsl:if> <a href="#{@id}"><xsl:apply-templates/></a> </li> </xsl:for-each> </ul> <xsl:apply-templates/> </xsl:copy> </xsl:template> <xsl:template match="node()|@*"> <xsl:copy> <xsl:apply-templates select="@*"/> <xsl:apply-templates/> </xsl:copy> </xsl:template> </xsl:transform> Siehe auch: XML
XPath [Bearbeiten]
XSL-FO
XSLT-Prozessoren
xmlsoft.org/XSLT/) XT (C
www.aztecrider.com/xslt/) PHP 5 XSLT Funktionen (PHP 5
saxon.sourceforge.net/) Xalan (Java
http://www.blnz.com/xt/index.html
www.gingerall.com/charlie/ga/xml/p_sab.xml) Microsoft XSLT-Prozessor (funktioniert auch in älteren Windowssystemen) JD.XSLT (Java
Saxon (Java
http://www.php.net/xslt (http://www.php.net/xslt)) [Bearbeiten]
ursprünglich von James Clark) Sablotron (C++
xml.apache.org/xalan-j/index.html) libxslt/xsltproc (C
Literatur
Doug Tidwell: "XSLT" O'Reilly Verlag
ISBN 3-89721-292-7 [Bearbeiten]
Weblinks
u.a
das Einführungen in Stylesheet-Sprachen
Ein Online-Buch
XSL Transformations (XSLT) Version 1.0 (http://www.w3.org/TR/1999/REC-xslt-19991116); in deutscher Sprache (http://www.edition-w3c.de/TR/1999/REC-xslt-19991116) im Rahmen der <edition W3C.de> (http://www.edition-w3c.de/) erschienen. XSL Transformations (XSLT) Version 2.0 (http://www.w3.org/TR/xslt20/) (Arbeitsentwurf) XML in der Praxis (http://www.linkwerk.com/pub/xmlidp/2000/)
XSLT enthält http://www.heise.de/ix/artikel/2001/03/167/ Ausführliches Beispiel (Wörterbuch) http://de.selfhtml.org/xml/darstellung/xsltbeispiele.htm vier Beispiele MSXML (http://msdn.microsoft.com/library/default.asp?url=/downloads/list/xmlgeneral.asp) (Microsoft XML und XSLT-Prozessor) ZVON-XSLT (http://www.zvon.org/xxl/XSLTutorial/Output/index.html) (ZVON-Tutorial zum Thema XSLT) Linkwerk-XSLT-Bibliothek (http://www.linkwerk.com/pub/xslt/lib/)
enthält u.a. eine RegExp-Erweiterung im Stil von Exslt.org (http://www.exslt.org/) HTMLWorld: XSLT-Tutorial (http://www.html-world.de/program/xslt_ov.php) Nachweis der Turing-Vollständigkeit von XSLT (http://www.unidex.com/turing/utm.htm) en:XSL Transformations fr:Extended stylesheet language transformations ja:XSLT nl:Extensible Stylesheet Language Transformations pl:XSLT ru:XSLT sv:XSLT zh:XSLT
Dieser Artikel basiert auf dem Artikel
XSL Transformation
aus der freien Enzyklopädie
wikipedia
und steht unter der
GNU Lizenz für freie Dokumentation
. In der wikipedia ist eine
Liste der Autoren
verfügbar.
Extensible Stylesheet Language
X2
XML Schema
XML DTD
XPATH
XGA
Ytterbium
Yttrium
Yard
Yersinia pestis
[ Zurück ]
Inhalt Lexikon:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
1
2
3
4
5
6
7
8
9
Chat
|
Lexikon
|
Reisen
|
Versicherung
|
Forum
|
Kontakt