无效的工厂配置javax.xml.transform.TransformerConfigurationException:无法编译样式表

时间:2012-06-08 17:45:15

标签: xslt saxon xalan

当我使用XSLT 1.0和saxon9he.jar的组合来使用xslt和xsl-fo进行我的xml到pdf转换时,我得到了无效的工厂配置的异常 javax.xml.transform.TransformerConfigurationException:无法编译样式表。 我的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);  

1 个答案:

答案 0 :(得分:0)

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