我需要使用XSL转换 XML 文件,其中包括多个导入。一个简单的转换就可以正常工作(即使使用导入),但这并不是我真正想要的,因为每个转换甚至有超过 20 个导入文件。(我现在正在使用javax.xml.transform
,在我使用之前net.sf.saxon.s9api
。)
我用Oxygen XML Editor编译了XSLT并得到了一个SEF文件。它应该已经包含所有文件,现在我收到以下错误:
Error at package on line 2 column 321 of file.sef.xml:
XTSE0150: The supplied file does not appear to be a stylesheet
javax.xml.transform.TransformerConfigurationException: Failed to compile stylesheet. 1 error detected.
我认为问题是它正在尝试编译已编译的文件,但我该如何解决呢?
这是我现在拥有的基本代码:
public String transform(File xslt, String xml) throws TransformerException {
TransformerFactory tFactory = TransformerFactory.newInstance("net.sf.saxon.TransformerFactoryImpl", null);
Transformer transformer = tFactory.newTransformer(new StreamSource(xslt));
final StringWriter writer = new StringWriter();
StreamResult standardResult = new StreamResult(writer);
transformer.transform(new StreamSource(new StringReader(xml)), standardResult);
return writer.toString();
}
忽然笑
相关分类