Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Context UDI

Revision as of 22:59, 31 January 2008 by Paul.socialphysics.org (Talk | contribs) (Syntax)

Introduction

This page describes the Higgins ContextIdDatatype Attribute Value Datatype

Definition

Syntax

The following ABNF defines a Higgins ContextId. All rules not defined in this ABNF are defined in the ABNF for XRI 2.0 (which includes the IRI ABNF from RFC 3987) except:

  • xri2-authority and xri2-subseg are the xri-authority and xri-subset rules defined in the ABNF for XRI 2.0
  • xri3-authority and xri3-subseg are the xri-authority and xri-subset rules defined in the proposed ABNF for XRI 3.0
contextId          = contextURI / contextXRI

contextURI         = contextfileURI / contexthttpURI
contextfileURI     = [ "file://" ] ipath-abempty descriptor-ext
descriptor-ext     = ".xrds" / ".xdi"                                      ;see note 1
contexthttpURI     = ( "http://" / "https://" ) iauthority
                     ipath-abempty [ descriptor-ext ] [ "?" iquery ]

contextXRI         = contextQXRI /                                         ;see note 2
                     contextHXRI                                           ;see note 3
contextQXRI        = ( [ "xri://" ] xri2-contextQXRI ) / 
                     ( [ "xri:" ] xri3-contextQXRI )
xri2-contextQXRI   = xri2-authority [ "/($context)" *xri2-subseg ] 
xri3-contextQXRI   = xri3-authority [ "/$context" *xri3-subseg ] 
contextHXRI        = proxy-URI "/" (xri2-contextQXRI / xri3-contextQXRI )
proxy-URI          = ( "http://" / "https://" ) proxy-reg-name
proxy-reg-name     = "xri." ireg-name

Notes:

  1. ".xrds" and ".xdi" are formats designed expressly for discovery and description of resources using HTTP(S) URIs and/or XRIs. XRDS format is defined by XRI Resolution Working 2.0. XDI format is being defined by the OASIS XDI Technical Committee. Other resource description file types can be supported by extending this ABNF rule.
  2. QXRI (Query XRI) is an XRI in URI-normal form without the "xri://" prefix (XRI 2.0) or "xri:" prefix (XRI 3.0). See Section 11.2 of XRI Resolution 2.0.
  3. HXRI (HTTP(S) XRI) is the format for encapsulating an XRI within an HTTP(S) URI for purposes of resolution by an XRI proxy resolver. See Section 6 of XRI Resolution 2.0.

Examples

contextURI

contextfileURI

file://system/config/openid.xrds
file://system/config/openid.xdi
file://system/config/ldap.xrds
file://system/config/ldap.xdi

contexthttpURI

http://example.com
https://example.com
http://example.com
https://example.com
http://example.com/higgins/openid.xrds
https://example.com/higgins/openid.xdi
http://example.com/higgins/ldap.xrds
https://example.com/higgins/ldap.xdi

ContextQXRI

contextQXRI – XRI 2.0 Form

=drummond
=drummond/($context)
=drummond/($context)*($openid)
=drummond/($context)*($ldap)
=!F83.62B1.44F.2813
=!F83.62B1.44F.2813/($context)*($openid)
=!F83.62B1.44F.2813/($context)*($ldap)
=drummond*mom
=drummond*mom/($context)*($openid)
=drummond*mom/($context)*($ldap)
@example
@example/($context)
@example/($context)*($openid)
@example/($context)*($ldap)
@free*example
@free*example/($context)*($openid)
@free*example/($context)*($ldap)

contextQXRI – Proposed XRI 3.0 Form

=drummond
=drummond/$context
=drummond/$context$openid
=drummond/$context$ldap
=!F83.62B1.44F.2813
=!F83.62B1.44F.2813/$context$openid
=!F83.62B1.44F.2813/$context$$ldap
=drummond*mom
=drummond*mom/$context$openid
=drummond*mom/$context$ldap
@example
@example/$context
@example/$context$openid
@example/$context$ldap
@free*example
@free*example/$context$openid
@free*example/$context$ldap

contextHXRI

A contextHXRI is a ContextQXRI that uses an HXRI proxy resolver prefix. "xri.net" is a public HXRI proxy resolver operated by XDI.org. All others are examples.

contextHXRI – XRI 2.0 Form

http://xri.net/=drummond
http://xri.net/=drummond/($context)
https://xri.net/=drummond/($context)*($openid)
https://xri.net/=drummond*mom/($context)*($openid)
http://xri.example.com/@example/($context)*($openid)
http://xri.example.com/@free*example/($context)*($openid)
https://xri.example.org/@1000.a1b2.c3d4.9999!1234/($context)*($ldap)

contextHXRI – Proposed XRI 3.0 Form

http://xri.net/=drummond
http://xri.net/=drummond/$context
https://xri.net/=drummond/$context$openid
https://xri.net/=drummond*mom/$context$openid
http://xri.example.com/@example/$context$openid
http://xri.example.com/@example*free/$context$openid
https://xri.example.org/@1000.a1b2.c3d4.9999!1234/$context$ldap

See Also

Back to the top