使用 XPath 选择包含撇号的字符串



为了通过XSLT生成CSS,我使用以下表达式:

<xsl:param name="default-font-family" select="'Times New Roman'" />

这会生成字符串Times New Roman而不是'Times New Roman'这是我需要在 CSS 中使用的。尝试用&apos;&#x27;将字体名称括起来不起作用:

<xsl:param name="default-font-family" select="'&apos;Times New Roman&apos;'" />
<xsl:param name="default-font-family" select="'&#x27;Times New Roman&#x27;'" />

有人可以帮助我找到合适的表达方式吗?提前非常感谢!

声明一个包含该变量的变量,撇号使用该变量,或者在开始和结束参数标记之间输入文本。 示例如下:

<xsl:variable name="apostrophe">
  <xsl:text>'</xsl:text>
</xsl:variable>
<xsl:param name="default-font-family" select="concat($apostrophe, 'Times New Roman', $apostrophe)" />

或者简单地说:

<xsl:param name="default-font-family">
  <xsl:text>'Times New Roman'</xsl:text>
</xsl:param>

选择两者后,将提供所需的结果。

使用

 <xsl:param name="default-font-family" select='"&apos;Times New Roman&apos;"' />

这个简单的转换输出如此定义的参数

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="text"/>
 <xsl:param name="default-font-family" select='"&apos;Times New Roman&apos;"' />
 <xsl:template match="/">
     <xsl:value-of select="$default-font-family"/>
 </xsl:template>
</xsl:stylesheet>

当应用于任何 XML 文档(未使用)时,将生成所需的正确结果

'Times New Roman'

相关内容

  • 没有找到相关文章