UWS result URL - is relative URL okay?

Markus Demleitner msdemlei at ari.uni-heidelberg.de
Mon Nov 4 10:44:14 CET 2019


Hi all,

On Fri, Nov 01, 2019 at 02:48:32PM -0700, Brian Major wrote:
> I don't see text in the spec that would indicate that relative URLs are not
> allowed either, and they are legitimate values for 'anyURI'.
> 
> https://www.w3.org/TR/xmlschema11-2/#anyURI
> 
> But since they're not mentioned in UWS I'd say the regular rules
> determining the base of relative URLs should be applied (
> https://www.w3.org/TR/WD-html40-970917/htmlweb.html section 5.1.2), in

I'd say the current normative reference here is RFC 3986, section 5.
Which is a couple of pages of fairly dense prose.  In order to keep
that dense prose out of UWS, I'd much prefer if datalink clients
didn't have to bother with any of it. I mention in passing that
things have some extra complication in UWS because the result URIs
are available both from /{jobs}/{job-id} (as part of the <job>
element) and from /{jobs}/{job-id}/results.  Pop quiz: would the
relative URIs be the same in both cases?


Whatever we decide, since this has been an interoperability problem,
I suppose some clarifying language is in order, and probably an
Erratum would work.

There's an extra challenge here: The results are xlink references.
It's been ages since I've looked at xlink and I don't really remember
anything about it.  In particular, I can't say what "extended",
"arc", or "title" references might be and what they were supposed to
solve.

With that caveat, I'd say the erratum content ought to be:

  In section 2.2.2.3, the following text is appended:

    Relative references in the sense of RFC 3986 are not allowed in
    result list references.  In other words, URIs given in the href
    attribute must always be complete, and the base URI of result
    lists is undefined.

  In the schema, the annotation of the reference attribute group is
  changed from "standard xlink references" to:

    A reference to a result resource.  This will usually be a URI.
    Note that "URI" here does not include relative references ("URIs
    in UWS must be complete").

If anyone remembers what the xlink magic tried to do or can be
bothered to read up on it, by all means chime in if that would have
to be considered here.

The alternative would be to stress that relative references *are*
allowed and to define the base URI to be used for reference
resolution.  

When we go that way, we should think hard about what this means for
the two places that can have the references and provide advice to the
implementors.  I'll leave that to champions of that approach...

        -- Markus


More information about the grid mailing list