chris: JavaScript Code in XSLT-File

hallo!

wiess jemand, wie man JavaCode in ein XSL-File schreibt?
ich habe ein js-file und will daraus functionen aufrufen.

<xsl:template match="tree">
  <xsl:apply-templates select="entity"/>
</xsl:template>

<xsl:template match="entity">
  <xsl:attribute name="onmousedown">
    alert("TEST");
  </xsl:attribute>
</xsl:template>

// hier möchte ich javacode, der functionen aus
// einem js-file aufruft und ausführt

</xsl:stylesheet>

DANKE!
mfg, chris

  1. Hallo,

    <xsl:template match="tree">
      <xsl:apply-templates select="entity"/>
    </xsl:template>

    <xsl:template match="entity">
      <xsl:attribute name="onmousedown">
        alert("TEST");
      </xsl:attribute>
    </xsl:template>

    // hier möchte ich javacode, der functionen aus
    // einem js-file aufruft und ausführt

    </xsl:stylesheet>

    Javasript-Code kannst du einfach in Dein Template schreiben, damit Zeichen wie < nicht als Markup interpretiert werden kannst Du ihn in eine CDATA-Sektion setzen.

    Nur ausgeführt wird er erst im Browser, der dann die HTML-Seite anzeigt.

    Bei einigen XSLT-Prozessoren kannst du über sogenannte Extension-Functions Java-Funktionalitäten (kein Javascript!) in XSLT nutzen.(z.B. mit xt).

    Gruß
    Franz

    1. danke,

      Javasript-Code kannst du einfach in Dein Template schreiben, damit Zeichen wie < nicht als Markup interpretiert werden kannst Du ihn in eine CDATA-Sektion setzen.

      Nur ausgeführt wird er erst im Browser, der dann die HTML-Seite anzeigt.

      Bei einigen XSLT-Prozessoren kannst du über sogenannte Extension-Functions Java-Funktionalitäten (kein Javascript!) in XSLT nutzen.(z.B. mit xt).

      ich hab xsl noch nicht so wirklich drauf - kannst du da vielleicht ein stück sample-code schreiben.

      DANKE
      mfg, chris

      1. hallo,

        ich hab xsl noch nicht so wirklich drauf - kannst du da vielleicht ein stück sample-code schreiben.

        ---- die xml datei ---
        <?xml version="1.0" encoding="ISO-8859-1"?>
        <?xml-stylesheet href="script.xsl" type="text/xsl"?>
        <test>
        <blabla>Mit dem Objekt screen können Sie Angaben zum Bildschirm des Anwenders ermitteln. Diese Angaben zu kennen ist wichtig, wenn Sie professionelles "Screendesign" mit HTML und
        JavaScript betreiben wollen.</blabla>
        <blabla></blabla>
        <blabla>Eigenschaften des screen-Objekts können Sie direkt ansprechen, indem Sie screen davor notieren.</blabla>
        <blabla>Das Beispiel gibt beim Einlesen der Datei Breite (screen.width) mal Höhe (screen.height) des Anwenderbildschirms aus. Es handelt sich dabei um die Angabe in Pixeln, Ergebnisse
        sind also etwa 800x600 oder 1024x768.</blabla>
        </test>
        ----------
        ------die xsl datei ---------
        <?xml version="1.0"?>
        <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:template match="test">
        <html>
        <head>
           <title>test</title>
        </head>
        <body>
        <script type="text/javascript">
        <![CDATA[
           alert(screen.width + "x" + screen.height);
        ]]>
          </script>
          xsl:apply-templates/
        </body>
        </html>
        </xsl:template>

        <xsl:template match="blabla">
        <p><xsl:value-of select="." /></p>
        </xsl:template>

        </xsl:stylesheet>

        ---------

        grüße
        thomas