每当我有一个XSLT导入语句时,撒克逊处理器给我一个错误。以下是错误:撒克逊错误与XSLT导入语句
XTSE0165: I/O error reported by XML parser processing file: shared/test.xslt (The system cannot find the path specified):
这里是我的XSLT文件看起来像:
<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet version='2.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'
xmlns:fn='http://www.w3.org/2005/02/xpath-functions'
xmlns:xs='http://www.w3.org/2001/XMLSchema'
>
<xsl:import href="shared/test.xslt"/>
...
我的Java代码
TransformerFactory transformerFactory = TransformerFactoryImpl.newInstance();
transformerFactory.setURIResolver(uriResolver); //my own custom URI resolver
Transformer transformer = transformerFactory.newTransformer(new StreamSource(xsltInputStream)); //this is where the error occurs when I debug!
的URI解析器类永远不会触发!它阻塞了上面的newTransformer()方法....我试着XsltCompiler等等和相同的东西...如果我删除导入语句,一切正常!它无法找到要导入的文件,这很好,但这就是为什么我有解析器类来帮助它定位文件,但它永远不会触发解析器,并且无法定位要导入的文件!
我该如何解决这个问题?
你怎么知道你的URIResolver没有被调用?显示您的URIResolver实现的代码。 –