<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE xep SYSTEM 'xep.dtd' [
  <!ENTITY % ents SYSTEM 'xep.ent'>
%ents;
]>
<?xml-stylesheet type='text/xsl' href='xep.xsl'?>
<xep>
<header>
  <title>Auto-Discovery of JabberIDs</title>
  <abstract>This specification defines a recommended best practice for linking to JabberIDs from documents hosted on the World Wide Web.</abstract>
  &LEGALNOTICE;
  <number>0240</number>
  <status>Deferred</status>
  <type>Standards Track</type>
  <sig>Standards</sig>
  <approver>Council</approver>
  <dependencies>
    <spec>XMPP Core</spec>
  </dependencies>
  <supersedes/>
  <supersededby/>
  <shortname>NOT_YET_ASSIGNED</shortname>
  &stpeter;
  &ralphm;
  <revision>
    <version>0.1</version>
    <date>2008-04-30</date>
    <initials>psa</initials>
    <remark><p>Initial published version.</p></remark>
  </revision>
  <revision>
    <version>0.0.1</version>
    <date>2008-04-28</date>
    <initials>psa/rm</initials>
    <remark><p>First draft.</p></remark>
  </revision>
</header>

<section1 topic='Introduction' anchor='intro'>
  <p>&w3html; defines a &lt;link/&gt; element that defines a relationship between a document and another resource on the Internet. Such a resource can be a JabberID. Examples include the JabberID of a document author, a &xep0045; room where the document can be discussed, or a &xep0060; node where RSS or Atom feeds related to the document are hosted (e.g., see &rfc4287;). This specification defines a recommended approach for linking to JabberIDs in this way.</p>
</section1>

<section1 topic='Link Format' anchor='format'>
  <p>The RECOMMENDED format is as follows.</p>
  <example caption='Format'><![CDATA[
<link 
  href='xmpp-uri'
  rel='some-relation'/>
  ]]></example>
  <p>The 'href' attribute is REQUIRED and its value MUST be an XMPP URI or IRI that conforms to &rfc5122;. The URI SHOULD NOT include an action as described in &xep0147; and registered at &QUERYTYPES;, so that the URI can be appropriately dereferenced as described below. The URI MAY include a node key as shown in the examples below.</p>
  <p>The 'rel' attribute is RECOMMENED and its value SHOULD be a link relation as registered in the &ianalinks; or other registry.</p>
  <p>In addition to 'href' and 'rel', the HTML and XHTML specifications define a number of other allowable attributes for the &lt;link/&gt; element. These attributes MAY be included. However, because a JabberID is a bare address and there is no hosted media associated with a JabberID, the 'charset', 'media', and 'type' attribute SHOULD NOT be included.</p>
</section1>

<section1 topic='Processing' anchor='processing'>
  <p>When an application encounters an auto-discovery link to a JabberID, it SHOULD pass it to an appropriate helper application (such as an XMPP client). The helper application then SHOULD dereference the URI, and send an XMPP &xep0030; request to the referenced JID, passing the optional node parameter. The service discovery response therefore enables a full range of future actions.</p>
</section1>

<section1 topic='Examples' anchor='examples'>
  <p>The following example shows a JabberID that points to the same entity as the document itself (e.g., the author of an "about-the-author" page).</p>
  <example caption='Link Pointing to an Author'><![CDATA[
<link href='xmpp:stpeter@jabber.org' rel='self'/>
  ]]></example>
  <p>The following example shows a JabberID that points to a multi-user chat room where the document can be discussed.</p>
  <example caption='Link Pointing to a Chat Room'><![CDATA[
<link href='xmpp:jdev@conference.jabber.org'/>
  ]]></example>
  <p>The following example shows a JabberID that points to a publish-subscribe node where notifications related to the document can be retrieved.</p>
  <example caption='Link Pointing to a Pubsub Node'><![CDATA[
<link href='xmpp:pubsub.jabber.org?;node=xeps' rel='alternate'/>
  ]]></example>
</section1>

<section1 topic='Security Considerations' anchor='security'>
  <p>Advertising an XMPP address so that it can be automatically discovered may expose that address to abusive communications. Care should be taken when choosing whether to advertise a JID that corresponds to an end user's primary XMPP address.</p>
</section1>

<section1 topic='IANA Considerations' anchor='iana'>
  <p>This document currently requires no interaction with &IANA;. However, a future version of this specification may register new link relations with the IANA.</p>
</section1>

<section1 topic='XMPP Registrar Considerations' anchor='registrar'>
  <p>This document requires no interaction with the &REGISTRAR;.</p>
</section1>

</xep>