我有一个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
你能告诉我哪里出错吗?
此致 拉迪卡
答案 0 :(得分:0)
看看here。
提供的解决方案包括从路径创建StreamSource
,因此您拥有:
File xslInput = new File("path/to/file");
TransformerFactory transformer = TransformerFactory.newInstance();
Templates xsl = transformer.newTemplates(new StreamSource(xlsInput));
希望它有所帮助。