如何对<xsl:apply-templates>
的输出进行字符串操作?
我需要转义引号等,因为它最终被传递给JavaScript变量。
答案 0 :(得分:2)
漂亮而干净的方法是更改您的XSLT,以便它的输出不需要任何额外的操作。
如果您对<xsl:apply-templates>
的调用产生的字符串由于某种原因必须进行操作,则需要首先在变量中捕获它:
<xsl:variable name="temp">
<xsl:apply-templates />
</xsl:variable>
<xsl:variable name="temp-manipulated">
<xsl:call-template name="do-some-string-mainpulation">
<xsl:with-param name="string" select="$temp" />
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="$temp-manipulated" />
或者,您可以将<xsl:apply-templates>
整合到<xsl:with-param>
中,这将使您免费迈出一步:
<xsl:variable name="temp">
<xsl:call-template name="do-some-string-mainpulation">
<xsl:with-param name="string">
<xsl:apply-templates />
</xsl:with-param>
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="$temp" />
答案 1 :(得分:0)
捕获变量,然后操纵该值以创建输出:
<xsl:variable name='temp'>
<xsl:apply-templates ...>
</xsl:variable>
<xsl:value-of select='expression involving $temp' />