我们需要使用xslt转换从xml创建一个html。我们需要生成的html锚标记为
<a>
<xsl:attribute name="href">
<xsl:value-of select="Google-Link" />
</xsl:attribute>
</a>
输出html具有双引号的href属性值
<a href="http://google.com">google</a>
但我们希望它是单引号
<a href='http://google.com'>google</a>
答案 0 :(得分:3)
除非您的XSLT处理器的供应商为您提供了扩展请求,否则它不在您的手中。这种序列化选择由处理器完成,不能使用标准化机制在XSLT样式表中指定。处理器可以提供这个,但我还没有看到它(不是我已经看过了......从XML的角度来看,无论选择何种属性定界符,结果信息集都保持不变。)
为什么选择属性定界符对处理您的信息很重要?您必须在数据流中使用非XML步骤才能引起关注。
参考:http://www.w3.org/TR/xslt-xquery-serialization/#serparam您的用例恰好是引用的示例:
在那些对内容没有重要影响的情况下 序列化结果,由此定义的输出方法的详细信息 规范未指定并被视为 实现有关。序列化程序是否使用撇号或 用于在XML输出方法中分隔属性值的引号 就是这样一个细节的一个例子。