XSLT: Der X-Faktor in der Umwandlung von XML

XML hat sich zum Standard beim Austausch von Daten zwischen unterschiedlichen Systemen entwickelt. Die XML-Manipulationssprache XSLT wandelt XML-Dokumente in verschiedene Formate um. Wir helfen Ihnen, die Grundlagen von XSLT zu verstehen.

Wie von den meisten Branchenexperten vorhergesagt, hat sich XML zum De-facto-Standard für die Repräsentation von zwischen zwei Systemen fließenden Daten entwickelt. Um die in einem XML-Dokument enthaltenen Daten in Business-Anwendungen einsetzen zu können, benötigen die Anwendungen allerdings standardisierte Möglichkeiten zur Manipulation dieser Daten.

Die XML-Manipulationssprache nennt sich eXtensible Stylesheet Language Transformations (XSLT). Die Idee hinter XSLT ist simpel: Ich habe ein XML-Dokument in einem Format, das für meine Systeme von Nutzen ist, aber ich müsste das XML-Dokument vielleicht in ein anderes Format umwandeln, damit meine Systeme etwas damit anfangen können. Anstatt meine Entwickler anzuweisen, für jeden potenziellen Kunden ein anderes XML-Dokument zu erstellen, kann ich ein einziges Basisdokument erstellen und darauf dann Formatierungsvorlagen anwenden, um mein XML-Dokument in ein XML-Dokument zu „transformieren“, mit dem das System des Kunden arbeiten kann.

Dafür ist es jedoch notwendig, die Grundlagen von XSLT zu verstehen und dann zu untersuchen, auf welche Art und Weise man XSLT für die Entwicklung seiner Business-Anwendungen einsetzen kann.

Der Unterschied zwischen den XSL-Standards
Untersuchen wir zunächst den Unterschied zwischen XSL und XSLT, denn für einige Leute ist dieses Thema recht verwirrend. XSL war der Entwurf einer Empfehlung, welcher eine Programmiersprache definierte, mit der XML-Dokumente durch die Einbettung der Sprache in ein Stylesheet in verschiedene Formate umgewandelt werden können. Seit diesem ersten Entwurf hat sich XSL in drei verschiedene Standards aufgespalten:

  • XSLT: Für die Umwandlung von XML-Dokumenten
  • Xpath: Für die Navigation in XML-Dokumenten beim Programmieren
  • XSL-FO: Für die erweiterte Formatierung von XML-Dokumenten zur Anzeige.

Die meisten Systeme für die Entwicklung von XML konzentrieren sich darauf, gut geformte XML-Dokumente zu erstellen und XSLT-Stylesheets für die Umwandlung zu verwenden.

Da XSLT in der Lage ist, den Großteil der für eine Umwandlung benötigten Formatierungsarbeit zu leisten, wurde XSL-FO dazu degradiert, sehr spezifische Formatierungsaufgaben zu erledigen, und konnte bis jetzt noch keine breite Unterstützung erlangen. Microsoft, Netscape und Opera haben jedoch die Unterstützung für XML und XSLT in die neuesten Versionen ihrer Browser integriert.

Warum XSLT nützlich ist
Um verstehen zu können, warum XSLT so nützlich ist, schauen wir uns eine einfaches, Browser-basiertes Beispiel an: Nehmen wir an, Sie haben ein Web-basiertes Zeiterfassungssystem entwickelt, das es ermöglicht, Arbeitszeiten zu analysieren. Ist HTML das einzige verfügbare Tool, müssen Sie für die Anwender eine Reihe von HTML-Berichten erstellen. Für jeden vom Anwender ausgewählten Bericht muss sich der Browser mit dem Server verbinden und von dort die Informationen laden. Der Serverprozess sucht die Datenaufstellung aus einer Datenbank heraus, formatiert den HTML-Code und sendet diesen zur Umwandlung an den Browser. In diesem Szenario, in dem der Server den Großteil der Arbeit erledigt, existiert eine höhere Beanspruchung des Servers und der Netzwerkressourcen, was wiederum höhere Kosten bedeutet.

Wenn Sie jedoch über Clients verfügen, die XSLT-Stylesheets verarbeiten können, sind Sie in der Lage, die Fähigkeiten des Clients auszunutzen – im Wesentlichen könnten Sie mit Hilfe von XML und XSLT das System anders designen. Kommt ein Anwender in diesem Szenario auf die Seite der Berichte, würde eine große Untermenge der eingetragenen Zeitdaten in einem XML-Dokument erscheinen. Verlangt der Anwender einen anderen Bericht, so würde das System ein XSLT-Stylesheet herunterladen, welches zur Generierung des neuen Berichts dynamisch auf das XML-Dokument (das sich im Browser-Cache befinden würde) angewendet würde.

Jede nachfolgende Anfrage nach diesem Bericht würde auf dieses gecachte XSLT-Stylesheet zugreifen, wodurch der zukünftige Bedarf für Serveranfragen minimiert wird. Benötigt der Anwender eine andere Datenmenge (z.B. die letzten drei Monate der Zeiterfassungsdaten statt nur die letzten zwei Wochen), kann der Browser diese Daten vom Server anfordern, welcher daraufhin ein neues XML-Dokument erstellt. Der Browser könnte auch das gleiche XSLT-Stylesheet verwenden, um unterschiedliche Ansichten desselben Berichts zu generieren (z.B. sortiert nach Datum, nach Projekt, mit Zwischensummen und Summen).

Mit dem Internet Explorer könnte der Anwender nach dem Download der XML-Dokumente und XSLT-Stylesheets sogar offline gehen und die Daten auch ohne eine aktive Internetverbindung weiter analysieren.

Eine Lösung für Anwender ohne XSLT-Unterstützung
Verwenden Ihre Firma oder Ihre Kunden einfache Browser, die keine lokale XSLT-Verarbeitung unterstützen, können Sie Ihr System so einrichten, dass die Verarbeitung für solche Clients auf dem Server verbleibt. Aber anstatt dies auf die altmodische Art zu erledigen (die Erstellung von HTML von Hand), können Sie das XSLT-Stylesheet auf ein Server-seitiges XML-Dokument anwenden und nur das daraus resultierende HTML-Dokument zurück zum Client senden.

Die Stärke dieser Methode liegt darin, verschiedene XSLT-Stylesheets an jeden Browsertyp zu binden, der den Bericht anfordert. Fordert zum Beispiel ein Browser einen Zeiterfassungsbericht an, der in der Lage ist, HTML 3.2 zu verarbeiten, so können Sie das HTML-Dokument so verändern, dass ein Standardbrowser es verarbeiten kann. Wenn aber jemand mit Hilfe eines Handys und eines WAP-Browsers auf Ihren Server zugreift, können Sie ein anderes XSLT-Stylesheet verwenden und so ein WAP-Dokument liefern, das dieser Browser verarbeiten kann.

Mit XML-Dokumenten und XSLT-Stylesheets als Standardmethode zur Umwandlung im Server ist es einfach, Unterstützung für jedes Gerät zu bieten, das sich mit dem Webserver verbinden muss, das gilt nicht nur für Handys, sondern auch für Handhelds und Set-Top-Boxen.

Die Verwendung von XSLT für den Austausch von Dokumenten
Denken Sie daran, dass die Verwendungsmöglichkeiten von XSLT mehr bieten, als nur die Fähigkeit, Webserver in die Lage zu versetzen, Seiten für die verschiedensten Clients zu liefern. XSLT ist die Grundlage vieler der neuen Produkte für die Integration von Unternehmensanwendungen und B2B Messaging-Engines.

Schauen wir uns ein einfaches Beispiel an: Nehmen wir an, Sie müssen verschiedenen Kunden Versandinformationen liefern, aber jeder Kunde benötigt ein anderes Dokumentenformat – einige können XML-Dokumente verarbeiten (in ihrem eigenen Format), andere wiederum verwenden noch Einfachdateien.

Anstelle der harten Codierung eines Inventarmanagement-Systems zur Erstellung unterschiedlicher Dateien für jeden Kunden, würden Sie das System einfach nur anweisen, eine XML-Datei in einem Standardformat zu generieren, das Sie manipulieren können. Nach der Erzeugung von XML-Dateien in diesem Standardformat für jeden Kunden, können Sie per Programmierung ein XSLT-Stylesheet auf das XML-Dokument jedes Kunden anwenden.

Die sich daraus ergebenden Kundendokumente könnten einfache Umwandlungen sein (d.h. Umbenennungen von Zeichen oder Attributen, eine andere Gestalt der XML, etc.) oder etwas so Generisches wie eine Einfachdatei nach den Anforderungen des Kunden.

Endlose Anwendungsmöglichkeiten
Während der letzten sechs Monate habe ich Hunderten von Entwicklern Unterricht über neue Technologien wie XML und XSLT erteilt, und ich bin immer wieder aufs Neue erstaunt über die vielen kreativen Anwendungsmöglichkeiten, die sie für diese Technologien finden, sobald sie darin ausgebildet wurden.

Wenn Ihre „Entwicklungswerkstatt“ noch nicht von neuen Technologien wie XSLT profitiert, dann ist es an der Zeit, sich damit zu beschäftigen, denn es handelt sich hier um ausgereifte Technologien für die auf den meisten Plattformen zahlreiche Tools erhältlich sind.

 

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu XSLT: Der X-Faktor in der Umwandlung von XML

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *