[ http://issues.apache.org/jira/browse/XALANJ-2182?page=all ] Sarah McNamara resolved XALANJ-2182: ------------------------------------
Fix Version: 2.7 Resolution: Duplicate I believe this is a duplicate of XALANJ-1978 which was fixed in Xalan Java 2.7. Could you please try the Xalan Java 2.7 release and if the problem persists, reopen this issue. Thanks. > Incorrect URL (systemId) handling when running with Sun JRE 1.5.0 or above > -------------------------------------------------------------------------- > > Key: XALANJ-2182 > URL: http://issues.apache.org/jira/browse/XALANJ-2182 > Project: XalanJ2 > Type: Bug > Components: transformation > Versions: 2.6 > Environment: Windows XP SP2, Sun JDK 1.5.0_01, Xalan 2.6.0 > Reporter: Rick Riemer > Priority: Minor > Fix For: 2.7 > > When running the following piece of code: > Transformer identity = TransformerFactory.newInstance().newTransformer(); > identity.setOutputProperty("method", "xml"); > identity.setOutputProperty("indent", "yes"); > identity.transform(src, new StreamResult(new File("file.xml"))); > on a Sun JRE 1.5.0 or above, Xalan is unable to create a new file and thus > throws a TransformerException. > This is caused by lines 225-235 in Xalan's TransformerIdentityImpl.java: > String fileURL = sresult.getSystemId(); > if (fileURL.startsWith("file:///")) > { > if (fileURL.substring(8).indexOf(":") >0) > fileURL = fileURL.substring(8); > else > fileURL = fileURL.substring(7); > } > m_outputStream = new java.io.FileOutputStream(fileURL); > As of JRE 1.5.0 Sun now generates URIs in a different way in StreamResult > (see StreamResult.setSystemId()), an therefore the URI will start with file:/ > instead of file:///. Thus FileOutputStream will not be able to open the file > anymore, since the if-block never executes. > The suggested fix is to change the code to the following: > String fileURL = sresult.getSystemId(); > File file = new File(new URI(fileURL)); > m_outputStream = new java.io.FileOutputStream(file); -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]