【问题标题】:Need to assign attribute value in single quote xslt需要在单引号 xslt 中分配属性值
【发布时间】:2013-08-03 01:46:22
【问题描述】:

我们需要使用 xslt 转换从 xml 创建一个 html。我们要求生成的 html 锚标记为

<a>
<xsl:attribute name="href">
<xsl:value-of select="Google-Link" />
</xsl:attribute>
</a>

输出 html 在双引号中具有 href 属性值 &lt;a href="http://google.com"&gt;google&lt;/a&gt; 但我们希望它用单引号 &lt;a href='http://google.com'&gt;google&lt;/a&gt;

【问题讨论】:

    标签: html xml xslt


    【解决方案1】:

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

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

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

    在它们对内容没有重要影响的情况下 序列化结果,由此定义的输出方法的详细信息 规范未指定,并被视为 依赖于实现。序列化程序是否使用撇号或 用于分隔 XML 输出方法中的属性值的引号 就是这样一个细节的例子。

    【讨论】:

    • 我通常使用单引号或双引号之间的选择作为您无法影响的经典示例,因为没有任何 XML 使用者会关心它的方式完毕。显然我必须找到一个不同的例子。
    猜你喜欢
    • 2011-06-02
    • 2012-09-06
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-29
    相关资源
    最近更新 更多