I have a problem with xalan URIResolver, it just doesn't call resolve at all when my XML file is inputed by a document() function on the XSLT and has latin1 characters like ã , ç ... etc.
Why is this happening? {code} static class MyResolver implements URIResolver{ public Source resolve(String href, String base) { try { System.out.println("RESOLVING: href: "+href+" base: "+base); StreamSource ss = new StreamSource(new FileInputStream(new File(href))); return ss; } catch (FileNotFoundException e) { e.printStackTrace(); return null; } } } .... TransformerFactory transFact = TransformerFactory.newInstance(); Transformer trans = transFact.newTransformer(xsltSource); trans.setURIResolver(new MyResolver()); trans.setParameter("lang", lang); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document xslfo = db.newDocument(); trans.transform(xmlSource, new DOMResult(xslfo)); {code} My XSLT calls the document() function this way: {code} ..... <xsl:variable name="cp-doc-path"> <xsl:text>lala/certprofile_</xsl:text> <xsl:value-of select="normalize-space(default_certificate_profile)"></xsl:value-of> <xsl:text>-</xsl:text> <xsl:value-of select="default_certificate_profile/@id"></xsl:value-of> <xsl:text>.xml</xsl:text> </xsl:variable> ..... <xsl:variable name="n2"> <xsl:for-each select="document($cp-doc-path)"> <xsl:variable name="a0"> <xsl:value-of select="$n0 + count( //field | //key_usage | //ku | //policies | //extended_key_usage | //eku )"></xsl:value-of> </xsl:variable> ..... {code} As it doesn't perform the URIResolver resolve() call, I get the following exception: javax.xml.transform.TransformerException: com.sun.org.apache.xalan.internal.xsltc.TransletException: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.URI$MalformedURIException: Path contains invalid character: ç at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:715) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313) I'm currently using the latest Xalan version. -- View this message in context: http://www.nabble.com/XALAN-URIResolver-not-behaving-correctly--tp15337911p15337911.html Sent from the Xalan - J - Users mailing list archive at Nabble.com.