0
私はjs関数にXSL変数を渡して、それを文字列と連結しようとしていますが、動作しません。XSL変数をJavaScript文字列と連結できませんか?
<msxsl:script language="JavaScript" implements-prefix="js">
<![CDATA[
function printString1(str)
{
str2 = 'hello' + str;
return str2;
}
]]>
</msxsl:script>
そして、これは私がメソッドを呼び出す方法です:
これは私が試したものです
<xsl:value-of select="js:printString1(s:somepath/@name)"/>
名は "ジェイク" です。
この場合、出力は「hello」で、それ以外は何も出力されません。それは "helloJake"ではないはずですか?
しかし、私はしようとした場合:
<msxsl:script language="JavaScript" implements-prefix="js">
<![CDATA[
function printString1(str)
{
return str;
}
]]>
</msxsl:script>
私は出力として "ジェイク" を取得します。
私はここで何が欠けていますか?
EDIT:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="MeasDataStylesheetWithScript2.xsl"?>
<measCollecFile
xmlns="http://www.3gpp.org/ftp/specs/archive/32_series/32.435#measCollec"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="measCollec">
<fileHeader vendorName="samplename">
</fileHeader>
</measCollecFile>
そして、これはどのようにXSLファイルを見ている:
これは、XMLファイルがどのように見えるかです
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:s="http://www.3gpp.org/ftp/specs/archive/32_series/32.435#measCollec"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:js="urn:custom-javascript"
exclude-result-prefixes="s msxsl js">
<msxsl:script language="javascript" implements-prefix="js">
<![CDATA[
function printString1(str)
{
var str2 = 'hello' + str;
return str2;
}
]]>
</msxsl:script>
<xsl:template match="/">
<html>
<body>
<xsl:value-of select="js:printString1(s:measCollecFile/s:fileHeader/@vendorName)"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
はちょうどしようと、それはありません作業。他のアイデアはありますか? – Simon
@Simon、私は私の答えを更新しました。 –
ソースファイルの見た目を正確に記述しました。 'jake'のような文字列を渡すのは間違いありませんが、xmlファイルから文字列を抽出することはできません。 – Simon