  | |  | Problem with spaces in directory paths | Problem with spaces in directory paths 2003-03-04 - By Daniel Rabe
I downloaded the 2.5.1D1 build, and it solves the problem! Awesome! Thank you!
-----Original Message----- From: mkwan@(protected) [mailto:mkwan@(protected)] Sent: Tuesday, March 04, 2003 9:16 AM To: Daniel Rabe Cc: 'xalan-j-users@(protected)' Subject: Re: Problem with spaces in directory paths
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)'" <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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=US-ASCII"> <META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2653.12"> <TITLE>RE: Problem with spaces in directory paths</TITLE> </HEAD> <BODY>
<P><FONT SIZE=2>I downloaded the 2.5.1D1 build, and it solves the problem! Awesome! Thank you!</FONT> </P>
<P><FONT SIZE=2>-----Original Message-----</FONT> <BR><FONT SIZE=2>From: mkwan@(protected) [<A HREF="mailto:mkwan@(protected)" >mailto:mkwan@(protected)</A>] </FONT> <BR><FONT SIZE=2>Sent: Tuesday, March 04, 2003 9:16 AM</FONT> <BR><FONT SIZE=2>To: Daniel Rabe</FONT> <BR><FONT SIZE=2>Cc: 'xalan-j-users@(protected)'</FONT> <BR><FONT SIZE=2>Subject: Re: Problem with spaces in directory paths</FONT> </P> <BR>
<P><FONT SIZE=2>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 .</FONT></P>
<P><FONT SIZE=2>Regards,</FONT> </P>
<P><FONT SIZE=2>Morris Kwan</FONT> <BR><FONT SIZE=2>XSLT Development</FONT> <BR><FONT SIZE=2>IBM Toronto Lab</FONT> <BR><FONT SIZE=2>Tel: (905)413-3729</FONT> <BR><FONT SIZE=2>Email: mkwan@(protected)</FONT> </P> <BR> <BR>
<P><FONT SIZE=2> </FONT></P>
<P><FONT SIZE=2> Daniel Rabe </FONT></P>
<P><FONT SIZE=2> <drabe @(protected) To:   ; "'xalan-j-users@(protected)'" <xalan-j-users@(protected) .apache.org>   ; </FONT></P>
<P><FONT SIZE=2> om> cc: </FONT> </P>
<P><FONT SIZE=2> Subject: Problem with spaces in directory paths   ; </FONT></P>
<P><FONT SIZE=2> 03/03/2003 10 :06   ; </FONT></P>
<P><FONT SIZE=2> PM   ; </FONT></P>
<P><FONT SIZE=2> </FONT></P>
<P><FONT SIZE=2> </FONT></P> <BR> <BR>
<P><FONT SIZE=2>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:</FONT></P> <BR>
<P><FONT SIZE=2>- 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.</FONT></P> <BR>
<P><FONT SIZE=2>- The secondary XML file contains entities to load other XML files, for</FONT> <BR><FONT SIZE=2>example:</FONT> <BR><FONT SIZE=2><!ENTITY english SYSTEM "test_msg_en.xml">< /FONT> <BR><FONT SIZE=2>... later referenced as...</FONT> <BR><FONT SIZE=2>&english;</FONT> </P> <BR>
<P><FONT SIZE=2>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".</FONT></P> <BR>
<P><FONT SIZE=2>The error is</FONT> <BR><FONT SIZE=2>javax.xml.transform.TransformerException: java.net .MalformedURLException: no protocol: test_msg_en.xml</FONT> </P> <BR>
<P><FONT SIZE=2>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"</FONT></P> <BR>
<P><FONT SIZE=2>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.</FONT></P > <BR>
<P><FONT SIZE=2>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.</FONT></P> <BR>
<P><FONT SIZE=2>The specific error in this case is:</FONT> <BR><FONT SIZE=2>(Location of error unknown)XSLT Error</FONT> <BR><FONT SIZE=2>(javax.xml.transform.TransformerConfigurationException):</FONT> <BR><FONT SIZE=2>javax.xml.transform.TransformerException: java.net .MalformedURLException: no protocol: sub dir\test.xsl</FONT> </P> <BR>
<P><FONT SIZE=2>Config info:</FONT> <BR><FONT SIZE=2>Xerces-J 2.2.1 and Xalan 2.4.1 on Windows 2000 or Windows XP.< /FONT> </P> <BR>
<P><FONT SIZE=2>Thanks!</FONT> <BR><FONT SIZE=2>Daniel Rabe</FONT> </P> <BR> <BR> <BR> <BR>
</BODY> </HTML>
|
|
 |