XRDS


Background

The XML format used by XRDS was originally developed in 2004 by the OASIS XRI as the resolution format for XRIs. The acronym XRDS was coined during subsequent discussions between XRI TC members and OpenID developers at first held in Berkeley, CA in October 2005.
The protocol for discovering an XRDS document from a URL was formalized as the Yadis specification published by in March 2006. Yadis became the service discovery format for OpenID 1.1.
A common discovery service for both URLs and XRIs proved so useful that in November 2007 the specification formally added the URL-based method of XRDS discovery. This format and discovery protocol subsequently became part of .

XRDS Simple

In early 2008, work on OAuth discovery by Eran Hammer-Lahav led to the development of XRDS Simple, a profile of XRDS that restricts it to the most basic elements and introduces some extensions to support OAuth discovery and other protocols that use specific HTTP methods. In late 2008, XRDS Simple has been cancelled and merged back into the main XRDS specification resulting in the upcoming XRD 1.0 format.

Example uses

Besides XRI resolution, examples of typical XRDS usage include:
Following is an example of an XRDS document for the fictional XRI i-name =example. This document would typically be requested from a Web server via HTTP or HTTPS using the content type application/xrds+xml. Note that the outer container element serves as a container for one or more elements. Most simple XRDS documents have only one XRD. Other services like XRI resolution may construct a sequence of XRDs within a single XRDS document to reflect a chain of metadata about linked resources.


xmlns:openid="http://openid.net/xmlns/1.0">

*example

2008-05-05T00:15:00.000Z
xri://=

!4C72.6C81.D78F.90B2
http://example.com/example-user
http://example.net/blog
xri://=!4C72.6C81.D78F.90B2



xri://=!F83.62B1.44F.2813
xri://$res*auth*
application/xrds+xml
http://resolve.example.com
http://resolve2.example.com
https://resolve.example.com



http://specs.openid.net/auth/2.0/signon
http://www.myopenid.com/server
http://example.myopenid.com/



http://openid.net/server/1.0
http://www.livejournal.com/openid/server.bml
http://www.livejournal.com/users/example/




/media/pictures
image/jpeg
http://pictures.example.com



Synonyms

XRDS documents can assert zero or more synonyms for a resource. In this context, a synonym is another identifier that identifies the same target resource. For instance, the example XRDS document above asserts four synonyms:
  1. The local synonym !4C72.6C81.D78F.90B2. This is a relative XRI synonym assigned by the provider of this XRDS document.
  2. The equivalent URL http://example.com/example-user with a priority of 10.
  3. The equivalent URL http://example.net/blog with a priority of 15.
  4. The canonical identifier xri://=!4C72.6C81.D78F.90B2. This is an absolute XRI i-number for the target resource—a persistent identifier that will never be reassigned.
For full details of XRDS synonym support, see , Section 5.

Service endpoints (SEPs)

The other main purpose of XRDS documents is to assert the services associated with a resource, called service endpoints or SEPs. For instance, the example XRDS document above asserts four service endpoints for the represented resource:
  1. An XRI resolution service.
  2. An OpenID 2.0 authentication service.
  3. An OpenID 1.0 authentication service.
  4. An untyped service for requesting resources with a media type image/jpeg.
For full details of XRDS service endpoints, see , Sections 4.2 and 13.

Service types

In XRDS documents, a service is identified using a URI or XRI. Following are listings of well-known service types. See also , an begun in May 2008 to provide a catalog of XRDS service types.

XRI resolution

OpenID

OAuth discovery

Licensing

XRDS is an open public royalty-free OASIS specification. The has operated since its inception in 2003 under a royalty-free licensing policy as stated in its and