Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

19.05.2000 - 

Open-Source-Implementierungen als Gegenpol

XSLT-Tools großer Anbieter sind nicht standardkonform

MÜNCHEN (ws) - XSLT-Prozessoren sind zunehmend Bestandteil größerer Softwarepakete. Anbieter wie Microsoft und Oracle legen dabei keinen besonderen Wert auf Übereinstimmung mit der W3C-Empfehlung. Damit kommen konforme Ausführungen bislang nur aus Open-Source-Projekten, die teilweise von Herstellern wie IBM unterstützt werden.

Angesichts der erwarteten Bedeutung von XML insgesamt und der dafür notwendigen Transformationstechniken im Besonderen ist absehbar, dass XSLT-Prozessoren Teil der Software-Infrastruktur werden. Derartige Tools werden teilweise schon heute mit Betriebssystemen, Datenbanken oder Web-Servern ausgeliefert. Die bevorzugte Plattform für XML-Werkzeuge wie Parser und XSLT-Prozessoren ist bis dato Java.

Nicht auf der Sun-Technik beruht indes die Version von Microsoft. Sie fand mittlerweile große Verbreitung, da sie Bestandteil des "Internet Explorer 5" (IE5) ist. Auch wenn sich abzeichnet, dass XSLT bevorzugt am Server zum Einsatz kommt, verfolgt Microsoft mit der XSLT-Unterstützung des IE traditionsgemäß einen stärker Client-zentrierten Ansatz. In diesem Fall werden sowohl XML-Dokumente als auch die zur Transformation notwendigen Stylesheets auf den PC heruntergeladen, wo dann die Umwandlung erfolgt. Die Datei msxml.dll, die sowohl den Parser als auch den XSLT-Prozessor umfasst, wird standardmäßig auch auf dem Windows-2000-Server installiert und lässt sich mithin auch über Active Server Pages (ASP) nutzen. Angenehm ist dabei, dass der Parser wie die XSLT-Engine sich über COM-Schnittstellen ansprechen lassen und diese damit weitgehend sprachunabhängig sind. Als weniger erfreulich werden Anwender allerdings die bei Microsoft fast schon übliche Abweichung vom Standard empfinden. Die XSLT-Implementierung orientiert sich noch an einem W3C-Entwurf aus dem Jahr 1998. Da die entsprechenden Funktionen in einer Dynamic Link Library (DLL) zusammengefasst sind, wäre eine Aktualisierung auch ohne Update des IE5 möglich. Tatsächlich gab Microsoft unter der Bezeichnung "Technology Preview" bereits zwei neuere Ausführungen frei, die letzte davon im März (http://msdn.microsoft.com/workshop/xml/general/msxmlprev.asp). Neben geringfügig besserer Konformität mit der W3C-Empfehlung fügte die Gates-Company aber neue Inkompatibilitäten hinzu, beispielsweise die Möglichkeit zu verschachtelten Templates. Dass die Abweichung vom Standard sich nicht nur damit erklären lässt, dass er erst vor kurzem verabschiedet wurde, zeigt auch der Parser von Microsoft: Obwohl die Empfehlung für XML 1.0 vor rund zwei Jahren beschlossen wurde, stimmt er nach einer aktuellen Untersuchung (http://www.xml.com/pub/2000/05/10/conformance/conformance.html) gerade zu 85 Prozent damit überein.

Ähnlich geringe Standardkonformität kann auch der in Java geschriebene Parser von Oracle für sich verbuchen. Beim XSLT-Prozessor behauptet der Hersteller Übereinstimmung mit dem letzten W3C-Entwurf (http://technet.oracle.com/tech/xml/xsql_servlet). Beide Tools sind Teil des "XSQL Servlet", dessen Nutzung eng an die hauseigene Datenbank gebunden ist. In die von Oracle entwickelten "XSQL Pages", ihrerseits eine XML-Anwendung, lassen sich SQL-Statements einbetten. Das Ergebnis der Abfrage kann via Parser dem XSLT-Prozessor übergeben werden, der die Daten für das gewünschte Zielsystem aufbereitet.

Als Gegenpol zu den mehr oder weniger standardkonformen Implementierungen der kommerziellen Anbieter fungiert die Open-Source-Vereinigung "Apache Group" (http://xml.apache.org). Auf Basis des von IBM gespendeten "Lotus XSL" entstand "Xalan", der als Java-Ausführung "Xalan-J 1.01" vorliegt. Die C++-Variante ("Xalan-C") befindet sich erst im Alphastadium und soll auf alle gängigen Plattformen portiert werden. Xalan-J fand bereits Eingang in einige Apache-Projekte, darunter das Publishing-System "Cocoon" oder den XML-zu-PDF-Konverter "FOP". Diese sind ebenso wie das "Rich Mens Document Management System" (http://rmdms.sourceforge.net) in Java geschrieben und können Xalan-J relativ einfach integrieren. Schwieriger sieht es bei anderer freier Software aus, da diese im Gegensatz zu Microsoft in der Regel nicht auf Komponententechniken zurückgreift. Abgesehen davon, dass es derzeit kaum praxistaugliche Prozessoren gibt, die nicht in Java geschrieben wurden, lassen sich solche wie Xalan-C nicht ohne weiteres aus Perl, PHP oder Python nutzen. Bei Parsern schrieben die jeweiligen Communities so genannte Wrapper oder kompilierten dessen Code mit in den Interpreter (PHP). Als Reaktion auf den Mangel an kapselbaren XSLT-Engines werden solche nun direkt in diesen Sprachen geschrieben.