El procesador de Saxon me da un error cada vez que tengo una instrucción de importación XSLT. Aquí está el error:Error de Saxon con instrucción de importación XSLT
XTSE0165: I/O error reported by XML parser processing file: shared/test.xslt (The system cannot find the path specified):
Aquí es cómo mi documento XSLT se parece a:
<?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"/>
...
Mi código 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!
La clase de resolución de URI no se dispara! Funciona con el método newTransformer() anterior ... Intenté con XsltCompiler, etc. y lo mismo ... ¡Si eliminé la declaración de importación, todo funciona! No puede encontrar el archivo para importar que está bien, pero es por eso que tengo la clase de resolución para ayudarlo a localizar el archivo, pero nunca desencadena la resolución y falla al ubicar el archivo para importar.
¿Cómo puedo resolver esto?
¿Cómo sabes que no se está llamando a tu URIResolver? Muestra el código para tu implementación de URIResolver. –