Re: svn commit: r772672 - in /xmlgraphics/fop/trunk: src/java/org/apache/fop/apps/FOURIResolver.java

2009-05-12 Thread Max Berger
Hi *,

Andreas Delmelle schrieb:
 snip /
 Whilst you are both technically correct, I made the change because
 backslashes in file URLs used to work until revision 752153 when
 Jeremias inadvertantly removed support for this. Whilst this may be
 against the URL spec this is a feature that improves usability of the
 product. A lot of users out there aren't aware of the details of RFC
 2396 and are used to being able to use backslashes in file URLs
 (especially on Windows systems). So if we remove support for this we may
 get a few more questions on fop-user.

For a windows user \ is a valid path separator, and should be kept
working as path separator.

If this function is the right place may be debatable.

 Performing the substitution as part of basic URI resolution, for any
 protocol or on another platform introduces a genuine bug, while not
 resolving paths as URIs on one platform seems just an inconvenience.

Here is another idea: Just substitute File.separator with /

Pro: Would satisfy windows users
Pro: The misbehavior only exists on windows.
Con: URI Resolver would work differently on different plattforms.

 Cheers
 Andreas

Max

-- 
http://max.berger.name/
OpenPGP ID: C93C5700 Fpr: AB6638CE472A499B3959 ADA2F989A2E5C93C5700



signature.asc
Description: OpenPGP digital signature


Re: svn commit: r772672 - in /xmlgraphics/fop/trunk: src/java/org/apache/fop/apps/FOURIResolver.java

2009-05-09 Thread Andreas Delmelle


On 08 May 2009, at 10:07, Simon Pepping wrote:

   [Chris: ]

snip /
Whilst you are both technically correct, I made the change because
backslashes in file URLs used to work until revision 752153 when
Jeremias inadvertantly removed support for this. Whilst this may be
against the URL spec this is a feature that improves usability of the
product. A lot of users out there aren't aware of the details of RFC
2396 and are used to being able to use backslashes in file URLs
(especially on Windows systems). So if we remove support for this  
we may

get a few more questions on fop-user.


If it used to work until recently, it should be kept
working. Otherwise, I would very much like to tell users that URIs are
a different thing than path names, and that backward slashes are out.


I'm still not sure I'm comfortable with the change as-is, due to the  
fact that:

a) it is located in FOURIResolver and
b) it is not limited to file URLs,

which basically means that it would also affect other URIs.

Performing the substitution as part of basic URI resolution, for any  
protocol or on another platform introduces a genuine bug, while not  
resolving paths as URIs on one platform seems just an inconvenience.


The base URL can be specified either as a platform-dependent filespec  
(no 'file:' prefix, native separators allowed) or as a genuine URI  
(forward slashes as separators).
In the first case, FOP should gladly take care of externalizing the  
identifier and prepending the scheme. Using a mixture of both should  
definitely be discouraged, IMO.



Cheers

Andreas


Re: svn commit: r772672 - in /xmlgraphics/fop/trunk: src/java/org/apache/fop/apps/FOURIResolver.java

2009-05-08 Thread Chris Bowditch

Andreas Delmelle wrote:

Hi Simon and Andreas,


On 07 May 2009, at 21:15, Simon Pepping wrote:


On Thu, May 07, 2009 at 03:08:30PM -, cbowdi...@apache.org wrote:


Author: cbowditch
Date: Thu May  7 15:08:30 2009
New Revision: 772672

URL: http://svn.apache.org/viewvc?rev=772672view=rev
Log:
bug fix: allow back slashes for file URLs as they are commonly used  
in Windows



I would not like to call file:///C:\mydirectory\myfile a correct
URL. URLs are one format where Windows and Unix users use the same
forward slashes. URL is a standard for all OSes alike.



I very much agree with that assessment. Browsing through the related  
RFCs, one notices that the forward slash is a 'reserved' character,  
while a backslash is considered 'unwise'. The reason is that gateways  
and other transport agents are known to sometimes modify such  
characters, or they are

used as delimiters.
Following RFC 2396, the URL 'file:///c:\mydirectory\myfile' is not  
equivalent to 'file:///c:/mydirectory/myfile' from the point of view  of 
URI syntax.


Whilst you are both technically correct, I made the change because 
backslashes in file URLs used to work until revision 752153 when 
Jeremias inadvertantly removed support for this. Whilst this may be 
against the URL spec this is a feature that improves usability of the 
product. A lot of users out there aren't aware of the details of RFC 
2396 and are used to being able to use backslashes in file URLs 
(especially on Windows systems). So if we remove support for this we may 
get a few more questions on fop-user.


I personally prefer flexibility over rigid conformance to a 
specification and stand by my change. There are a few parts of the 
XSL-FO specification that I disagree with as well as I think they make 
it harder for the user to achieve what they need. Look at indent 
inheritance; that often confuses users, and makes it harder for users to 
achieve the affect they seek. So blindly following a spec isn't always 
the right thing to do IMO.




Therefore, it is wrong to expect them to yield the same behavior. One  
could argue that we then also need to allow a colon as separator for  
the hierarchical parts, to satisfy legacy Mac OS users... :-)


Thanks,

Chris




Regards

Andreas








Re: svn commit: r772672 - in /xmlgraphics/fop/trunk: src/java/org/apache/fop/apps/FOURIResolver.java

2009-05-08 Thread Simon Pepping
On Fri, May 08, 2009 at 08:33:11AM +0100, Chris Bowditch wrote:
 Andreas Delmelle wrote:

 Hi Simon and Andreas,

 On 07 May 2009, at 21:15, Simon Pepping wrote:

 On Thu, May 07, 2009 at 03:08:30PM -, cbowdi...@apache.org wrote:

 Author: cbowditch
 Date: Thu May  7 15:08:30 2009
 New Revision: 772672

 URL: http://svn.apache.org/viewvc?rev=772672view=rev
 Log:
 bug fix: allow back slashes for file URLs as they are commonly used 
  in Windows


 I would not like to call file:///C:\mydirectory\myfile a correct
 URL. URLs are one format where Windows and Unix users use the same
 forward slashes. URL is a standard for all OSes alike.


 I very much agree with that assessment. Browsing through the related   
 RFCs, one notices that the forward slash is a 'reserved' character,   
 while a backslash is considered 'unwise'. The reason is that gateways  
 and other transport agents are known to sometimes modify such   
 characters, or they are
 used as delimiters.
 Following RFC 2396, the URL 'file:///c:\mydirectory\myfile' is not   
 equivalent to 'file:///c:/mydirectory/myfile' from the point of view  
 of URI syntax.

 Whilst you are both technically correct, I made the change because  
 backslashes in file URLs used to work until revision 752153 when  
 Jeremias inadvertantly removed support for this. Whilst this may be  
 against the URL spec this is a feature that improves usability of the  
 product. A lot of users out there aren't aware of the details of RFC  
 2396 and are used to being able to use backslashes in file URLs  
 (especially on Windows systems). So if we remove support for this we may  
 get a few more questions on fop-user.

If it used to work until recently, it should be kept
working. Otherwise, I would very much like to tell users that URIs are
a different thing than path names, and that backward slashes are out.

Simon

-- 
Simon Pepping
home page: http://www.leverkruid.eu


Re: svn commit: r772672 - in /xmlgraphics/fop/trunk: src/java/org/apache/fop/apps/FOURIResolver.java

2009-05-07 Thread Simon Pepping
On Thu, May 07, 2009 at 03:08:30PM -, cbowdi...@apache.org wrote:
 Author: cbowditch
 Date: Thu May  7 15:08:30 2009
 New Revision: 772672
 
 URL: http://svn.apache.org/viewvc?rev=772672view=rev
 Log:
 bug fix: allow back slashes for file URLs as they are commonly used in Windows

I would not like to call file:///C:\mydirectory\myfile a correct
URL. URLs are one format where Windows and Unix users use the same
forward slashes. URL is a standard for all OSes alike.

Simon

-- 
Simon Pepping
home page: http://www.leverkruid.eu


Re: svn commit: r772672 - in /xmlgraphics/fop/trunk: src/java/org/apache/fop/apps/FOURIResolver.java

2009-05-07 Thread Andreas Delmelle

On 07 May 2009, at 21:15, Simon Pepping wrote:


On Thu, May 07, 2009 at 03:08:30PM -, cbowdi...@apache.org wrote:

Author: cbowditch
Date: Thu May  7 15:08:30 2009
New Revision: 772672

URL: http://svn.apache.org/viewvc?rev=772672view=rev
Log:
bug fix: allow back slashes for file URLs as they are commonly used  
in Windows


I would not like to call file:///C:\mydirectory\myfile a correct
URL. URLs are one format where Windows and Unix users use the same
forward slashes. URL is a standard for all OSes alike.


I very much agree with that assessment. Browsing through the related  
RFCs, one notices that the forward slash is a 'reserved' character,  
while a backslash is considered 'unwise'. The reason is that gateways  
and other transport agents are known to sometimes modify such  
characters, or they are

used as delimiters.
Following RFC 2396, the URL 'file:///c:\mydirectory\myfile' is not  
equivalent to 'file:///c:/mydirectory/myfile' from the point of view  
of URI syntax.


Therefore, it is wrong to expect them to yield the same behavior. One  
could argue that we then also need to allow a colon as separator for  
the hierarchical parts, to satisfy legacy Mac OS users... :-)



Regards

Andreas