Hi folks,
On Thu, 20 Apr 2006, Guy Rixon wrote:
> Paul Harrison points out that using # as a separator is naughty according to
> W3C. In the W3C URI rules, # is always used to indicate a fragment of a
> document available at a URI. Our local-ID part isn't exactly a fragment in the
> W3C sense. The registry rules blessed ? as an alternate separator, so it might
> be better to use that.
I think this picture of the fragment applies. The IVOA ID part refers to the resource itself (not merely its description in the registry). If this resource is a database, then the part after the # might refer to one record.
On Thu, 20 Apr 2006, Norman Gray wrote:
> Quoth RFC3986, section 3.5:
>
> It's the client that dereferences the fragment: ``the fragment
> identifier is separated from the rest of the URI prior to a
> dereference, and thus the identifying information within the fragment
> itself is dereferenced solely by the user agent, regardless of the
> URI scheme.''
I think this is satisfied. The user agent strips off the fragment, gives the IVOA ID to a registry and gets back a description containing a service endpoint. The agent then passes the fragment to that endpoint to get the part of the resource--i.e., one VOEvent record.
Note that typically with ?, the full URI is passed to the resolving service and not split by the client.
> This isn't optional: ``Fragment identifier semantics are independent
> of the URI scheme and thus cannot be redefined by scheme
> specifications.''
One picky point: the scheme specification in question here is the IVOA ID specification, which explicitly states that what comes after the # or ? is not part of the definition. Thus, the scheme itself does not attempt to redefine the semantics of the fragment.
Which brings me to the my last point, which is most important. From the perspective of the IVOA ID spec, there is no difference between # and ?. So either should be fine. On the other hand, I do not perceive any possible disasters either.
cheers,
Ray
Received on 2006-04-20Z22:20:56