使用XSLT 2.0从XSL转换中输出最小化标签

3
我会尽力为您进行翻译。以下是您需要翻译的内容:

我正在转换一个包含最小化 br 标签的 XML 文档,例如:

<br/>

我使用Saxon 9,并输出为XHTML。
<xsl:output method="xhtml" indent="yes" use-character-maps="html-chars"/>

我从文档中了解到,在使用XSLT时,序列化程序必须使用最小化的标签结束(如果标签体为空,则必须),但是我始终在输出中得到这个:

<br></br>

任何线索说明为什么会出现这种情况,以及如何强制它输出最小化的形式:
<br/>
1个回答

5

输出方法xhtml将以最小化的方式输出任何空的XHTML元素,这意味着任何在XHTML命名空间http://www.w3.org/1999/xhtml中的元素,如br。因此,如果没有更多细节,我猜测您有br结果元素,它们不属于任何命名空间或不同的命名空间。在这种情况下,输出方法不需要任何最小化的语法。


谢谢Martin,我会检查命名空间。 - Joel
你是对的马丁,这是一个命名空间问题。我按照你的另一个答案来解决了它!!!http://stackoverflow.com/questions/2408504/xslt-transformation-to-produce-valid-xhtml-a-namespace-issue - Joel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接