it-swarm-eu.dev

Lohnt sich XSLT?

Vor einiger Zeit begann ich mit einem Projekt, in dem ich ein HTML-ähnliches XML-Schema entwarf, damit Autoren ihren Inhalt (Lehrmaterial) in einem vereinfachten Format schreiben konnten, das dann über XSLT in HTML umgewandelt wurde. Ich habe eine Weile damit herumgespielt (gekämpft) und es auf ein sehr einfaches Niveau gebracht, war dann aber zu verärgert über die Einschränkungen, auf die ich gestoßen bin (die wohl Einschränkungen meines Wissens gewesen sein könnten) und als ich einen Blog las, der einen Graben vorschlug XSLT und schreiben Sie einfach Ihren eigenen XML-to-whatever-Parser in der Sprache Ihrer Wahl. Ich habe mich darauf gefreut und es hat hervorragend geklappt.

Ich arbeite bis heute noch daran ( Ich soll eigentlich gerade daran arbeiten, anstatt an SO zu spielen), und ich sehe immer mehr Dinge, die bewirken Ich denke, dass die Entscheidung, XSLT fallen zu lassen, gut war.

Ich weiß, dass XSLT seinen Platz hat, weil es ein akzeptierter Standard ist und dass, wenn jeder seine eigenen Dolmetscher schreibt, 90% von ihnen auf TheDailyWTF landen werden. Aber da es sich um eine funktionale Stilsprache handelt, anstelle des prozeduralen Stils, mit dem die meisten Programmierer vertraut sind, würden Sie , wenn jemand ein Projekt wie mein eigenes in Angriff nimmt empfehlen, dass sie den Weg gehen, den ich gegangen bin, oder mit XSLT durchhalten ?

111
nickf

Vorteile von XSLT:

  • XML-spezifisch, sodass beispielsweise in der Ausgabe kein Literal-XML angegeben werden muss.
  • Unterstützt XPath/XQuery, eine gute Methode zum Abfragen von DOMs, genauso wie reguläre Ausdrücke eine gute Methode zum Abfragen von Zeichenfolgen sein können.
  • Funktionale Sprache.

Nachteile von XSLT:

  • Kann obszön wörtlich sein - Sie müssen kein wörtliches XML zitieren, was effektiv bedeutet, dass Sie Code zitieren müssen. Und nicht auf hübsche Weise. Andererseits ist es nicht viel schlimmer als eine typische SSI.
  • Tut bestimmte Dinge nicht, die die meisten Programmierer für selbstverständlich halten. Beispielsweise kann die Manipulation von Zeichenfolgen eine lästige Pflicht sein. Dies kann zu "unglücklichen Momenten" führen, in denen Anfänger Code entwerfen und verzweifelt im Web nach Hinweisen suchen, wie sie Funktionen implementieren sollen, von denen sie angenommen haben, dass sie einfach da sind, und sich keine Zeit zum Schreiben geben.
  • Funktionale Sprache.

Ein Weg, um prozedurales Verhalten zu erreichen, besteht übrigens darin, mehrere Transformationen miteinander zu verketten. Nach jedem Schritt müssen Sie ein brandneues DOM bearbeiten, das die Änderungen in diesem Schritt widerspiegelt. Einige XSL-Prozessoren haben Erweiterungen, um dies effektiv in einer Transformation durchzuführen, aber ich vergesse die Details.

Wenn Ihr Code also hauptsächlich ausgegeben wird und nicht viel Logik enthält, kann XSLT eine sehr gute Möglichkeit sein, ihn auszudrücken. Wenn es eine Menge Logik gibt, aber hauptsächlich Formen, die in XSLT integriert sind (wählen Sie alle Elemente aus, die blah aussehen, und geben Sie blah für jede Ausgabe aus), ist dies wahrscheinlich eine recht freundliche Umgebung. Wenn Sie immer gerne XML-konform denken möchten, probieren Sie XSLT 2 aus.

Ansonsten würde ich sagen, wenn Ihre bevorzugte Programmiersprache eine gute DOM-Implementierung hat, die XPath unterstützt und es Ihnen ermöglicht, Dokumente auf nützliche Weise zu erstellen, hat die Verwendung von XSLT nur wenige Vorteile. Bindungen an libxml2 und gdome2 sollten gut funktionieren, und es ist keine Schande, sich an Allzwecksprachen zu halten, die Sie gut kennen.

Eigenentwickelte XML-Parser sind normalerweise entweder unvollständig (in diesem Fall bleiben Sie eines Tages hängen) oder nicht viel kleiner als etwas, das Sie von der Stange haben könnten (in diesem Fall verschwenden Sie wahrscheinlich Ihre Zeit) und geben Sie eine beliebige Anzahl von Möglichkeiten, um schwerwiegende Sicherheitsprobleme um böswillige Eingaben einzuführen. Schreiben Sie keine, es sei denn, Sie wissen genau, was Sie dadurch gewinnen. Das heißt nicht, dass Sie keinen Parser für etwas Einfacheres als XML als Eingabeformat schreiben können, wenn Sie nicht alles benötigen, was XML bietet.

63
Steve Jessop

So viel Negativität!

Ich benutze XSLT seit ein paar Jahren und liebe es wirklich. Der Schlüssel, den Sie erkennen müssen, ist, dass keine Programmiersprache ist, sondern eine Template-Sprache (und diesbezüglich finde ich es unbeschreiblich besser als asp.net/spit).

XML ist heute das De-facto-Datenformat der Webentwicklung, sei es in Konfigurationsdateien, Rohdaten oder in der Speicherrepräsentation. Mit XSLT und XPath erhalten Sie eine enorm leistungsstarke und sehr effiziente Möglichkeit, diese Daten in ein beliebiges Ausgabeformat umzuwandeln, sodass Sie sofort den MVC-Aspekt der Trennung der Präsentation von den Daten erhalten.

Dann gibt es die Utility-Funktionen: Namespaces löschen, unterschiedliche Schemadefinitionen erkennen, Dokumente zusammenführen.

Es muss besser sein, mit XSLT umzugehen , als eigene interne Methoden zu entwickeln. Zumindest ist XSLT ein Standard und etwas, für das Sie sich engagieren könnten, und wenn es jemals wirklich ein Problem für Ihr Team ist, können Sie naturgemäß den größten Teil Ihres Teams nur mit XML arbeiten.

Ein Anwendungsfall aus der Praxis: Ich habe gerade eine App geschrieben, die speicherinterne XML-Dokumente im gesamten System verarbeitet und auf Anforderung des Endbenutzers in JSON, HTML oder XML umwandelt. Ich hatte eine ziemlich zufällige Bitte, als Excel-Daten bereitzustellen. Ein ehemaliger Kollege hatte etwas Ähnliches programmatisch gemacht, aber es erforderte ein Modul aus einigen Klassendateien und dass auf dem Server MS Office installiert war! Es stellt sich heraus, dass Excel über eine XSD verfügt: neue Funktionalität mit minimaler Auswirkung des Basiscodes in 3 Stunden.

Persönlich denke ich, dass es eines der saubersten Dinge ist, die mir in meiner Karriere begegnet sind, und ich glaube, dass alle offensichtlichen Probleme (Debugging, Manipulation von Strings, Programmierstrukturen) auf ein fehlerhaftes Verständnis des Tools zurückzuführen sind.

Offensichtlich glaube ich fest daran, dass es sich "lohnt".

88
annakata

Ich muss hier eine Voreingenommenheit eingestehen, weil ich XSLT für meinen Lebensunterhalt unterrichte. Aber es könnte sich lohnen, die Bereiche abzudecken, in denen meine Schüler arbeiten. Sie sind im Allgemeinen in drei Gruppen unterteilt: Verlagswesen, Bankwesen und Internet.

Viele der bisherigen Antworten lassen sich als "Es ist nicht gut, Websites zu erstellen" oder "Es ist nichts wie Sprache X" zusammenfassen. Viele Techniker durchlaufen ihre Karriere ohne Kontakt zu funktionalen/deklarativen Sprachen. Wenn ich unterrichte, haben die erfahrenen Java/VB/C/etc-Leute Probleme mit der Sprache (Variablen sind Variablen im Sinne von Algebra, zum Beispiel keine prozedurale Programmierung). Das sind viele der Leute, die hier antworten - ich habe mich noch nie mit Java verstanden, aber ich werde mich deswegen nicht die Mühe machen, die Sprache zu kritisieren.

In vielen Fällen ist es ein ungeeignetes Tool zum Erstellen von Websites - eine Allzweck-Programmiersprache ist möglicherweise besser. Ich muss oft sehr große XML-Dokumente nehmen und sie im Web präsentieren. XSLT macht das trivial. Die Studenten, die ich in diesem Bereich sehe, verarbeiten in der Regel Datensätze und präsentieren sie im Web. XSLT ist sicherlich nicht das einzige anwendbare Werkzeug in diesem Bereich. Viele von ihnen verwenden jedoch das DOM, um dies zu tun, und XSLT ist mit Sicherheit weniger schmerzhaft.

Die Bankstudenten, die ich sehe, verwenden im Allgemeinen eine DataPower-Box. Dies ist eine XML-Appliance und wird verwendet, um zwischen Diensten zu sitzen, die verschiedene XML-Dialekte "sprechen". Die Umwandlung von einer XML-Sprache in eine andere ist in XSLT fast trivial, und die Anzahl der Studenten, die meine Kurse besuchen, steigt.

Die endgültige Gruppe der Studenten, die ich sehe, stammt aus dem Verlagswesen (wie ich). Diese Leute haben in der Regel immense Dokumente in XML (glauben Sie mir, das Publizieren als Branche wird immer wichtiger - das technische Publizieren gibt es schon seit Jahren und das Fachverlagswesen gibt es jetzt). Diese Dokumente müssen verarbeitet werden (hier wird auf DocBook to ePub eingegangen).

Jemand über bemerkte, dass Skripte in der Regel weniger als 60 Zeilen umfassen oder unhandlich werden. Wenn es unhandlich wird, ist die Wahrscheinlichkeit groß, dass der Programmierer nicht wirklich auf die Idee gekommen ist - XSLT ist eine ganz andere Denkweise als viele andere Sprachen. Wenn Sie die Denkweise nicht verstehen, wird es nicht funktionieren.

Es ist sicherlich keine absterbende Sprache (die Menge an Arbeit, die ich bekomme, sagt mir das). Momentan ist es ein bisschen „hängengeblieben“, bis Microsoft die (sehr späte) Implementierung von XSLT 2 abgeschlossen hat. Aber es ist immer noch da und scheint aus meiner Sicht stark zu werden.

27
Nic Gibson

Wir verwenden XSLT ausgiebig für Dinge wie Dokumentation und machen einige komplexe Konfigurationseinstellungen vom Benutzer wartbar.

Zur Dokumentation verwenden wir viel DocBook, ein XML-basiertes Format. Auf diese Weise können wir unsere Dokumentation mit unserem gesamten Quellcode speichern und verwalten, da die Dateien nur aus Text bestehen. Mit XSLT können wir problemlos eigene Dokumentationsformate erstellen, sodass wir den Inhalt auf allgemeine Weise automatisch generieren und ihn lesbarer machen können. Wenn wir beispielsweise Versionshinweise veröffentlichen, können wir XML erstellen, das ungefähr so ​​aussieht:

<ReleaseNotes>
    <FixedBugs>
        <Bug id="123" component="Admin">Error when clicking the Foo button</Bug>
        <Bug id="125" component="Core">Crash at startup when configuration is missing</Bug>
        <Bug id="127" component="Admin">Error when clicking the Bar button</Bug>
    </FixedBugs>
</ReleaseNotes>

Und wenn wir dann XSLT verwenden (das das Obige in DocBook umwandelt), erhalten wir Nice-Versionshinweise (normalerweise PDF oder HTML), in denen die Fehler-IDs automatisch mit unserem Fehlerverfolger verknüpft werden, die Fehler nach Komponenten gruppiert werden und das Format von allem perfekt konsistent ist . Die obige XML-Datei kann automatisch generiert werden, indem unser Bug-Tracker nach Änderungen zwischen den Versionen abgefragt wird.

Der andere Ort, an dem wir XSLT als nützlich empfunden haben, ist unser Kernprodukt. Bei der Anbindung an Systeme von Drittanbietern müssen manchmal Daten in einer komplexen HTML-Seite verarbeitet werden. Das Parsen von HTML ist hässlich, daher leiten wir die Daten durch etwas wie TagSoup (was korrekte SAX-XML-Ereignisse generiert, sodass wir mit HTML so umgehen können, als ob es richtig geschriebenes XML wäre), und dann können wir einige ausführen XSLT dagegen, um die Daten in ein "bekanntes stabiles" Format umzuwandeln, mit dem wir tatsächlich arbeiten können. Wenn Sie diese Umwandlung in eine XSLT-Datei aufteilen, bedeutet dies, dass bei einer Änderung des HTML-Formats die Anwendung selbst nicht aktualisiert werden muss. Stattdessen kann der Endbenutzer die XSLT-Datei einfach selbst bearbeiten oder eine E-Mail senden Sie erhalten eine aktualisierte XSLT-Datei, ohne dass das gesamte System aktualisiert werden muss.

Ich würde sagen, dass es für Webprojekte heute bessere Möglichkeiten gibt, die Ansichtsseite zu handhaben als für XSLT, aber als Technologie gibt es definitiv Verwendungsmöglichkeiten für XSLT. Es ist nicht die einfachste Sprache der Welt, aber es ist definitiv nicht tot und hat aus meiner Sicht immer noch viele gute Verwendungen.

24
Adam Batkin

XSLT ist ein Beispiel für eine deklarative Programmierung Sprache.

Andere Beispiele für deklarative Programmiersprachen sind reguläre Ausdrücke, Prolog und SQL. Alle diese Elemente sind äußerst ausdrucksstark und kompakt und in der Regel sehr gut gestaltet und leistungsstark für die Aufgabe, für die sie entwickelt wurden.

Softwareentwickler hassen solche Sprachen jedoch im Allgemeinen, weil sie sich so stark von Mainstream- OO oder prozeduralen Sprachen unterscheiden, dass sie schwer zu erlernen und zu debuggen sind. Ihre kompakte Bauweise macht es im Allgemeinen sehr einfach, versehentlich viel Schaden anzurichten.

Während XSLT ein effizienter Mechanismus zum Zusammenführen von Daten in Präsentationen ist, scheitert es in der benutzerfreundlichen Abteilung. Ich glaube, deshalb hat es sich nicht wirklich durchgesetzt.

19
Bill Karwin

Ich erinnere mich an den ganzen Hype um XSLT, als der Standard neu veröffentlicht wurde. Die ganze Aufregung, mit einer "einfachen" Transformation eine komplette HTML-Benutzeroberfläche erstellen zu können.

Seien wir ehrlich, es ist schwer zu benutzen, fast unmöglich zu debuggen, oft unerträglich langsam. Das Endergebnis ist fast immer schrullig und nicht ideal.

Ich werde eher an meinem eigenen Bein nagen, als ein XSLT zu verwenden, während es bessere Möglichkeiten gibt, Dinge zu tun. Trotzdem hat es seinen Platz, es ist gut für einfache Transformationsaufgaben.

12
Crusty

Ich habe XSLT (und auch XQuery) ausgiebig für verschiedene Zwecke verwendet - zum Generieren von C++ - Code als Teil des Erstellungsprozesses, zum Erstellen von Dokumentationen aus Dokumentkommentaren und in einer Anwendung, die im Allgemeinen mit XML und im Besonderen viel mit XHTML arbeiten musste . Insbesondere der Codegenerator enthielt mehr als 10.000 Zeilen XSLT 2.0-Code, der auf rund ein Dutzend separate Dateien verteilt war (es gab eine Menge zu tun - Header für Clients, Remoting-Proxys/Stubs, COM-Wrapper, .NET-Wrapper, ORM - um nur einige zu nennen) ein paar). Ich habe es über einen anderen Mann geerbt, der die Sprache nicht wirklich gut verstand, und die älteren Teile waren folglich ziemlich chaotisch. Neuere Sachen, die wir geschrieben haben, wurden jedoch größtenteils vernünftig und lesbar gehalten, und ich kann mich nicht an besondere Probleme erinnern, die damit verbunden waren. Es war sicherlich nicht schwieriger, als es für C++ zu tun.

Apropos Versionen, der Umgang mit XSLT 2.0 hilft definitiv dabei, vernünftig zu bleiben, aber 1.0 ist für einfachere Transformationen immer noch in Ordnung. In seiner Nische ist es ein äußerst praktisches Tool, und die Produktivität, die Sie durch bestimmte domänenspezifische Funktionen (vor allem dynamischer Versand über Vorlagenabgleich) erzielen, ist schwer zu erreichen. Trotz der vermeintlichen Wortgewandtheit der XML-basierten XSLT-Syntax war das Gleiche in LINQ to XML (auch in VB mit XML-Literalen)) in der Regel um ein Vielfaches länger. Sehr oft wird es jedoch unverdient wegen der unnötigen Verwendung von XML in einigen Fällen an erster Stelle.

Zusammenfassend gesagt: Es ist ein unglaublich nützliches Werkzeug, das man in seiner Werkzeugkiste hat, aber es ist sehr spezialisiert, und es ist gut, solange man es richtig und für den vorgesehenen Zweck einsetzt. Ich wünschte wirklich, es gäbe eine ordnungsgemäße native .NET-Implementierung von XSLT 2.0.

10
Pavel Minaev

Ich verwende XSLT (mangels besserer Alternative), aber nicht zur Präsentation, sondern nur zur Transformation:

  1. Ich schreibe kurze XSLT-Transformationen, um Massenbearbeitungen an unseren maven pom.xml-Dateien durchzuführen.

  2. Ich habe eine Pipeline von Transformationen geschrieben, um XML-Schemata aus XMI (UML-Diagramm) zu generieren. Es hat eine Weile funktioniert, aber es wurde schließlich zu komplex und wir mussten es hinter der Scheune herausnehmen.

  3. Ich habe Transformationen verwendet, um XML-Schemata umzugestalten.

  4. Ich habe einige Einschränkungen in XSLT umgangen, indem ich damit ein XSLT für die eigentliche Arbeit generiert habe. (Haben Sie jemals versucht, ein XSLT zu schreiben, das eine Ausgabe mit Namespaces erzeugt, die erst zur Laufzeit bekannt sind?)

Ich komme immer wieder darauf zurück, weil es das XML, das es verarbeitet, besser verarbeitet als andere Ansätze, die mir unnötig verlustreich erschienen oder XML einfach falsch verstanden haben. XSLT ist unangenehm, aber ich finde die Verwendung von Sauerstoff erträglich.

Trotzdem untersuche ich die Verwendung von Clojure (ein LISP), um Transformationen von XML durchzuführen, aber ich bin noch nicht weit genug gekommen, um zu wissen, ob dieser Ansatz mir Vorteile bringt.

9
bendin

Persönlich habe ich XSLT in einem völlig anderen Kontext verwendet. Das Computerspiel, an dem ich zu der Zeit arbeitete, verwendete Tonnen von Benutzeroberflächenseiten, die mit XML definiert wurden. Bei einem großen Umbau kurz nach einer Veröffentlichung wollten wir die Struktur dieser XML-Dokumente ändern. Wir haben dafür gesorgt, dass das Eingabeformat des Spiels einer viel besseren und schemasensitiven Struktur folgt.

XSLT schien die perfekte Wahl für diese Übersetzung aus dem alten Format -> Neues Format zu sein. Innerhalb von zwei Wochen hatte ich eine funktionierende Umstellung von alt auf neu für unsere Hunderte von Seiten. Ich konnte damit auch viele Informationen zum Layout unserer Benutzeroberflächenseiten extrahieren. Ich habe Listen erstellt, welche Komponenten relativ einfach in welche eingebettet wurden, und diese dann mit XSLT in unsere Schemadefinitionen geschrieben.

Aus dem C++ - Hintergrund stammend, war es eine sehr unterhaltsame und interessante Sprache, die man beherrschen konnte.

Ich denke, dass es als Tool zum Übersetzen von XML von einem Format in ein anderes fantastisch ist. Es ist jedoch nicht die einzige Möglichkeit, einen Algorithmus zu definieren, der XML als Ein- und Ausgabe verwendet Something. Wenn Ihr Algorithmus ausreichend komplex ist, spielt die Tatsache, dass die Eingabe XML ist, für die Wahl des Tools keine Rolle. In C++/Python/whatever.

Speziell für Ihr Beispiel würde ich mir vorstellen, dass die beste Idee darin besteht, eine eigene XML-> XML-Konvertierung zu erstellen, die Ihrer Geschäftslogik folgt. Als nächstes schreiben Sie einen XSLT-Übersetzer, der sich nur mit Formatierung auskennt und nichts Schlaues macht. Das mag ein guter Mittelweg sein, aber es hängt ganz davon ab, was Sie tun. Mit einem XSLT-Übersetzer für die Ausgabe können Sie leichter alternative Ausgabeformate erstellen - zum Drucken, für Handys usw.

7
Tom Leys

Ja, ich benutze es oft. Durch die Verwendung verschiedener xslt-Dateien kann ich dieselbe XML-Quelle verwenden, um mehrere mehrsprachige (X) HTML-Dateien (die dieselben Daten auf unterschiedliche Weise darstellen), einen RSS-Feed, einen Atom feed, a RDF Deskriptordatei und Fragment einer Sitemap.

Es ist kein Allheilmittel. Es gibt Dinge, die es gut macht und Dinge, die es nicht gut macht, und wie bei allen anderen Aspekten der Programmierung geht es darum, das richtige Werkzeug für den richtigen Job zu verwenden. Es ist ein Werkzeug, das es sich lohnt, in Ihrer Toolbox zu haben, aber es sollte nur verwendet werden, wenn es dazu angemessen ist.

6
Alohci

Ich würde auf jeden Fall empfehlen, es rauszuhalten. Insbesondere, wenn Sie Visual Studio verwenden, das über integrierte Tools zum Bearbeiten, Anzeigen und Debuggen von XSLT-Inhalten verfügt.

Ja, es ist ein Schmerz, während Sie lernen, aber der meiste Schmerz hat mit Vertrautheit zu tun. Der Schmerz lässt mit dem Erlernen der Sprache nach.

W3schools hat zwei Artikel, die von besonderem Wert sind: http://www.w3schools.com/xpath/xpath_functions.asphttp://www.w3schools.com/xsl/xsl_functions). asp

4
Nat

Es ist schwierig, mit XSLT zu arbeiten, aber wenn Sie es erst einmal erobert haben, haben Sie ein sehr gründliches Verständnis des DOM und des Schemas. Wenn Sie auch XPath verwenden, werden Sie auf dem Weg zum Erlernen der funktionalen Programmierung neue Techniken und Methoden zur Problemlösung kennenlernen. In einigen Fällen ist die sukzessive Transformation leistungsfähiger als prozedurale Lösungen.

3
David Robbins

Früher hielt ich XSLT für eine großartige Idee. Ich meine es ist eine großartige Idee.

Wo es fehlschlägt, ist die Ausführung.

Das Problem, das ich im Laufe der Zeit entdeckte, war, dass Programmiersprachen in XML nur eine schlechte Idee sind. Es macht das Ganze undurchdringlich. Insbesondere denke ich, dass XSLT sehr schwer zu lernen, zu codieren und zu verstehen ist. Das XML über den funktionalen Aspekten macht das Ganze einfach zu verwirrend. Ich habe ungefähr 5 Mal in meiner Karriere versucht, es zu lernen, und es bleibt einfach nicht hängen.

OK, Sie könnten es "bearbeiten" - ich denke, das war zum Teil der Grund für das Design -, aber das ist der zweite Fehler: Alle XSLT-Tools auf dem Markt sind ganz einfach ... Mist!

3
Schneider

Irgendwann im Jahr 2004 habe ich XML, XSD und XSLT in einem Integrationsprojekt zwischen sehr unterschiedlichen Datenbanksystemen verwendet. Ich musste XSD und XSLT von Grund auf lernen, aber es war nicht schwer. Das Tolle an diesen Tools war, dass ich datenunabhängigen C++ - Code schreiben konnte, wobei ich mich auf XSD und XSLT stützte, um die XML-Dokumente zu validieren/zu verifizieren und anschließend zu transformieren. Ändern Sie das Datenformat, ändern Sie die XSD- und XSLT-Dokumente, nicht den C++ - Code, der die Xerces-Bibliotheken verwendet hat.

Aus Gründen des Interesses: Die Haupt-XSD betrug 150 KB und die durchschnittliche Größe der XSLT <5 KB IIRC.

Der andere große Vorteil ist, dass das XSD ein Spezifikationsdokument ist, auf dem das XSLT basiert. Die beiden arbeiten in Harmonie. Und Spezifikationen sind heutzutage in der Softwareentwicklung selten.

Obwohl ich keine großen Probleme hatte, die deklarative Natur von XSD und XSLT zu erlernen, stellte ich fest, dass andere C/C++ - Programmierer große Probleme hatten, sich an die deklarative Art anzupassen. Als sie sahen, dass es das war, murmelten sie, nachdem ich es verstanden hatte! Und sie fuhren fort (Wortspiel?), Prozedurales XSLT zu schreiben! Die Sache ist, dass Sie XPath lernen und die Achsen von XML verstehen müssen. Erinnert mich an alte C-Programmierer, die sich daran gewöhnt haben, beim Schreiben von C++ OO) zu verwenden.

Ich habe diese Tools verwendet, um eine kleine C++ - Codebasis zu schreiben, die von allen bis auf die grundlegendsten Änderungen der Datenstruktur isoliert war. Letztere waren Änderungen der DB-Struktur. Auch wenn ich C++ gegenüber einer anderen Sprache bevorzuge, verwende ich das, was ich für nützlich halte, um die langfristige Rentabilität eines Softwareprojekts zu verbessern.

3
Sam

Ich verwende XSLT ausgiebig für ein benutzerdefiniertes MVC-Frontend. Das Modell wird in xml "serialisiert" (nicht über xml serializaiton) und dann über xslt in html konvertiert. Der Vorteil gegenüber ASP.NET liegt in der natürlichen Integration in XPath und den strengeren Anforderungen an die Form (die Dokumentstruktur ist in xslt viel einfacher zu beurteilen als in den meisten anderen Sprachen).

Leider weist die Sprache einige Einschränkungen auf (z. B. die Möglichkeit, die Ausgabe einer anderen Transformation zu transformieren), was dazu führt, dass es gelegentlich frustrierend ist, damit zu arbeiten.

Die leicht erreichbare, stark erzwungene Trennung von Bedenken, die damit einhergeht, sehe ich derzeit jedoch nicht als eine andere Technologie. Für Dokumenttransformationen ist sie daher immer noch etwas, das ich empfehlen würde.

3
Eamon Nerbonne

Ich habe festgestellt, dass es ziemlich schwierig ist, mit XSLT zu arbeiten.

Ich habe Erfahrung mit einem System, das dem von Ihnen beschriebenen ähnelt. Mein Unternehmen bemerkte, dass die Daten, die wir von "der mittleren Ebene" zurückgaben, in XML waren und dass die Seiten in HTML gerendert werden sollten, was auch XHTML sein könnte. Außerdem hatten sie gehört, dass XSL ein Standard für die Transformation zwischen XML ist Formate. Die "Architekten" (unter denen ich Leute verstehe, die tiefgreifende Designgedanken, aber anscheinend keinen Code haben) entschieden, dass unsere vordere Ebene durch das Schreiben von XSLT-Skripten implementiert wird, die die Daten zur Anzeige in XHTML umwandeln.

Die Wahl stellte sich als katastrophal heraus. Es stellt sich heraus, dass das Schreiben von XSLT sehr schwierig ist. Und so waren alle unsere Seiten schwer zu schreiben und zu pflegen. Wir hätten es viel besser gemacht, JSP (dies war in Java) oder einen ähnlichen Ansatz zu verwenden, der eine Art von Markup (spitze Klammern) für das Ausgabeformat (HTML) und eine andere Art von Markup (wie <% ... %>) für die Metadaten. Das Verwirrendste an XSLT ist, dass es in XML geschrieben ist und von XML in XML übersetzt wird. Es ist ziemlich schwierig, alle drei verschiedenen XML-Dokumente im Kopf zu behalten.

Ihre Situation ist etwas anders: Anstatt wie ich jede Seite in XSLT zu erstellen, müssen Sie nur EIN Bit Code in XSLT schreiben (den Code, der von Vorlagen in Anzeigen konvertiert werden soll). Aber es hört sich so an, als wären Sie auf die gleiche Schwierigkeit gestoßen wie ich. Ich würde sagen, dass der Versuch, eine einfache XML-basierte DSL (domänenspezifische Sprache) wie Sie zu interpretieren, KEINE der Stärken von XSLT ist. (Obwohl es den Job machen KANN ... immerhin ist es IS Turing complete!)

Wenn das, was Sie hatten, jedoch einfacher war: Sie haben Daten in einem XML-Format und wollten einfache Änderungen daran vornehmen - keine DSL mit vollständiger Seitenbeschreibung, sondern einige einfache Modifikationen - dann ist XSLT ein ausgezeichnetes Werkzeug für diesen Zweck. Die deklarative (nicht prozedurale) Natur ist tatsächlich ein Vorteil für diesen Zweck.

- Michael Chermside

3
mcherm

Es kommt darauf an, wofür Sie es brauchen. Seine Hauptstärke ist die einfache Wartbarkeit der Transformation, und das Schreiben eines eigenen Parsers macht dies im Allgemeinen zunichte. Trotzdem ist ein System manchmal klein und einfach und benötigt wirklich keine "ausgefallene" Lösung. Solange Ihr Code-basierter Builder austauschbar ist, ohne dass Sie anderen Code ändern müssen, ist das keine große Sache.

Was die Hässlichkeit von XSL betrifft, so ist es hässlich. Ja, es ist gewöhnungsbedürftig. Aber sobald Sie den Dreh raus haben (es sollte nicht lange dauern, IMO), läuft es tatsächlich reibungslos. Kompilierte Transformationen können meiner Erfahrung nach recht schnell ausgeführt werden, und Sie können sie mit Sicherheit debuggen.

2
SpongeJim

Die XSLT-Spezifikation definiert XSLT als "eine Sprache zum Transformieren von XML-Dokumenten in andere XML-Dokumente". Wenn Sie versuchen, etwas anderes als die grundlegendste Datenverarbeitung in XSLT zu tun, gibt es wahrscheinlich bessere Lösungen.

Erwähnenswert ist auch, dass die Datenverarbeitungsfunktionen von XSLT in .NET mithilfe benutzerdefinierter Erweiterungsfunktionen erweitert werden können:

2
Eric Schoonover

Ich glaube immer noch, dass XSLT nützlich sein kann, aber es ist eine hässliche Sprache und kann zu einem schrecklichen, unlesbaren, nicht zu wartenden Durcheinander führen. Zum einen, weil XML nicht lesbar genug ist, um eine "Sprache" zu bilden, und zum anderen, weil XSLT irgendwo zwischen deklarativ und prozedural steckt. Trotzdem, und ich denke, ein Vergleich kann mit regulären Ausdrücken gezogen werden, hat er seine Verwendung, wenn es um einfache, genau definierte Probleme geht.

Die Verwendung des alternativen Ansatzes und das Parsen von XML im Code kann ebenso unangenehm sein, und Sie möchten unbedingt eine Art XML-Marshalling/Binding-Technologie (wie JiBX in Java) einsetzen, mit der Sie XML direkt in ein Objekt konvertieren können.

2
Tom Martin

Ich unterhalte ein Online-Dokumentationssystem für mein Unternehmen. Die Autoren erstellen die Dokumentation in SGML (eine XML-ähnliche Sprache). Die SGML wird dann mit XSLT kombiniert und in HTML umgewandelt.

Auf diese Weise können wir das Dokumentationslayout einfach und ohne Programmieraufwand ändern. Es ist nur eine Frage der Änderung des XSLT.

Das funktioniert gut für uns. In unserem Fall ist es ein schreibgeschütztes Dokument. Der Benutzer interagiert nicht mit der Dokumentation.

Außerdem arbeiten Sie mit XSLT näher an Ihrer Problemdomäne (HTML). Ich halte das immer für eine gute Idee.

Wenn Ihr aktuelles System funktioniert, lassen Sie es in Ruhe. Ich würde niemals vorschlagen, Ihren vorhandenen Code zu verwerfen. Wenn ich von vorne anfangen würde, würde ich XSLT verwenden, aber in Ihrem Fall würde ich das verwenden, was Sie haben.

2
Mashed Potato

Wenn Sie XSLT in einem deklarativen Stil verwenden können (obwohl ich nicht ganz zustimme, dass es eine deklarative Sprache ist), halte ich es für nützlich und aussagekräftig.

Ich habe Web-Apps geschrieben, die eine OO Sprache (in meinem Fall C #)) verwenden, um die Daten-/Verarbeitungsebene zu verwalten, aber XML statt HTML ausgeben. Dies kann dann direkt von Clients als verwendet werden Eine Daten-API oder von XSLTs als HTML gerendert. Da das C # XML ausgibt, das mit dieser Verwendung strukturell kompatibel ist, verlief alles reibungslos und die Präsentationslogik wurde deklarativ gehalten. Es war einfacher zu folgen und zu ändern, als die Tags von zu senden C #.

Wenn Sie jedoch mehr Verarbeitungslogik auf XSLT-Ebene benötigen, wird diese verworren und ausführlich - auch wenn Sie den Funktionsstil "verstehen".

Natürlich hätte ich diese Web-Apps heutzutage wahrscheinlich über eine REST-konforme Oberfläche geschrieben - und ich denke, dass Daten- "Sprachen" wie JSON in Bereichen an Bedeutung gewinnen, in denen XML traditionell von XSLT transformiert wurde. Derzeit ist XSLT jedoch immer noch eine wichtige und nützliche Technologie.

2
philsquared

In einer früheren Firma haben wir viel mit XML und XSLT gemacht. Sowohl XML als auch XSLT sind groß.

Ja, es gibt eine Lernkurve, aber dann haben Sie ein mächtiges Werkzeug, um mit XML umzugehen. Sie können sogar XSLT unter XSLT verwenden (was manchmal nützlich sein kann).

Die Leistung ist ebenfalls ein Problem (bei sehr umfangreichem XML). Sie können dies jedoch mithilfe von Smart XSLT beheben und mit dem (generierten) XML eine Vorverarbeitung durchführen.

Jeder mit XSLT-Kenntnissen kann das Erscheinungsbild des fertigen Produkts ändern, da es nicht kompiliert wird.

1
Toon Krijthe

Ich habe schon einmal XSLT verwendet. Die Gruppe von 6 .xslt-Dateien (überarbeitet aus einer großen) bestand aus 2750 Zeilen, lange bevor ich sie in C # umschrieb. Der C # -Code besteht derzeit aus 4000 Zeilen, die viel Logik enthalten. Ich möchte nicht einmal darüber nachdenken, was nötig gewesen wäre, um in XSLT zu schreiben.

Der Punkt, an dem ich aufgab, war, als mir klar wurde, dass das Fehlen von XPATH 2.0 meine Fortschritte erheblich beeinträchtigte.

1
Sam Harwell

Um Ihre drei Fragen zu beantworten:

  1. Ich habe XSLT vor einigen Jahren einmal verwendet.
  2. Ich glaube, dass XSLT unter bestimmten Umständen die richtige Lösung sein könnte. (Sag niemals nie)
  3. Ich stimme Ihrer Einschätzung eher zu, dass es hauptsächlich für 'einfache' Transformationen nützlich ist. Aber ich denke, solange Sie XSLT gut verstehen, gibt es einen Grund, es für größere Aufgaben wie das Veröffentlichen einer Website als in HTML umgewandeltes XML zu verwenden.

Ich glaube, der Grund, warum viele Entwickler XSLT nicht mögen, ist, dass sie das grundlegend andere Paradigma, auf dem es basiert, nicht verstehen. Aber mit dem jüngsten Interesse an funktionaler Programmierung könnte XSLT ein Comeback erleben ...

1
Dawie Strauss

Ich habe viel Zeit mit XSLT verbracht und festgestellt, dass es zwar in manchen Situationen ein nützliches Tool ist, aber definitiv nicht alles. Es funktioniert sehr gut für B2B-Zwecke, wenn es für die Datenübersetzung für maschinenlesbare XML-Eingabe/Ausgabe verwendet wird. Ich glaube nicht, dass Sie in Ihrer Aussage zu den Einschränkungen auf dem falschen Weg sind. Eines der Dinge, die mich am meisten frustrierten, waren die Nuancen bei der Implementierung von XSLT.

Vielleicht sollten Sie sich einige der anderen verfügbaren Auszeichnungssprachen ansehen. Ich glaube, Jeff hat genau zu diesem Thema einen Artikel über Stack Overflow geschrieben.

Ist HTML eine humane Auszeichnungssprache?

Ich würde mir ansehen, was er geschrieben hat. Sie können wahrscheinlich ein Softwarepaket finden, das "out of the box" oder zumindest sehr nah dran ist, anstatt Ihre eigenen Sachen von Grund auf zu schreiben.

1
Jason Jackson

Ein Ort, an dem xslt wirklich glänzt, ist die Erstellung von Berichten. Ich habe festgestellt, dass ein 2-Schritt-Prozess, mit dem ersten Schritt Exportieren der Berichtsdaten als XML-Datei und dem zweiten Schritt Generieren des visuellen Berichts aus dem XML mit XSLT. Dies ermöglicht visuelle Berichte in Nizza, während die Rohdaten bei Bedarf als Validierungsmechanismus beibehalten werden.

1
Jack Ryan

Ich persönlich mag XSLT, und vielleicht möchten Sie dem vereinfachte Syntax einen Look geben (keine expliziten Vorlagen, nur eine normale alte HTML-Datei mit ein paar XSLT-Tags, um Werte hineinzugeben), aber es ist einfach nicht so nicht für alle.

Vielleicht möchten Sie Ihren Autoren nur ein einfaches Wiki oder eine Markdown-Oberfläche anbieten. Auch dafür gibt es Bibliotheken, und wenn XSLT für Sie nicht funktioniert, funktioniert XML möglicherweise auch nicht für Sie.

1
brianary

Ich bin derzeit damit beauftragt, Daten von einer öffentlichen Website zu kratzen (ja, ich weiß). Zum Glück entspricht es xhtml, so dass ich xslt verwenden kann, um die benötigten Daten zu sammeln. Die resultierende Lösung ist lesbar, sauber und bei Bedarf einfach zu ändern. Perfekt!

1
Goran

Ich denke, Sie haben das Richtige getan. Nach meiner Erfahrung sind XSLT-Entwickler unter den am schwersten zu beschäftigenden, da es sich um eine Sprache handelt, die weder bei Webentwicklern noch bei Gelegenheitsprogrammierern Anklang gefunden hat.

Sie müssen also letztendlich den "fortgeschrittenen Programmierer, der eine Sprache außerhalb des Mainstreams beherrscht" bezahlen, aber für eine Sprache, die wahrscheinlich nicht der Favorit dieses Programmierers ist.

0
Larry OBrien

Ich habe ziemlich gute Erfahrungen mit XSLT gemacht, aber ich habe mich nicht in HTML verwandelt. Es kann sein, dass die XSLT-HTML-Kombination sehr schwierig ist, Dinge zu erledigen.

0
Rolf

Meiner Meinung nach ja.

Ein großartiges Beispiel für eine wirklich coole Verwendung von XSLT finden Sie in Blizzards World of Warcraft-Waffen.

http://www.wowarmory.com

0
Vinh

XSLT 1.0 ist einer der portabelsten Codes, zumindest auf Desktop- und Servercomputern. Weil es auf den meisten dieser Systeme eine (und oft viele) Laufzeit hat:

  • Microsoft Windows verfügt über MSXML, das mindestens seit Windows 2000 auf dem Basissystem installiert ist. Es kann sowohl von MSIE, über die Befehlszeile (mit WSH) oder von Office-Anwendungen aus verwendet werden
  • Die Java Runtime Environment (JRE)) hat eine XSLT-Laufzeit, und auf den meisten Desktops ist eine JRE installiert
  • Fast alle gängigen Webbrowser haben einen. Opera ist die Ausnahme.
  • Es gibt kostenlose Implementierungen, die standardmäßig auf großen GNU basierten Betriebssystemen (libxslt, xsltproc) installiert sind.
  • Ich habe MacOS X nicht überprüft, aber es ist zumindest in Safari implementiert

Dies macht es zu einer guten Gelegenheit, einige Anwendungen zu erstellen, die sowohl Portabilität als auch geringes Gewicht/keine Installation erfordern.

Außerdem benötigt XSLT nur eine Laufzeit (kein Compiler erforderlich) und Sie können den Code nur mit einem beliebigen Texteditor erstellen. So können Sie Programme einfach von jedem Desktop aus erstellen (na ja, sobald Sie die Sprache beherrschen).

0
dolmen

Ich habe XSLT ausgiebig genutzt ... für ein paar Stunden. Es ist cool für Dinge wie das Ändern von Elementnamen oder das Filtern eines Eingabedokuments (Entfernen von Dingen, die Sie nicht benötigen).

Alles andere wird sehr schnell komplex. Diese erben Komplexität plus das Fehlen der meisten Dinge, die Sie aus anderen Programmiersprachen (wie Variablen) verwenden, und die einfachen Möglichkeiten, XPath-Ausdrücke unlesbar zu machen, schaden wirklich.

Am Ende leidet XSLT unter einem Schisma: Programmierer mögen es nicht, weil es Einschränkungen unterliegt, und alle anderen können es überhaupt nicht verwenden (zum Beispiel Webdesigner oder andere Nicht-Programmierer).

Wenn XSLT als eine Art SQL für XML hochgestuft worden wäre, wären die Dinge etwas anders. Erstens hätten sich die Leute nicht einmal die Mühe gemacht, es anzusehen. Und diejenigen, die das taten, wären nicht von dem Schmerz überrascht gewesen.

0
Aaron Digulla

Ich denke, das Konzept ist solide, vielleicht ist die Ausführung nicht so 'sauber', wie es sein könnte.

Wie auch immer ich denke, es sollte als Werkzeug behandelt werden, es ist möglicherweise nicht ratsam, es in jedem Fall zu verwenden, jedoch sollte man ein Werkzeug beim Lösen von Lösungen niemals ignorieren.

Ich habe sehr gutes XSLT und auch eine sehr schlechte Verwendung von XSLT gesehen, und ich komme zu dem Schluss, dass einige davon auf die Fähigkeiten des Entwicklers zurückzuführen sind. Ich denke, es ist eine, die der Entwickler benötigt, um in mehreren Domänen gleichzeitig zu denken.

Ist es die Zukunft? vielleicht nicht, vielleicht gibt es bessere Lösungen ..

Ich weiß nicht, welche neue Technologie auf mich zukommt, aber es ist immerhin das Beste, sie zu erlernen. Eine Erweiterung des eigenen Werkzeugsatzes kann sicherlich keine schlechte Sache sein.

0
Darknight

Ich benutze XSLT, um Fehler in sehr komplexen XML-Dateien zu korrigieren. Anstatt also die Fehler in der XML zu behandeln, benutze ich xslt, um sie zu korrigieren.

Das ist toll. Weil die Sprache so mächtig ist und zum XML-Anwendungsfall passt. Um die gleichen Dinge in einer gewöhnlichen Programmiersprache zu tun, brauchte ich sehr viel Zeit, um meinen Code jedes Mal anzupassen, wenn eine neue Variante auftaucht.

Es ist auch nützlich, Visual Studio-Lösungen zu migrieren, ohne dass Microsoft entscheidet, welche Dinge geändert werden sollen. Also konvertiere eine Lösung. Überprüfen Sie, was sich geändert hat. Setzen Sie die Dinge zurück, die Sie nicht ändern möchten, und führen Sie das xslt-Skript aus, das den Job für alle Dateien ausführt.

Ich habe es also nie für Webpräsentationen oder ähnliches verwendet, aber es hilft mir bei meinen xml-basierten Problemen. Und um diese Probleme zu lösen, ist es wirklich sehr, sehr mächtig und es lohnt sich, einen Blick darauf zu werfen.

0
Totonga

XSLT ist nicht das A und O der XML-Transformation. Es ist jedoch sehr schwierig, anhand der gegebenen Informationen zu beurteilen, ob dies die beste Lösung für Ihr Problem gewesen wäre oder ob es andere effizientere und wartbarere Ansätze gibt. Sie sagen, die Autoren könnten ihren Inhalt in einem vereinfachten Format eingeben - in welchem ​​Format? Textfelder? In welche Art von HTML haben Sie es konvertiert? Um zu beurteilen, ob XSLT das richtige Tool für den Job ist, sollten Sie die Funktionen dieser Umwandlung genauer kennen.

0
Shmoggle

Auch ich habe mich auf den Weg in die Welt von XSLT gemacht und fand es stellenweise etwas umständlich. Ich glaube, mein Hauptproblem war die Schwierigkeit, "reine Daten" -XML in eine vollständige HTML-Seite zu konvertieren. Im Nachhinein hätte die Verwendung von XSLT zum Generieren eines Seitenfragments, das mit anderen Fragmenten unter Verwendung von Server Side Scripting (z. B. SSI) zusammengesetzt werden könnte, viele meiner Probleme gelöst.

Einer der möglichen Fehler bestand darin, ein allgemeines Seitenlayout zu erstellen, das meine Daten umgibt, indem XHTML- oder andere XML-Daten mithilfe der document () -Funktion importiert werden.

Der andere Fehler bestand darin, programmatische Aktionen wie das Erstellen einer allgemeinen Vorlage zum Generieren von Tabellen für XML-Daten mit Logik durchzuführen, bei der beispielsweise unterschiedliche Hintergrundzeilenfarben für Zeilen mit bestimmten Werten verwendet wurden und Sie einige herauszufilternde Spalten angeben konnten.

Ganz zu schweigen von dem Versuch, eine String-Liste von Werten aus XML-Daten zu erstellen, die nur mithilfe von rekursiven Vorlagenaufrufen lösbar zu sein schienen.

Was habe ich gewonnen? Nun, die Seitenquelle sind XML-Daten, die dem Betrachter zur Verfügung stehen. Daten und Darstellung sind sauber getrennt.

Würde ich es nochmal machen? Wahrscheinlich nicht, es sei denn, ich wollte wirklich eine Daten-/Präsentationstrennung auf einer statischen Seite. Andernfalls würde ich wahrscheinlich eine Rails oder Java EE-App schreiben, die mithilfe von Vorlagen eine XML-Ansicht oder eine HTML-Ansicht generieren könnte - alle Vorteile, aber mit Eine (für mich) viel natürlichere Programmiersprache zum Anfassen.

0

Ich benutze XSLT nur zum Ändern der Baumstruktur von XML-Dokumenten. Ich finde es umständlich, irgendetwas in Bezug auf die Textverarbeitung zu tun und dies auf ein benutzerdefiniertes Skript zu verweisen, das ich vor oder nach dem Anwenden eines XSLT auf ein XML-Dokument ausführen kann.

XSLT 2.0 enthielt viel mehr String-Funktionen, aber ich denke, es passt nicht gut zu der Sprache und es gibt nicht viele Implementierungen von XSLT 2.0.

0
Ben

In Bezug auf die reine Produktivität ist es besser, eine der jQuery-ähnlichen Bibliotheken zu verwenden - pyQuery, phpQuery usw. Die meisten XML-Bibliotheken sind nichts Besonderes, und XSLT ist im Grunde nur eine weitere XML-Bibliothek, die als vollständige Sprache, aber ohne angemessene Tools verpackt ist . Mit jQuery ist es unglaublich einfach, XML-Formatdaten in der Sprache Ihrer Wahl zu verarbeiten und zu bearbeiten.

0
Jimmy

In Bezug auf Interoperabilität ist XML ein Standard für die Informationsspeicherung. Eine ganze Reihe von Werkzeugen erzeugt eine Ausgabe in XML und gibt es eine bessere (oder einfachere) Möglichkeit, diese zu präsentieren, als einen Browser in Ihre App einzubetten, das XML zu formatieren und in den Browser zu integrieren.

0
Midhat

Ich muss hier mit XSLT arbeiten, weil jemand der Meinung ist, dass es eine gute Idee ist, ein bestimmtes Problem zu lösen: Wir müssen einige Daten aus mehreren XML-Dateien extrahieren und sie zu verschiedenen Ausgabeformaten für verschiedene Tools zusammenfügen, die die weitere Verarbeitung durchführen.

Zumindest fand ich, dass XSLT eine sehr gute Idee ist, da es ein Standard ist, auf den man sich verlassen kann. Dies gilt für einfache Formatierungsaufgaben, bei denen Sie nicht viel Programmierlogik oder Algorithmen in Ihrem Code benötigen.

Aber: Es ist ein ziemlicher Lernschritt, da es nicht prozedural ist. Wenn Sie sich an die prozedurale Programmierung (C, Java, Perl, PHP usw.) gewöhnt haben, werden Sie eine Menge gängiger Strukturen vermissen, oder Sie werden sich über Dinge wundern, die für ein ungeübtes Auge einfach nur lästig und manchmal nicht wirklich lesbar sind. Beispiel: Schreiben von "wiederverwendbarem" Code: Wenn Sie in der prozeduralen Programmierung an verschiedenen Stellen immer wieder etwas tun müssen, definieren Sie eine Funktion, um dies zu tun. Sie können solche Dinge auch in XSLT erreichen, aber es muss mehr Code geschrieben werden und ist nicht so lesbar/verständlich wie eine normale Funktion.

Das Hauptproblem, das ich habe, ist, dass viele Leute mit einem prozeduralen Hintergrund inzwischen an den XSLT-Dateien gearbeitet haben und fast jeder nur das "emuliert" hat, was er brauchte.

Fazit: Ich sehe XSLT nicht mehr als "die ultimative" Lösung. Tatsächlich ist es mühsam, einige Konstrukte in XSLT zu lesen oder zu schreiben. In den meisten Fällen müssen Sie über die Anwendung nachdenken: Für eine einfache Transformation werde ich wahrscheinlich wieder XSLT verwenden. Aber für komplexere Software werde ich es nicht wieder verwenden.

0
Murphy