[
Lists Home |
Date Index |
Thread Index
]
Rick Jelliffe wrote:
>>Rick Jelliffe wrote:
>>
>>
>>>If the file is on PCs, make sure you use the | instead of : for the
>>>device.
>>>E.g. file:///C|/temp/xxx.xsd
>>>
>>>
>>Don't use a | instead of : for the drive. This was never part of
>>a formal spec. All reasonably recent URL handlers will understand
>> file:///c:/temp/yyy.xsd
>>Some will *NOT* understand file:///C|/temp/xxx.xsd.
>>
>>
>
>Well, that is not my experience. For example, only yesterday. But it would
>be great if this problem is going away.
>
>There are strict URL handlers and friendly URL handlers (which should
>encompass anyURI and IRIs). The strict ones will fail if ":" is used. You
>never know which one the program uses.
>
>Actually, I guess the correct syntax is
> file:///C%25/temp/xxx.xsd
>but I have never used that.
>
>
>
>
Hmmm. I think it would be truer to say that there are correct URL
handlers and incorrect ones. Providing that you have three (or one)
slashes, after "file:", such that what follows is a path segment rather
than an authority, ":" is allowed to appear unescaped, since it is one
of the characters in the pchar production from RFC2396 (and 3986, for
that matter). Any URL handler that requires you to escape this or
replace it with a pipe is just wrong. Not, of course, that there aren't
many wrong URL handlers out there....
The only real problems here arise when you have relative URIs: how
should you interpret C:/foo/bar.xsd as a URI? A strict handler will
treat this as an absolute URI with a scheme of "C:", whereas I have seen
some URI handling code that special-cases single letter schemes like
this in an attempt to be "friendly" to windows users....
Lucian
--
Lucian Holland, Technical Architect +44-1865-203192
DecisionSoft Limited http://www.decisionsoft.com
XML Development and Services
|