xslt变换不会关闭标签

时间:2013-11-19 12:20:33

标签: java html xslt pdf itext

我正在使用xslt转换将xml文件转换为html文件:

TransformerFactory factory = TransformerFactory.newInstance();
Source xslt = new StreamSource(new File("transform.xsl"));
Transformer transformer = factory.newTransformer(xslt);

Source text = new StreamSource(new File("test.xml"));
transformer.transform(text, new StreamResult(new File("output.html")));

当我这样做时,我得到一个可以用浏览器打开的html文件,但是当我尝试将该html转换为带有iText的pdf文件时,我得到一个例外,因为有些标签没有正确关闭。示例:<br>(而不是<br/>)。

我可以以某种方式指示变压器始终关闭标签吗?

1 个答案:

答案 0 :(得分:3)

最可能的原因是您在样式表中使用HTML输出方法:

<xsl:output method="html">

你应该使用

<xsl:output method="xml">

如果您需要XML(XHTML)序列化。

更多信息可以在官方规范中找到:http://www.w3.org/TR/xslt#output

相关问题