Extension Function: script
- java:script(script datei, filter, param)
- java:script(script id, inline code, filter, param)
Einbindug von EcmaScript als Extension.
Einbindug wie art : script mit folgenden Ausnahmen:
- es muss "var result" definiert sein da diese den Rückgabewert festlegt
- Der $ Scope liegt hier auf dem filter Objekt, da kein Handler zur Verfügung steht.
- Variable root: zeigt auf /* des Ausgabedokuments
- Variable param: übergebener Parameter
Beispiele
***************************************************************************** *** XSL Code ***************************************************************************** <xsl:stylesheet version="1.0" exclude-result-prefixes="xsl java jart"> <xsl:output encoding="Windows-1252" method="html"/> <xsl:param name="j-j-filter"/> <xsl:variable name="script1"> importPackage(Packages.jart); var cob = new CacheObj(); var result = cob.locked; </xsl:variable> <xsl:template match="/"> <html> <head> <title>Test 4</title> </head> <body> <h1>Test 4</h1> <div> <xsl:value-of disable-output-escaping="yes" select="java:script("script2.js", $script1, $j-j-filter, '')"/> </div> <div> <xsl:value-of disable-output-escaping="yes" select="java:script("test4.js", $j-j-filter, 50)"/> </div> </body> </html> </xsl:template> </xsl:stylesheet> ***************************************************************************** *** test4.js: ***************************************************************************** var result = "test in xsl " + $.params.get("xslFile") + "<br/>"; for(var i = 0; i < parseInt(param); i++){ result += "[POS:" + i + "]"; } ***************************************************************************** *** Ergebniss: ***************************************************************************** Test 4 true test in xsl test4.xsl [POS:0][POS:1][POS:2][POS:3][POS:4][POS:5][POS:6][POS:7][POS:8][POS:9][POS:10][POS:11][POS:12][POS:13][POS:14][POS:15][POS:16][POS:17][POS:18][POS:19][POS:20][POS:21][POS:22][POS:23][POS:24][POS:25][POS:26][POS:27][POS:28][POS:29][POS:30][POS:31][POS:32][POS:33][POS:34][POS:35][POS:36][POS:37][POS:38][POS:39][POS:40][POS:41][POS:42][POS:43][POS:44][POS:45][POS:46][POS:47][POS:48][POS:49]