TransformerConfigurationException:无法编译样式表,错误 - 没有协议

时间:2013-10-08 13:25:19

标签: java xslt transformer

我有一个XMl,我尝试使用变换器进行转换。

我收到以下错误:

ERROR:  'no protocol:
FATAL ERROR:  'Could not compile stylesheet'
javax.xml.transform.TransformerConfigurationException: Could not compile stylesheet
at    com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:885)
at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:671)

执行此转换的代码是:

Source xslInput = new StreamSource(finalStr);
        Source xmlInput = new StreamSource(str);

        Transformer transformer = factory.newTransformer(xslInput);
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        Result result = new StreamResult(bos);
        transformer.transform(xmlInput, result);
        String s = new String(bos.toByteArray());

我使用的XLS文件位于以下位置:https://code.google.com/p/ccd-bluebutton/source/browse/trunk/Bluebutton/ccd/xslt/CCDtoBlueButtonTxt_Resource.xsl?r=103

你能告诉我哪里出错吗?

此致 拉迪卡

1 个答案:

答案 0 :(得分:0)

看看here

提供的解决方案包括从路径创建StreamSource,因此您拥有:

File xslInput = new File("path/to/file");
TransformerFactory transformer = TransformerFactory.newInstance();
Templates xsl = transformer.newTemplates(new StreamSource(xlsInput));

希望它有所帮助。