4

我们需要使用 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>

4

1 回答 1

3

除非您的 XSLT 处理器供应商给您一个扩展来请求这个,否则它不在您的掌控之中。这种序列化选择由处理器做出,不能使用标准化机制在 XSLT 样式表中指定。处理器可能会提供此功能,但我还没有看到(不是我已经看过……从 XML 的角度来看,无论选择何种属性分隔符,结果信息集都不会改变)。

为什么选择属性分隔符对处理您的信息很重要?您必须在数据流中使用非 XML 步骤才能引起关注。

参考:http ://www.w3.org/TR/xslt-xquery-serialization/#serparam您的用例恰好是引用的示例:

在那些对序列化结果的内容没有重要影响的情况下,本规范定义的输出方法的细节未指定,并被视为依赖于实现。序列化程序是否使用撇号或引号来分隔 XML 输出方法中的属性值是此类细节的一个示例。

于 2013-08-03T01:55:20.833 回答