Elektronisches Publizieren - HTML / SGML / XML - Zurück zur Gliederung
   
 

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> 

  • <xsl:script language="JavaScript"> - leitet das Script ein. In diesem Teil erfolgt nur die berechnung oder der Aufruf des Datums, die Ausgabe erfolgt weiter unten. Es wird empfohlen, das Script am Anfang der Datei, gleich nach <xsl:template> zu integrieren, um so die Übersichtlichkeit zu erhöhen.
  • <xsl:eval language="JavaScript"> - Hier wird die Funktion aufgerufen und die Ausgabe des Datums erfolgt.
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.)

 

    Linksammlung HTML / SGML / XML / Webdesign
   

30.11.2000
xmljavas2.html
© V. Petras, 2000