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