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

Joe*_*oel 3 xslt xhtml saxon xslt-2.0

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

<br/>
Run Code Online (Sandbox Code Playgroud)

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

<xsl:output method="xhtml" indent="yes" use-character-maps="html-chars"/>
Run Code Online (Sandbox Code Playgroud)

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

<br></br>
Run Code Online (Sandbox Code Playgroud)

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

<br/>
Run Code Online (Sandbox Code Playgroud)

Mar*_*nen 5

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