On 3/28/10 5:26 PM, Alan Ruttenberg wrote: […]
The reserved characters are scheme specific. I'd suggest that there be a generic function eql dispatch on the scheme to compute namestrings.
Since URL handlers can be added at runtime, which is the case with the OSGi handler for the "bundle" scheme that we are interested in supporting, we can't make an EQL specializer ahead of time for everything we will encounter. I was hoping to use the Java implementations of the URLStreamHandler for the schemes help out here, but I don't see much. At the moment I'm favoring just implementing such a specializer for "http" and "bundle", creating a protocol for a user to add a specializer, and calling it a day.
Do we want the namestring to always be the encoded form? I was planning to have the namestring be what the user used to create the URL-PATHNAME, but always encode before going to the network. I need to think about this more.
Will the logical pathname system interact with URL pathnames? I'm thinking I could probably make use of the analogy between prefixes and logical hosts.
By prefix you mean schemes like "http" or "ftp" right? I was currently planning to have URL pathnames explicitly not be allowed as logical hosts, because if one defined a logical host named "http", one could then never unambiguously construct an "http" scheme URL via #P"http://example.org/foo.lisp". We could require that a logical host *has* to be in upper case? In that case, I guess the two could co-exist.
Could you give an example of the sort of logical pathname definitions you would use? Incorporating something like wildcards for the URI authority is going to need some thought, but wouldn't be impossible.