On 7/9/07, Drummond Reed <drummond.reed@cordance.net
> wrote:
* Wil and Markus
have both pointed out in email that value of a GlobalID can be deduced from the
value of a LocalID element in all previous XRDs in the chain of resolution. However
Drummond pointed out that a GlobalID still adds information in that it selects
a specific subset of those LocalIDs to produce an absolute GlobalID. In most
cases this will be a subset of the LocalIDs in the resolution chain that are persistent
identifiers, vs. other LocalID values that may be reassignable.
Okay let's assume I find the crazy but legal <GlobalID>=example.name!1234</GlobalID>, which I want to verify. Rule 3 of XRI to XRI CanonicalIdVerification tells me how I do that:
"The value of EACH xrd:XRD/xrd:GlobalID element asserted in an XRD MUST
be an identifier for which the authority providing the XRD, as
identified by value of the xrd:XRD/xrd:ProviderID element, is
authoritative."
But my ProviderID looks like this: <ProviderID>xri://=!f831.62b1.44fd.2855</ProviderID>
Help! What do I do now? It seems the resolver can't rely on the ProviderID, right? If it wants to be able to verify every possible (however crazy) <GlobalID>, it must remember all subsegments, LocalIDs AND (hierarchical) CanonicalIDs from previous XRDs.
However I think I am beginning to like GlobalID. Not because it fills a gap between LocalID and CanonicalID (noone ever missed it, right?), and not because it adds extra information (you could really replace it with a LocalID, the resolver must remember the previous ones anyway), but because it allows you to separate the whole process into two steps: First you resolve your original XRI, along the way you verify any GlobalIDs you find. And second, you resolve the polyarchical CanonicalID, looking for a Ref or Backref to one of the (already verified) GlobalIDs of your original XRI.
Did I get that right?
By the way, the ProviderID keeps confusing me, perhaps someone could respond to my earlier mail on that. Or if it was too complicated, here is a short version:
1) What was the idea behind allowing URNs as ProviderID ?
2) What goes into the ProviderID if you retrieve an XRDS from an URL ?
Markus