2

为了通过 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;'" />

有人可以帮我找到一个合适的表达方式吗?提前谢谢了!

4

2 回答 2

1

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

<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>

两者在选择时都会给出您需要的结果。

于 2012-06-28T10:22:05.703 回答
1

使用

 <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'
于 2012-06-28T12:37:15.550 回答