求助: 如何使用xalan 将xml文件转成xsl-fo文件

shihengli2010 2016-09-05 04:31:30
通过用XSLT转换器(Apache Xalan)处理XSL样式表,将XHTML转换为XSL-FO 。
如何通过java代码实现。
Xhtml文件内容:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content="HTML Tidy for Java (vers. 2009-12-01), see jtidy.sourceforge.net" />

<title>Hello World</title>
</head>

<body>
<p>Hello World!</p>
</body>
</html>

XSL样式表使用 xhtml2fo.xsl (csdn有下载);
xalan的jar包csdn也有的下载。
网上找到的demo:

/**
*
* @param xslName xsl转换器文件
* @param inputFileName 需要转换的文件
* @param outFile 转换后的输出文件
* @throws Exception
*/
public static void xhtmlToFo(String xslName, String inputFileName ,String outFile) throws Exception {

TransformerFactory tFactory = TransformerFactory.newInstance();
//用指定的XSLT样式单文件创建一个转换器
Transformer transformer = tFactory.newTransformer(new StreamSource( Thread.currentThread().getContextClassLoader().getResourceAsStream( xslName)));
//执行转换,并将转换后的目标文档作为响应输出
transformer.transform(new StreamSource( new FileInputStream(new File(inputFileName))),
new StreamResult(new FileOutputStream(new File(outFile))));


}


使用这个方法,最终得到的结果和xsl-fo文件格式相差甚远!!!
希望大牛们帮我解决这个问题。







...全文
322 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
shihengli2010 2016-09-19
  • 打赏
  • 举报
回复
好吧 我自己解决了这个问题。。。。。 转换文件xhtml2fo.xsl 有问题。 我重新找到了一份。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧