Kann in unserem Web-Platten-Shop XML / XSL eingesetzt werden?



Die erste Frage :

Was ist XML überhaupt?

Die Antwort:
Das wurde ja schon von Tobias beantwortet. Brauch ich also nichts mehr zu sagen.


Die zweite Frage:

Was ist dann XSL?

Die Antwort:
Auch XML! Ha!
Hört sich blöd an, ist aber so. Ein XSL-Dokument ist eigentlich ein spezielles XML-File mit einer besonderen DTD. Ist für uns erst mal nicht so wichtig. Das schöne daran ist: die Syntax bleibt die gleiche.
Am besten mal ein Beispiel:

<?xml version="1.0" ?>
<hallo>
Hello World!
</hallo>

Das ist eine XML-Datei. Die DTD ist jetzt mal nicht interessant.
Die in einen Browser zu laden macht erst mal keinen Sinn. Ich hab da ja auch kein Layout sondern nur Informationen. Mann könnte jetzt ein CSS dafür schreiben. Ist aber ungünstig. Wir wollen natürlich HTML darstellen. Und genau hier kommt XSL ins Spiel. Damit kann ich aus XML, Textdateien im Allgemeinen und HTML im besonderen machen. Aber wieder zu unserm Beispiel, da würde das XSL-File so aussehen.

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:template match="hallo">
<html><body><P><B><xsl:value-of select="."/></B></P></body></html>
</xsl:template>
</xsl:stylesheet>

Das erzeugt dann in einem XSL-Prozessor folgendes HTML-Dokument.

<html>
<body>
<P><B>Hello World!</P></B>
</body>
</html>

Das kann dann in einem Browser dargestellt werden. Schön, nicht?


Die dritte Frage:

Und warum ist das cool?

Die Antwort:
Weil wir mit dieser Technologie in unserem Projekt Programm und Layout 100% trennen können. Im Servlet sollen keine HTML Tags mehr auftauchen. Die die am Servlet arbeiten sollen nicht mal daran denken müssen wie die Inhalte dargestellt werden sollen. XSL kann ja alles mögliche ausgeben. Unser XSL (XSLT) kann Textdateien aus geben. Also z.B.: RTF, WAP(oder wie das Hanywebformat heißt), TXT, CSV und natürlich HTML. Das Layout kann dabei angepaßt und ausgewechselt werden, ohne das man das Servlet verändern müsset. Bei uns könnte das alles etwa so aussehen.
XLS im Projekt
Die letzte Frage:

Und können wir das jetzt benutzten, oder was?

Die Antwort:
Ja, klar!
Da sind noch ein paar Kleinigkeiten zu klären, aber es geht natürlich. In ORACLE 8.1.6 ist XSQL integriert. Das ist die von ORACLE vorgesehene Art und Weise aus einer relationalen Datenbank XML zu holen. Wie das alles genau funktioniert muß noch geklärt werden, es geht aber und wird von anderen längst verwendet.


08.05.01 Roman Kober