每當我有一個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實現的代碼。 –