OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xri message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [xri] Questions regarding XRI Resoution as client of 2.1 abstract syntax


Steve, sorry, my text may not have been clear. The resolver doesn't "do
anything different" when it encounters a global-xref vs. a local-xref -- to
a resolve they are both just subsegments. What I meant was that a
global-xref has a different structure than a local-xref or a local-literal.

For example, with the XRI =a*b*(+c)+d*e, the parse tree has 5 top-level
subsegments: 

#1:	=	global-literal
#2:	a	typeless-literal
#3:	*b	local-literal
#4:	*(+c)	local-xref
#5:	+d*e	global-xref

The only thing that distinguishes a global-xref from a local-literal or
local-xref is that: a) it starts with a GCS symbol, and b) "inside" it you
can have additional local-literal or local-xref subsegments. But from the
standpoint of the parser or a local resolver, it's just another subsegment,
much as a local-xref has always been just another subsegment even though it
has a parsable XRI or IRI inside the parens.

=Drummond 

-----Original Message-----
From: Steven Churchill [mailto:steven.churchill@xdi.org] 
Sent: Monday, April 23, 2007 2:39 PM
To: 'Drummond Reed'; xri@lists.oasis-open.org
Subject: RE: [xri] Questions regarding XRI Resoution as client of 2.1
abstract syntax


[Steve asked]
3.	Does the resolver algorithm distinguish between "global" and "local"
subsegments. [I would assume the answer is no. The resolver simply walks
down the list of top-level subsegment invoking the authority resolution
services.]

[=Drummond] Yes, the resolver just walks down the list of "top-level"
subsegs, but the resolver algorithm DOES distinguish between global-xref and
local-xref as shown in the ABNF. A global-xref is the GCS character plus
zero or one typeless subseg plus zero or more local subsegs.

[Steve] I don't understand. Say the resolver is walking the top-level
subsegments. What precisely does it do differently when encountering a
global vs local xref?

Thx,

~ Steve






-----Original Message-----
From: Steven Churchill [mailto:steven.churchill@xdi.org] 
Sent: Sunday, April 22, 2007 8:59 PM
To: xri@lists.oasis-open.org
Subject: [xri] Questions regarding XRI Resoution as client of 2.1 abstract
syntax


Drummond,

I have some questions regarding the proposed 2.1 abstract syntax and XRI
Resolution as client.

For the benefit of those on the list who haven't been steeped in XRI
Resolution, let me give some context. [Drummond, my questions are below.]
The resolver invokes the XRI parser which returns a syntax tree conforming
to the abstract syntax. During the "authority resolution" phase, the
resolver walks through the top-level subsegments of this tree passing the
name of the "next" subsegment to the authority resolution service of the
"previous" subsegment, until it gets to then end.

In the 2.0 abstract syntax, the subsegments had two types--persistent and
reassignable. The notion of persistence is simply a convention for authority
resolution services (their registries) as follows: If I pay my registry for
a "bang" (persistent) identifier, then my registry should not reassign that
identifier to someone else, even if I stop paying my bill.

In the proposed 2.1 abstract syntax, the subsegments have seven types. Here
are my questions for Drummond:

1. 	Does the resolver still walk through the top-level subsegments (that
is, passing the name of the "next" subsegment to the authority resolution
service of the "previous" subsegment) as described above? [I would assume
the answer is yes.]

[=Drummond] Yes -- but note that global-xrefs are a type of subsegment per
your question 3 below.

2.	Can authority resolution services now accept 7 types of query? [I
would assume the answer is yes.]

[=Drummond] Yes.

3.	Does the resolver algorithm distinguish between "global" and "local"
subsegments. [I would assume the answer is no. The resolver simply walks
down the list of top-level subsegment invoking the authority resolution
services.]

[=Drummond] Yes, the resolver just walks down the list of "top-level"
subsegs, but the resolver algorithm DOES distinguish between global-xref and
local-xref as shown in the ABNF. A global-xref is the GCS character plus
zero or one typeless subseg plus zero or more local subsegs.

4.	Are six of the subsegment types reassignable and only one (bang)
persistent (as per the definition above)?

[=Drummond] No. A GCS character by itself is persistent. Then each subseg
inside a global-xref is persistent or not depending on whether it begins
with a bang. So a global-xref is persistent if and only if each of its
subsegs is persistent. Examples:

XRIS WITH PERSISTENT GLOBAL XREFS
In #1 and #2, the global-xref beginning with = is persistent. In #3 and #4,
the entire XRI is persistent.

#1:	@example=!1234.5678.a1b2.c3d4
#2:	@example=!1234.5678.a1b2.c3d4!55
#3:	@!1000.2000.3000.4000=!1234.5678.a1b2.c3d4
#4:	@!1000.2000.3000.4000=!1234.5678.a1b2.c3d4!55

NON-PERSISTENT GLOBAL XREFS
In all four examples below, the global-xref beginning with = is not
persistent, because it does not consist of all persistent subsegments.

#5:	@example=example.2
#6:	@example=!1234.5678.a1b2.c3d4*some.subseg
#7:	@!1000.2000.3000.4000=example2!55
#8:	@!1000.2000.3000.4000=!1234.5678.a1b2.c3d4*some.subseg

5. 	If the answer to 3 above is "no", then why does the parser care
about sticky stars?

[=Drummond] See my answer to 3 above.



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]