XSLT 带有元音变音(突变)的奇怪行为
当我尝试使用 XSLT 解析 xml 中的节点时,我会出现非常奇怪的行为。
因此,我们现在假设 CustomerName 的值为“MÖP”。
在这种情况下,生成的 HTML 'a' 标记将具有指向 'M%C3%B6P' 的 href
<a href="{CustomerName}">
<xsl:value-of disable-output-escaping="yes" select="CustomerName"/>
</a>
在这种情况下,生成的 HTML 'div' 标记将具有 id 'MÖP'
<div style="display:none">
<xsl:attribute name="id"><xsl:value-of select="CustomerName"/></xsl:attribute>
</div>
看起来 a 中的属性 href标签与它有关。
我的问题是,为什么会这样? 在这两种情况下我能得到相同的输出,我该怎么办?
格瑞兹
I have a very strange behavior when I got mutations in a node in xml when I try to parse it with an XSLT.
So we now assume that CustomerName has the Value 'MÖP'.
In this case, the resulting HTML 'a' tag would have a href to 'M%C3%B6P'
<a href="{CustomerName}">
<xsl:value-of disable-output-escaping="yes" select="CustomerName"/>
</a>
In this case, the resulting HTML 'div' tag would have an id 'MÖP'
<div style="display:none">
<xsl:attribute name="id"><xsl:value-of select="CustomerName"/></xsl:attribute>
</div>
It seems like the attribute href in the a tag has something to do with it.
My question is, why is it like that ?
An what can i do that in both cases i got the same output ?
Greetz
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
XSLT 处理器通过转义 HTML 链接元素的
href
属性中的 URL 值来帮助您。这是设计使然,请参阅 http://www.w3。 org/TR/xslt-xquery-serialization/#HTML_ESCAPE-URI-ATTRIBUTES。如果您确实不希望这样并且使用 XSLT 2.0 处理器,那么您可以在您的样式表。The XSLT processor is doing you a favour by escaping the URL value in the
href
attribute of the HTML link element. This is by design, see http://www.w3.org/TR/xslt-xquery-serialization/#HTML_ESCAPE-URI-ATTRIBUTES. If you really don't want that and you use an XSLT 2.0 processor then you can use<xsl:ouput method="html" escape-uri-attributes="no"/>
in your stylesheet.