Re: [xsl] Windows Batchfile calling Saxon - Confusion of / and \

Subject: Re: [xsl] Windows Batchfile calling Saxon - Confusion of / and \
From: Abel Braaksma <abel.online@xxxxxxxxx>
Date: Thu, 11 Oct 2007 00:25:28 +0200
Michael Kay wrote:
There are unfortunately many products that accept Windows filenames in
contexts where the standards mandate a URI. I have been resisting doing
this, because I think standards conformance should outweigh minor
convenience. However, I've been dithering a little on this one recently,
because once everyone breaks a standard in the same way, they establish a
new de facto standard.

Yes, but this is only where user convenience is important. When it comes to programming languages, this does not hold. I.e., in C++, when you type a pathname, the \ still escapes the next character and won't all of a sudden become a path separator when doing File.open(...). Same in Java, or in Java .properties files.


If a programmer wants to admit windows paths and UNC paths for files etc, then it can easily program translate($path, '\'. '/'). But I sure hope you don't bend the specs in this area. External entities in XML are not supposed to have windows paths, nor do paths in SVG or HTML (which gives security errors or nothing). Instead, for "user convenience", you could consider a convenience extension function: uri-from-unc-path(), or uri-from-system().

However, since Windows has been supporting use of forward-slash in filenames
for about ten years, I find it surprising that people still want to use
backslashes.

Make that twenty years ;) It's allowed since DOS 2.0 (in API, kernel etc), but the command interpreter of the shell only accepted it, I believe, when the NT kernel was introduced.


Cheers,
-- Abel Braaksma

Current Thread