【问题标题】:xlst transform doens't close tagsxslt 转换不会关闭标签
【发布时间】:2013-11-19 12:20:33
【问题描述】:

我正在使用 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 文件,但是当我尝试使用 iText 将该 html 转换为 pdf 文件时,我得到一个异常,因为某些标签没有正确关闭.示例:<br>(而不是 <br/>)。

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

【问题讨论】:

  • 向我们展示transform.xsl 文件。

标签: java html xslt pdf itext


【解决方案1】:

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

<xsl:output method="html">

你应该使用

<xsl:output method="xml">

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

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

【讨论】:

  • 另请注意,可能是您隐式而不是显式选择 method="html":如果结果树的最外层元素是“html”,则这是默认设置。
猜你喜欢
  • 2012-12-11
  • 1970-01-01
  • 1970-01-01
  • 2018-04-03
  • 1970-01-01
  • 2017-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多