我在下面创建了这个 XSLT 模板来解析正在转换为 HTML 页面的文本块。该模板在多个位置使用,但是,它没有成功转换我一直指定的字符。一个例子如下:
我希望“二”有“帮助”,我继续多看“四”,但我发现的只是“空虚”。
结果是:我希望“两个”有“帮助”,我继续寻找“寻求”更多,但我发现的只是“空虚”。
有什么想法吗?
<xsl:template name="PreserveQuotations">
<xsl:param name="text"/>
<xsl:choose>
<xsl:when test="contains($text,'“')">
<xsl:value-of select="substring-before($text,'“')"/>
<xsl:text>"</xsl:text>
<xsl:call-template name="PreserveQuotations">
<xsl:with-param name="text">
<xsl:value-of select="substring-after($text,'“')"/>
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:when test="contains($text,'”')">
<xsl:value-of select="substring-before($text,'”')"/>
<xsl:text>"</xsl:text>
<xsl:call-template name="PreserveQuotations">
<xsl:with-param name="text">
<xsl:value-of select="substring-after($text,'”')"/>
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$text"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>