使用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/>

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

最新更新