Re: Cocoon 2.1.9 and Saxon 9.6
Francesco Chicchiriccò <[email protected]> Fri, 6 May 2016 13:01:57 +0200
| Newsgroups | gmane.text.xml.cocoon.user |
|---|---|
| Message-ID | <[email protected]> |
On 06/05/2016 12:51, Gary Larsen wrote:
>
> Hi,
>
> Thanks for the response. I get the space to %20, but have not figured
> out where to change the code in Cocoon.
>
> Using this from the stack trace
>
> at
> org.apache.cocoon.components.xslt.TraxProcessor.sourceToSAX(TraxProcessor.java:303)
>
> I modified line 303 from:
>
> final String systemId = source.getURI();
>
> to:
>
> final String systemId = URLEncoder.encode(source.getURI(),
> "UTF-8");
>
> This resulted in an exception in Excalibur. ShouldnÂ’t the encode()
> replace the space with %20?
>
Sure, but not only.
For example,
URLEncoder.encode("file:/C:/a-test
2/netvisn-server-c1022-72-6043/webapps/netvisn/site/stylesheets/netvisn-error2html.xsl",
"UTF-8")
produces
file%3A%2FC%3A%2Fa-test+2%2Fnetvisn-server-c1022-72-6043%2Fwebapps%2Fnetvisn%2Fsite%2Fstylesheets%2Fnetvisn-error2html.xsl
..which I would hardly qualify as a valid URI :-)
Regards.
> *From:*Francesco Chicchiriccò [mailto:[email protected]]
> *Sent:* Friday, May 06, 2016 2:51 AM
> *To:* [email protected]
> *Subject:* Re: Cocoon 2.1.9 and Saxon 9.6
>
> On 05/05/2016 18:49, Gary Larsen wrote:
>
> Hi,
>
> In order to support JDK 8 it was necessary to update to SaxonHE 9.
> (canÂ’t remember exactly why right now)
>
> New problem is that when the Cocoon app is installed on a path
> with spaces (say ‘a-test 2’) there’s a new exception:
>
> net.sf.saxon.trans.XPathException: Invalid URI for stylesheet:
> file:/C:/a-test <file:///C:%5Ca-test>
> 2/netvisn-server-c1022-72-6043/webapps/netvisn/site/stylesheets/netvisn-error2html.xsl
>
>
> "file:/C:/a-test
> 2/netvisn-server-c1022-72-6043/webapps/netvisn/site/stylesheets/netvisn-error2html.xsl"
> <file:///C:%5Ca-test2%5Cnetvisn-server-c1022-72-6043%5Cwebapps%5Cnetvisn%5Csite%5Cstylesheets%5Cnetvisn-error2html.xsl>
>
> is not a valid URI, while
>
> "file:/C:/a-test%202/netvisn-server-c1022-72-6043/webapps/netvisn/site/stylesheets/netvisn-error2html.xsl"
> <file:///C:%5Ca-test%202%5Cnetvisn-server-c1022-72-6043%5Cwebapps%5Cnetvisn%5Csite%5Cstylesheets%5Cnetvisn-error2html.xsl>
>
> is valid instead.
>
> The blank space between 'a-test' and '2' is not allowed within URI,
> you need to percent-encode.
>
> This as [1] says, "The space character, for example, is quoted by
> replacing it with "%20"
>
> HTH
> Regards.
>
> [1] http://docs.oracle.com/javase/8/docs/api/java/net/URI.html
>
--
Francesco Chicchiriccò
Tirasa - Open Source Excellence
http://www.tirasa.net/
Involved at The Apache Software Foundation:
member, Syncope PMC chair, Cocoon PMC,
Olingo PMC, CXF Committer, OpenJPA Committer
http://home.apache.org/~ilgrosso/