Xslt 将模板应用于参数

Xslt 将模板应用于参数,xslt,Xslt,我有以下删除撇号的模板: <xsl:template name="replace"> <xsl:param name="pText"/> <xsl:param name="pTarget" select='"&apos;"'/> <xsl:param name="pReplacement" select='"\&apos;"'/> <xsl:if test="$pT

我有以下删除撇号的模板:

    <xsl:template name="replace">
      <xsl:param name="pText"/>  
      <xsl:param name="pTarget" select='"&apos;"'/>
      <xsl:param name="pReplacement" select='"\&apos;"'/>

      <xsl:if test="$pText">
       <xsl:value-of select='substring-before(concat($pText,$pTarget),$pTarget)'/>
       <xsl:if test='contains($pText, $pTarget)'>
         <xsl:value-of select="$pReplacement"/>  
       </xsl:if>

       <xsl:call-template name="replace">
        <xsl:with-param name="pText" select='substring-after($pText, $pTarget)'/>
        <xsl:with-param name="pTarget" select="$pTarget"/>
        <xsl:with-param name="pReplacement" select="$pReplacement"/>
       </xsl:call-template>
      </xsl:if>
     </xsl:template>

然后我有一个生成共享代码的模板

    <xsl:template name="pageshare">              
        <xsl:param name="url"/>
        <xsl:param name="text"/>
        <xsl:call-template name="replace"><xsl:with-param name="pText" select="$text"/></xsl:call-template>
        <div class="extpageshare">
            <div class="social_icon gplus" onclick="shareSocial('google','{$text}','{$url}')"></div>
            <div class="social_icon twitter" onclick="shareSocial('twitter','{$text}','{$url}')"></div>
            <div class="social_icon facebook" onclick="shareSocial('facebookshare','{$text}','{$url}')"></div>
            <div class="social_icon pinterest" onclick="shareSocial('pinterest','{$text}','{$url}')"></div>   
            <div class="social_icon email" onclick="shareSocial('email','{$text}','{$url}')"></div>
        </div>
    </xsl:template>

我试图在
$text参数中应用slashes函数,以便对其进行转义。我试着在共享代码对话框中调用它,但我认为我做得不对


谢谢你的帮助。

如果没有一个合适的答案就很难回答你的问题。我猜你想做:

<xsl:template name="pageshare">              
    <xsl:param name="url"/>
    <xsl:param name="text"/>
    <xsl:variable name="escaped-text">
        <xsl:call-template name="replace">
            <xsl:with-param name="pText" select="$text"/>
        </xsl:call-template>
    </xsl:variable>
    <div class="extpageshare">
        <div class="social_icon gplus" onclick="shareSocial('google','{$escaped-text}','{$url}')"></div>
        <div class="social_icon twitter" onclick="shareSocial('twitter','{$escaped-text}','{$url}')"></div>
        <div class="social_icon facebook" onclick="shareSocial('facebookshare','{$escaped-text}','{$url}')"></div>
        <div class="social_icon pinterest" onclick="shareSocial('pinterest','{$escaped-text}','{$url}')"></div>   
        <div class="social_icon email" onclick="shareSocial('email','{$escaped-text}','{$url}')"></div>
    </div>
</xsl:template>