Problem with spaces in directory paths 2003-03-04 - By mkwan@(protected)
I fixed a similar problem in the Xalan CVS a few months ago. Can you try with Xalan CVS and see if it fixes your problem? If you have problem building a driver from cvs, I can also give you a jar file to try.
Regards,
Morris Kwan XSLT Development IBM Toronto Lab Tel: (905)413-3729 Email: mkwan@(protected)
Daniel Rabe <drabe@(protected) To: "'xalan-j-users@(protected) .apache.org'" <xalan-j-users@(protected)> om> cc: Subject: Problem with spaces in directory paths 03/03/2003 10:06 PM
We're running into a problem using Xerces/Xalan when our XSL files reside in a directory that contains a space in the name (like "Program Files"). The problem seems to happen when the following conditions are met:
- The XSL file uses the document() function to load a secondary XML file (in this case, localization strings). The secondary XML file gets loaded okay.
- The secondary XML file contains entities to load other XML files, for example: <!ENTITY english SYSTEM "test_msg_en.xml"> ... later referenced as... &english;
If the XML and XSL files are all in directories that don't have spaces, everything works fine... but when you ship a product like ours, it's typically installed into "Program Files".
The error is javax.xml.transform.TransformerException: java.net.MalformedURLException: no protocol: test_msg_en.xml
I've been able to duplicate a very similar problem using the org.apache.xalan.xslt.Process class from the command line. The command line I'm using is: %JAVA_HOME%\bin\java -showversion org.apache.xalan.xslt.Process -in test.xml -xsl "sub dir\test.xsl"
In this scenario, "test.xml" is in the current working directory (which contains no spaces in its path), and "test.xsl" and its associated files are in the subdirectory "sub dir". If I use "subdir" (no spaces), everything works fine. I've tried using "sub+dir" and "sub%20dir", but none of those work.
This sample scenario is a little different from our original code because it's not trying to resolve the entity (the &english from above), so I'm not sure it's going through the same code path... however, any insight into how to work around this problem would be appreciated.
The specific error in this case is: (Location of error unknown)XSLT Error (javax.xml.transform.TransformerConfigurationException): javax.xml.transform.TransformerException: java.net.MalformedURLException: no protocol: sub dir\test.xsl
Config info: Xerces-J 2.2.1 and Xalan 2.4.1 on Windows 2000 or Windows XP.
Thanks! Daniel Rabe
|
|