使用 XSLT 2.0 从 XSL 转换输出最小化标签
我正在使用最小化 br
标签转换 XML 文档,如下所示:
<br/>
我正在使用 Saxon 9,并输出为 XHTML
<xsl:output method="xhtml" indent="yes" use-character-maps="html-chars"/>
我从文档中得到的印象是,在使用 XSLT 时,序列化程序必须使用最小化标签结尾(如果标签正文为空,确实如此),但是我总是在输出中得到这个:
<br></br>
关于为什么会出现这种情况的任何线索,以及如何强制它以最小化形式输出:
<br/>
I'm transforming an XML document with mimimized br
tags like this:
<br/>
I'm using Saxon 9, and outputting as XHTML
<xsl:output method="xhtml" indent="yes" use-character-maps="html-chars"/>
I was under the impression from the docs that when using XSLT the serializer must use minimised tag endings (if the tag body is empty, which it is), however I always get this in my output:
<br></br>
Any clues as to why this should be the case, and how I can force it to output in minimized form:
<br/>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
输出方法
xhtml
将以最小化方式输出任何空的 XHTML 元素,这意味着 XHTML 命名空间http://www.w3 中的任何像
。因此,如果没有看到更多详细信息,我会猜测您的br
的元素.org/1999/xhtmlbr
结果元素不在命名空间或不同的命名空间中。在这种情况下,输出方法不需要任何最小化语法。The output method
xhtml
will output any empty XHTML elements in the minimized way, meaning any elements likebr
that are in the XHTML namespacehttp://www.w3.org/1999/xhtml
. So without seeing more details I would guess that you havebr
result elements that are in no namespace or a different namespace. In that case the output method does not require any minimized syntax.