xslt需要选择单引号

Pac*_*ier 7 html xml xslt xpath

我需要这样做:

<xsl:with-param name="callme" select="'validateInput(this,'an');'"/>
Run Code Online (Sandbox Code Playgroud)

我读过逃避XSLT concat函数单引号,它告诉我,以取代'&apos;我已经做了但其仍然没有工作..

有谁知道我们如何解决这个问题?:

<xsl:with-param name="callme" select="'validateInput(this,&apos;an&apos;);'"/>
Run Code Online (Sandbox Code Playgroud)

Dim*_*hev 10

可以在任何版本的XSLT中使用的简单:

<xsl:variable name="vApos">'</xsl:variable>
Run Code Online (Sandbox Code Playgroud)

我经常使用相同的技术来指定引用:

<xsl:variable name="vQ">"</xsl:variable>
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用标准XPath函数将任何这些变量散布到任何文本中concat():

concat('This movie is named ', $vQ, 'Father', $vApos, 's secrets', $vQ)
Run Code Online (Sandbox Code Playgroud)

所以,这个转变:

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="text"/>

  <xsl:variable name="vApos">'</xsl:variable>
  <xsl:variable name="vQ">"</xsl:variable>

    <xsl:template match="/">
        <xsl:value-of select=
        "concat('This movie is named ', $vQ, 'Father', $vApos, 's secrets', $vQ)
    "/>
    </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

产生:

This movie is named "Father's secrets"
Run Code Online (Sandbox Code Playgroud)