Javascript und XSL
[Die hier dargestellten Methoden funktionieren im Internet Explorer Version
5.0+.]
Javascript kann man auch mit <xsl:script> in dem XSL Stylesheet direkt
einbinden. Als Beispiel wollen wir das Datum am Ende unseres
Briefdokumentes (Stylesheet
Definition) ausgeben. Das XML Dokument bleibt dabei unverändert.
Im XSL file ergeben sich folgende Unterschiede:
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template>
<xsl:script language="JavaScript">
function datumsanzeige()
{
var datum=new Date();
datum=datum.toString();
return datum;
}
</xsl:script>
<P STYLE="font-family: Arial; font-size: 12pt; color:
blue;text-indent: 0.5cm;">
<xsl:value-of select="brief/betreff"/>
</P>
<P STYLE="font-family: Arial; font-size: 12pt; color: blue;
text-align=right;">
<xsl:value-of select="brief/datum"/>
</P>
<P STYLE="font-family: Arial; font-size: 14pt; color: #00007F; text-indent:
0.5cm;">
<xsl:value-of select="brief/anrede"/>
</P>
<P STYLE="font-family: Arial; font-size: 12pt; color: blue;text-indent:
0.5cm;">
<xsl:value-of select="brief/text"/>
</P>
<P STYLE="font-family: Arial; font-size: 14pt; color: #00007F; text-indent:
0.5cm">
<xsl:value-of select="brief/abschluss"/>
</P>
<p><p STYLE="font-family: Arial; font-style: italic; font-size:
12pt; color: blue;text-indent: 0.5cm;">
Datum:
<xsl:eval language="JavaScript">
datumsanzeige();
</xsl:eval>
</p></p>
</xsl:template>
</xsl:stylesheet> |
Das resultierende Dokument kann man sich
hier im IE5 ansehen.
Achtung: Viele JavaScript Funktionen kann man über das Stylesheet nicht
aufrufen, weil XSL nur für die Ausgabe und Anzeige von Informationen
vorgegeben ist, nicht aber für Eingaben. (Dazu gehören z.B. die
Dialogboxen alert, prompt oder confirm und die Objekte window oder Image.)
(Das Beispiel für dieses Skript wurde dem Buch
"Einsteigerseminar XML" von Michael Seeboerger-Weichselbaum entnommen. Weitere
Informationen über Javascript kann man dort nachlesen oder sollte man
sich über weitere Quellen einholen.)