从xsl:template传递字符串参数并在另一个xsl文件中使用它

bou*_*ppo 4 xslt

<xsl:template match="HtmlCode">
    <xsl:copy-of select="child::*|text()"/>
</xsl:template>

<xsl:call-template name="HappyFriend">
    <xsl:with-param name="text" select="'i am a friggin' RRRRROOOOOOOVVVERRRRR~~'"/>
</xsl:call-template> 

<xsl:template name="HappyFriend">
        <xsl:param name="text"/>
        <HtmlCode>
            &lt;span&gt; &lt;%="text"%&gt;   &lt;/span&gt;
        </HtmlCode>
<xsl:template>
Run Code Online (Sandbox Code Playgroud)

不知何故,我一直在收到XSLT问题......我所要做的就是获取变量"text"的值,这是"我是一个frigggin RRROVERRR",在"HappyFriend"中出现了一个frigggggin'RRROOOVVVERRRR ~~ "模板.

我究竟做错了什么?

Jim*_*son 9

几个问题:

- 字符串文字'i am a friggin' RRRRROOOOOOOVVVERRRRR~~'包含不平衡的单引号.你可能想要

<xsl:with-param name="text" select='"i am a friggin&#x27; RRRRROOOOOOOVVVERRRRR~~"'/>
Run Code Online (Sandbox Code Playgroud)

- call-template不能在模板定义之外发生.

- 参考您应该使用的参数value-of-select,如

 &lt;span&gt; &lt;%="<xsl:value-of select="$text"/>"%&gt;   &lt;/span&gt;
Run Code Online (Sandbox Code Playgroud)