2016-02-11 80 views
-1

我有以下的模板,斜線撇號:XSL應用模板參數

<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 parameter so it can be escaped。我試圖在共享代碼對話框中調用它,但我不認爲我正確地做它。

感謝您的幫助。

回答

0

如果沒有Minimal, Complete, and Verifiable example的配合​​,很難回答你的問題。我猜想你想要做的:

<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>