Diskussion:XSL Transformation/Archiv

aus Wikipedia, der freien Enzyklopädie

Frage nach Beispielen

Einige ganz einfache Beispiele zu XSLT im Artikel wären nett ...

Was ist XSLT-FO?(nicht signierter Beitrag von 194.230.174.92 (Diskussion) 10:21, 2. Sep. 2003)

Antwort: XSLT-FO gibt's nicht; XSLT ist eine Programmiersprache

Hallo.

XSLT-FO gibt's nicht, nur XSL-FO. Ein Beispiel zu XSLT habe ich eingebaut.


Und damit nicht wieder jemand auf die Idee kommt, zu behaupten, XSLT sei keine Programmiersprache: Eine Programmiersprache ist definitionsgemäß eine Sprache zur Formulierung von Algorithmen für deren automatische Abarbeitung durch eine Maschine. Dazu muss es möglich sein, in der Sprache eine Turing-Maschine zu formulieren oder auf die dem Registermaschinenmodell bzw. der Von-Neumann-Architektur zu Grunde liegenden Wesenszüge (Abläufe, Bedingungen, Verzweigungen, Daten) zurückzugreifen.

Alle Voraussetzungen dafür sind gegeben. XSLT besitzt zwar vor der Version 2.0 keine veränderlichen Variablen, welche jedoch keineswegs Voraussetzung für eine Programmiersprache sind, dafür gibt es schließlich Programmierparadigmen wie die deklarative, funktional-applikative Programmierung wie bei Prolog oder eben XSLT. System-Calls durchführen zu können ist zwar praktisch aber ebenfalls keine Voraussetzung für eine Programmiersprache.

So, damit sind hoffentlich alle Argumente gegen XSLT als Programmiersprache aus dem Weg geräumt. Und um Misverständnissen vorzubeugen möchte ich noch unterstreichen, dass ich XSLT nicht die Tauglichkeit als Allzweckprogrammiersprache unterstellen möchte, sondern es lediglich um die sachliche Richtigstellung geht, ob XSLT definitionsgemäß eine Programmiersprache ist oder nicht.

Macht's gut!

--80.140.171.246 15:55, 13. Apr 2004 (CEST)

Auch XSLT 1.0 lässt bereits veränderliche Variablen zu. Diese werden allerdings durch das Element xsl:param ausgedrückt. Das Element xsl:variable definiert eine unveränderliche Variable, ähnlich einer Konstanten in anderen Programmiersprachen. Die Wahl der Elementnamen ist hier ein wenig verwirrend, zugegeben. Ansonsten stimme ich dir zu.

--DetN 20:45, 26. Jun 2005 (CEST)

Prolog eine funktionale Programmiersprache??? Aua Aua, dass ziept ja richtig im Tränensack! Und von Lisp oder Haskell usw. keine Rede? Oooooooooouch! Also templates sind nun wirklich nur mit viel Phantasie mit Funktionen zu vergleichen, es sind eben eher Templates. Das kann man vielleicht mit Prolog vergleichen, zusammen mit der Tatsache, das Variablen hier nicht verändert werden können, ein weiteres Argument GEGEN funktionale Programmierung.(nicht signierter Beitrag von 84.190.169.200 (Diskussion) 20:47, 28. Sep. 2006)

Archivierung dieses Abschnittes wurde gewünscht von: Sebastian.Dietrich 19:37, 6. Nov. 2011 (CET)

Geschichte von XSL

Das Zitat "Ursprünglich sollte ... eine DSSSL-artige Sprache ... Schnell war jedoch klar, dass ... eigentlich aus drei ... Bestandteilen besteht" -- DSSSL hatte doch auch schon diese Dreiteilung, oder? Es gab zumindest die DSSSL Transformation Language und das entsprechende Style-Pendant. Und auch die Adressierung der Elemente erfolgte meines Wissens durch eine eigens definierte Sprache. Hat da jemand konkreteres auf Lager? -- Dunkeltron

Archivierung dieses Abschnittes wurde gewünscht von: Sebastian.Dietrich 19:37, 6. Nov. 2011 (CET)

XHTML-Ausgabe, XSLT 2.0

Hallo,

habe mir erlaubt, einige Beispiele für Ausgabeformate hinzuzufügen. XHTML als einziges Ausgabeformat anzugeben halte ich für problematisch, ersten, weil es ganz einfach nicht das einzig übliche ist und zweitens, weil Transformationen zu XHTML erst ab XSLT 2.0 vollständig unterstützt werden (als Wert des Attributs method im xsl:output-Element). Außerdem sollte man schon explizit darauf hinweisen, dass XSLT 2.0 bisher nur als working draft existiert und von den meisten Prozessoren, wenn überhaupt, nur unvollständig implementiert wird.

Stimmt es außerdem, dass XSLT am häufigsten dazu genutzt wird, XML- in XHTML-Dokumente umzuwandeln? Ich halte das, ehrlich gesagt, für ein Gerücht ... . Bloßes HTML, txt und natürlich Transformation in andere XML-Dokumente sind sicherlich nicht weniger üblich.

Übrigens ist es auch mit XSLT 1.0 durch in vielen verfügbaren Prozessoren bereitgestellte Erweiterungen bereits möglich, mehrere Ausgabedokumente direkt im Stylesheet zu definieren (zum Beispiel mit dem von Saxon definierten saxon:output-Element). Hier ist es zwar nicht standardisiert, aber man muss ja auch keine Halbwahrheiten veröffentlichen.

Im Beispiel habe ich xsl:transform zu xsl:stylesheet geändert, da letzteres wesentlich häufiger anzutreffen ist.

--DetN 21:37, 26. Jun 2005 (CEST)

Es ist falsch, dass XHTML-Ausgabe erst ab XSLT 2.0 oder in XSLT 1.0 nur mit Extensions möglich ist. XHTML ist ein XML-Vokabular und kann sehr wohl mit der Ausgabemethode XML in XSLT 1.0 erzeugt werden. Die in XSLT 2.0 eingeführte, spezielle XHTML-Ausgabe berücksichtigt zusätzlich noch die in der XHTML-Spezifikation aufgeführten HTML-Kompatibilitätsrichtlinien, um auch eine Darstellung in älteren Benutzeragenten zu gewährleisten. Das ist natürlich eine wünschenswerte Eigenschaft, liest man die XHTML-Spezifikation allerdings genau, ist dies keine normative Anforderung. --Oliver Horn 12:34, 2. Sep 2005 (CEST)
Archivierung dieses Abschnittes wurde gewünscht von: Sebastian.Dietrich 19:37, 6. Nov. 2011 (CET)

Abbildung und XSP

Ich finde die Abbildung nicht gut gelungen. Insbesondere wundere ich mich über auf der linken Seite über die XSP-Eingabe, welche sogar noch einmal von einem XSP-Prozessor vorbearbeitet wird. Was hat das mit XSLT und dem XSLT-Prozess zu tun? Meiner Meinung hat das hat in dieser Abbildung nichts zu suchen, zumal im Text darauf auch nicht weiter eingegangen wird. Eigentlich spielt auch überhaupt keine Rolle, ob das Eingabedokument bzw. das XSLT-Stylesheet statisch vorliegt oder dynamisch erzeugt wird. In der Regel übergibt man diese an den XSLT-Prozessor durch URLs, und dabei ist es dann egal bzw. nicht mehr nachvollziehbar, ob diese Dokumente ggf. dynamisch erzeugt werden.

Außerdem frage, was es mit dem Ausgabestrang XML auf sich hat, der wieder als Input mit dem XSLT-Prozessor gekoppelt ist. Geht man von XSLT 1.0 aus, sind erzeuge Ausgabefragmente (RTF, result tree fragments) keine Knoten(mengen), die nochmal erneut verarbeitet werden können. Klar, wenn die Ausgabe XML ist, kann diese auch wieder als Eingabe verwendet werden -- aber nicht in derselben "Sitzung". Natürlich geht dies über spezielle Extensions, davon steht aber auch nichts im Text. BTW, vielleicht man es sind, die von der Community standardisierten Erweiterungen (EXSLT) zu erwähnen?

--Oliver Horn 12:06, 2. Sep 2005 (CEST)

Du hast recht, das Bild beschreibt Dinge, die im Artikel nicht erwähnt werden. Mit etwas zusätzlichem Text ließe sich aber vielleicht noch ein exemplarisches Anwendungsszenario daraus entwickeln. --jpp ?! 12:34, 2. Sep 2005 (CEST)
Ich finde, daß die Graphik überhaupt nicht in diesen Artikel gehört. Laut Infoseite beschreibt sie Cocoon.(nicht signierter Beitrag von 62.180.31.65 (Diskussion) 11:14, 16. Aug. 2007)
Ich unterstütze, dass die Grafik gegen eine passende ersetzt wird. So verwirrt das mehr, als es Klärung schafft!
Warum ist denn nach 5 (!) Jahren das immer noch nicht geklärt?

--Benutzer: Claus 13:29, 5. Sep 2010 (CEST)

Ich unterstütze ebenfalls, dass die Grafik durch eine passende ersetzt wird. Sie hat mit XSLT nur entfernt zu tun.

Eine bessere könnte diese hier sein: http://www.w3.org/Consortium/Offices/Presentations/XSLT_XPATH/#(9)ich weiss aber nicht unter welcher Lizenz sie veröffentlicht ist, und ob sie weiterbenutzt werden darf. ... Ich habe noch eine bessere gefunden, die sogar schon im wikimedia vorhanden ist, sie berücksichtigt auch auf neutrale Weise den nötigen Prozessor:

XSLT en

--78.94.201.147 14:34, 2. Dez. 2010 (CET)

Habe jetzt die Grafik durch die neutralere ersetzt. Beizeiten sollten wir den Text auch noch mal überarbeiten, das stimmt alles nur so grob. (nicht signierter Beitrag von 78.94.216.27 (Diskussion) 13:26, 31. Dez. 2010 (CET))

Archivierung dieses Abschnittes wurde gewünscht von: Sebastian.Dietrich 19:37, 6. Nov. 2011 (CET)

XSLT 2.0

Die Version 2.0 ist seit Januar 07 eine W3C Empfehlung die die Version 1.0 ablöst. Hab den Eintrag entsprechend aktualisiert.(nicht signierter Beitrag von Mrshrot (Diskussion | Beiträge) 10:20, 11. Jun. 2007)

Archivierung dieses Abschnittes wurde gewünscht von: Sebastian.Dietrich 19:37, 6. Nov. 2011 (CET)