Cross-Reference Policies
- Introduction
- Global URI Cross-Reference Policy
- Global XRI Cross-Reference Policy
- Community Cross-Reference Policy
- Implementation Notes
1. Introduction
Cross-References are a key feature of XRI syntax that allow one XRI (or a URI) to be reused in the context of another XRI. This enables sharing of identifiers across communities to simplify identification of logically-equivalent resources.The following policies govern the use of Cross-References in the GRS.
2. Global URI Cross-Reference Policy
In the V1 GSS, identifiers from an external namespace or scheme (such as an email address, phone number, IM address, HTTP URI, etc.) MUST NOT be registered as a Cross-Reference in a Global Registry. XDI.ORG may support this functionality in a future version of the GSS after receiving further community input regarding privacy, security, and data control implications.3. Global XRI Cross-Reference Policy
Global I-Names or Global I-Numbers registered in one Global Registry MUST NOT be registered as a cross-reference in another Global Registry. If a Community I-Name or Community I-Number is expressed as a Global Cross-Reference, it MUST be interpreted only as an assertion of the global context for the target Resource, and further resolution MAY proceed by resolving the Community I-Name or Community I-Number value directly.4. Community Cross-Reference Policy
A Global I-Name or Global I-Number MAY be used within a Community Cross-Reference (a cross-reference in a Community I-Name or Community I-Number), however in such usage it MUST be interpreted as representing the same Logical Authority as represented by the Global I-Name or Global I-Number.5. Implementation Notes
The following examples help illustrate the effect of these policies.
5.1. URIs as Global Cross-References
-
=(mailto:mary.jones@example.com) In a future version of the GSS, this cross-reference to an email address might be registered as a Global Personal I-Name for an individual.
-
@(http://www.example.com/name) In a future version of the GSS, this cross-reference to an HTTP URI might be registered as a Global Organizational I-Name for an organization or other non-personal entity.
5.2. XRIs as Global Cross-References
-
=(@Organizational.Name*Personal.Name) This is a cross-reference to the Community I-Name "@Organizational.Name*Personal.Name" expressed under the global context symbol "=". By the Global XRI Cross-Reference Policy, this must only be interpreted as asserting that this Community I-Name represents an individual, and not that it represents a separate registration in the Global Personal I-Name Registry. This policy makes it safe for an XRI resolver to resolve the value of the cross-reference, i.e., resolving "@Organizational.Name" to its XRID and then resolving "*Personal.Name" in that context.
-
@(=Personal.Name*Organizational.Name) This is the inverse of the first example: it represents the assertion that the Community I-Name "=Personal.Name*Organizational.Name" is an organizational identifier. It must not be interpreted as representing a separate registration in the Global Organizational I-Name Registry. Again, by the Global XRI Cross-Reference Policy, a resolver may safely proceed with resolving "=Personal.Name" and then resolving "*Organizational.Name" in that context.
5.3. Community Cross-References
-
@Organizational.Name*(=Personal.Name) This is a reference to the same Personal Authority represented by the Global Personal I-Name "=Personal.Name", only expressed in the context of the Organizational Authority represented by "@Organizational.Name". Therefore may resolve to the resource representation(s) designated by this Organizational Authority.
-
=Personal.Name*(@Organizational.Name) This is the inverse of the above: a reference to the same Organizational Authority represented by the Global Organizational I-Name "@Organizational.Name", but in the context of the Personal Authority represented by "=Personal.Name". So it may resolve to the resource representation(s) designated by this Personal Authority.
