XSLT 带有元音变音(突变)的奇怪行为

发布于 2024-12-23 09:04:47 字数 594 浏览 2 评论 0原文

当我尝试使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小女人ら 2024-12-30 09:04:47

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文