Xml xsltproc转换为html将删除空元素的关闭标记

Xml xsltproc转换为html将删除空元素的关闭标记,xml,xslt,ubuntu,Xml,Xslt,Ubuntu,我正在尝试将一个非常简单的xml转换为html。事实上,xml文件是空的 <?xml-stylesheet type="text/xsl" href="test.xsl" ?> <myElement> </myElement> 这是我的XSL <xsl:stylesheet version='1.0' xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output m

我正在尝试将一个非常简单的xml转换为html。事实上,xml文件是空的

 <?xml-stylesheet type="text/xsl" href="test.xsl" ?>
 <myElement>
 </myElement>

这是我的XSL

 <xsl:stylesheet version='1.0' xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="html" version="4.0" />

 <xsl:template match="/">
    <html>
    <head>
       <title>How you doing?</title>
    </head>
    <body>
     <br />
     <br />

    </body>
    </html>
 </xsl:template>
 </xsl:stylesheet>

你好吗?


下面是xsltproc的输出。请注意,br标记不再关闭。有人知道为什么会这样吗

 matt@ubuntu:~/src/tmp$ xsltproc test.xsl test.xml 
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"                "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>How you doing?</title>
 </head>
 <body>
 <br><br>
 </body>
 </html>
matt@ubuntu:~/src/tmp$xsltproc test.xsl test.xml
你好吗?


我想出来了

 <xsl:output method="html" version="4.0" />

非封闭标记实际上是有效的html,但不是xhtml。因此,这是预期的工作