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

时间:2011-07-11 16:55:50

标签: xslt xhtml xslt-2.0 saxon

我正在使用像这样的最小化br标签转换XML文档:

<br/>

我正在使用Saxon 9,并输出为XHTML

<xsl:output method="xhtml" indent="yes" use-character-maps="html-chars"/>

我从文档中得到的结论是,在使用XSLT时,序列化程序必须使用最小化的标记结尾(如果标记正文是空的,那么它),但是我总是在输出中得到这个:

<br></br>

关于为什么会出现这种情况的任何线索,以及如何强制它以最小化的形式输出:

<br/>

1 个答案:

答案 0 :(得分:5)

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