为了通过XSLT生成CSS,我使用以下表达式:
<xsl:param name="default-font-family" select="'Times New Roman'" />
这会生成字符串Times New Roman
而不是'Times New Roman'
这是我需要在 CSS 中使用的。尝试用'
或'
将字体名称括起来不起作用:
<xsl:param name="default-font-family" select="''Times New Roman''" />
<xsl:param name="default-font-family" select="''Times New Roman''" />
有人可以帮助我找到合适的表达方式吗?提前非常感谢!
声明一个包含该变量的变量,撇号使用该变量,或者在开始和结束参数标记之间输入文本。 示例如下:
<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='"'Times New Roman'"' />
这个简单的转换输出如此定义的参数:
<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='"'Times New Roman'"' />
<xsl:template match="/">
<xsl:value-of select="$default-font-family"/>
</xsl:template>
</xsl:stylesheet>
当应用于任何 XML 文档(未使用)时,将生成所需的正确结果:
'Times New Roman'