On 11 Aug 2011, at 17:01, Igor Stasenko wrote: > I don't understand how relative urls are ehmm related to this. > By definition, you cannot construct a relative url out of a single > argument, because it raising a question, relative to what? > So, the right way to construct relative url is to be: > > relativeUrl := 'about.html' asRelativeUrlTo: someBaseUrl. > > while: > > relativeUrl := 'about.html' asRelativeUrl > > makes no sense at all. > > That means, in own turn, that expression > 'xyz' asUrl > could only be used for producing absolute urls with all consequence > (such as picking default scheme etc).
That is not how I see it (for now at least). The difference between absolute and relative URLs is a known concept: http://en.wikipedia.org/wiki/Url#Absolute_vs_relative_URLs My view is that some string is parsed into an URL, which results in a object that has the (derived) property of being absolute or relative. It is true that a relative URL can only make sense in the context of a absolute URL, but that does not means that we cannot talk about or deal with a relative URL as a proper URL. Some intelligent operation to merge an absolute and relative one must be added in the future (this is possible only in a limited way now). In a sense, it comes down to what 'foo' as[Zn]Url should mean: either it is the host foo (old Url, browser interpretation), or the path foo (ZnUrl interpretation). Your point about the resulting error in your particular case is valid, I will look into that. But I still think that if you want a string to represent a URL unambiguously, you better add the scheme (as I wrote earlier). Sven
