-2

当我使用 XSLT 1.0 和 saxon9he.jar 的组合使用 xslt 和 xsl-fo 进行 xml 到 pdf 的转换时,我得到了 Invalid factory configuration javax.xml.transform.TransformerConfigurationException: Failed to compile stylesheet 的异常。我的 lib 文件夹包含用于 xpdl 到 xml 转换的 saxon9he.jar,使用 xslt2 和 xalan.2.7.1.jar 用于 xml 到 pdf 转换。第一部分工作正常,但第二部分由于 saxon.jar 的 (trasnformer,transfor(arg1, arg2)) 存在主导 xalan.jar (transfor(a1,a2)。但 xml 的第二部分如果我从我的 lib 文件夹中删除了 saxon9he.jar,pdf 转换(xalan.jar)工作正常。我期待专家的良好回应。请在下面找到我的示例代码。thnx 提前...

out = new FileOutputStream(pdf);
        BufferedOutputStream    out1 = new BufferedOutputStream(out);

        Fop fop =   newFop(MimeConstants.MIME_PDF, out1);

        TransformerFactory factory = TransformerFactory.newInstance();
        Transformer transformer = factory.newTransformer(); 
        Source src = new StreamSource(fo);

        Result res = new SAXResult(fop.getDefaultHandler());

        // i am getting exception at following line.
        transformer.transform(src, res);  
4

1 回答 1

0

如果您需要在同一个应用程序中使用 Saxon 和 Xalan,那么不要依赖 TransformerFactory.newInstance(),它会加载它找到的第一个 XSLT 引擎。您始终可以通过实例化 TransformerFactory 接口的特定实现来显式加载您想要的。

于 2012-06-09T23:35:23.497 回答