将XSLT转换为其他项目后没有返回值

时间:2014-04-11 08:36:21

标签: java xml xslt transformation

我有以下代码将xml文档转换为html页面。这没什么特别的,只是我使用saxon工厂进行转换,因为我需要XSLT 2.0中的一个函数。

try {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    StreamResult output = new StreamResult(bos);
    StreamSource input = new StreamSource(new FileReader(TransformationTest.class.getResource(sourceFileName).getFile()));
    StreamSource stylesheet = new StreamSource(TransformationTest.class.getResourceAsStream(STYLESHEET));

    Transformer tr = TransformerFactory.newInstance("net.sf.saxon.TransformerFactoryImpl", null).newTransformer(stylesheet);
    tr.transform(input, output);

    return bos.toString();
} catch (TransformerException e) {
    throw new RuntimeException("XSL-Transform: Error while transforming the document.");
} catch (FileNotFoundException e) {
    throw new RuntimeException("XSL-Transform: Error while reading the source file.");
}

代码在单独的项目中工作正常,并将saxon添加为依赖项。我尝试了不同的输入,每次我得到正确的输出。

现在我尝试将它添加到一个更大的项目中,该项目在类路径中有许多其他库,突然代码停止工作。输出只是空白,没有异常,没有错误消息,只是一个空白字符串将被返回。我不是变压器中发生的事情的专家,所以我需要一些帮助。究竟是什么原因导致这种行为,我该如何解决?

0 个答案:

没有答案