为了通过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''" />
有人可以帮助我找到适当的表达吗? 非常感谢提前!
答案 0 :(得分: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>
选择后两者都会给出您需要的结果。
答案 1 :(得分:1)
使用强>:
<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'