Re: Circular Imports

On 1/10/08, Richard Tobin <richard@inf.ed.ac.uk> wrote:
>
> Ignoring transient problems, the difference is that referring to the
> same thing by two names will "work" if the redirected names are used.
> For example, if http://oldlocation.example/pipelib.xml redirects to
> http://newlocation.example/pipelib.xml then it will work to import both
> (obviously you wouldn't do this deliberately, but two libraries you
> use might).
>
> Incidentally, the resolved location according to Henry's rule is the
> Base URI of the XML document.

The XML spec says:

"Attempts to retrieve the resource identified by a URI may be
redirected at the parser level (for example, in an entity resolver) or
below (at the protocol level, for example, via an HTTP Location:
header). In the absence of additional information outside the scope of
this specification within the resource, the base URI of a resource is
always the URI of the actual resource returned. In other words, it is
the URI of the resource retrieved after all redirection has occurred."

As such, we should be consistent and so the resolved location must be the
URI of the resource after the redirects have completed.

-- 
--Alex Milowski
"The excellence of grammar as a guide is proportional to the paucity of the
inflexions, i.e. to the degree of analysis effected by the language
considered."

Bertrand Russell in a footnote of Principles of Mathematics

Received on Thursday, 17 January 2008 16:54:36 UTC