First, I assume you mean CLASSPATH and /lib, or PATH and /bin, but not CLASSPATH and /bin?
Second, your situation has me puzzled. Mark's answer appears correct, as "unknown protocol: c" is typically the "C:\" of a Windows filesystem path. And checking the documentation, StreamSource requires a URI, so a windows filesystem path won't work. However...my code does something very similar, and it works. The only difference is that I'm doing it for a StreamResult, not a StreamSource: String root = getServletContext().getRealPath(""); String xmlFileName = root + File.separator + "WEB-INF" + File.separator + "TestData.xml"; TransformerFactory.newInstance().newTransformer().transform( new DOMSource(buffer), new StreamResult(xmlFileName)); // DOM into XML I just threw in a quick println(), and "xmlFileName" is equal to "C:\tomcat-5.0.19\webapps\TestApp\WEB-INF\TestData.xml". Can anyone explain why mine works and Franklin's fails? Maybe I'm missing something obvious. Jay | Jay Burgess [Vertical Technology Group] | "Essential Technology Links" | http://www.vtgroup.com/ -----Original Message----- From: Mark Thomas [mailto:[EMAIL PROTECTED] Sent: Thursday, August 25, 2005 4:21 PM To: Tomcat Users List Subject: Re: Malformed URL Exception: unknown protocol: c I assume becuase the url you pass it starts c:\ as that is the start of the XML_WORK_PATH. You need to prefix it with file:/// (or however many slashes you need to get this to work in windows). Mark Franklin Phan wrote: > I use Windows XP Pro. My JAVA_HOME environment variable points to > c:\j2sdk1.4.2_05. The CLASSPATH is set to have as the first element > "%JAVA_HOME%\bin". I've written an XSL Transform servlet that makes use > of the package javax.xml.transform. Why do I get the following error: > > javax.servlet.ServletException: > javax.xml.transform.TransformerConfigurationException: > javax.xml.transform.TransformerException: > java.net.MalformedURLException: unknown protocol: c > > The four lines above actually appear altogether in one line. And the > error appears to be due to the following piece of code where I'm trying > to get the path to a folder on the local drive to access a file: > > String XML_WORK_PATH = "/WEB-INF/work_xml"; > TransformerFactory tFactory = TransformerFactory.newInstance(); > Transformer transformer = > tFactory.newTransformer(new > javax.xml.transform.stream.StreamSource(getServletContext().getRealPath(XML_WORK_PATH) > + "\\" + xslParam)); //xslParam is an XSL file name > > > The Malformed URL Exception does not occur on another machine running > Windows XP Server. > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]