<?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>Roster Item Exchange</title>
  <abstract>This specification provides canonical documentation of the jabber:x:roster namespace historically used within the Jabber community. NOTE WELL: This specification has been superseded by XEP-0144.</abstract>
  &LEGALNOTICE;
  <number>0093</number>
  <status>Deprecated</status>
  <type>Historical</type>
  <sig>Standards</sig>
  <dependencies>
    <spec>XMPP Core</spec>
    <spec>XMPP IM</spec>
  </dependencies>
  <supersedes/>
  <supersededby>
    <spec>XEP-0144</spec>
  </supersededby>
  <shortname>x-roster</shortname>
  <schemaloc>
    <url>http://www.xmpp.org/schemas/x-roster.xsd</url>
  </schemaloc>
  &stpeter;
  <revision>
    <version>1.2</version>
    <date>2005-08-26</date>
    <initials>psa</initials>
    <remark>Per advancement of XEP-0144 by the Jabber Council, changed status to Deprecated.</remark>
  </revision>
  <revision>
    <version>1.1</version>
    <date>2004-02-24</date>
    <initials>psa</initials>
    <remark>Corrected several small textual errors.</remark>
  </revision>
  <revision>
    <version>1.0</version>
    <date>2003-10-08</date>
    <initials>psa</initials>
    <remark>Per a vote of the Jabber Council, changed status to Active.</remark>
  </revision>
  <revision>
    <version>0.1</version>
    <date>2003-05-22</date>
    <initials>psa</initials>
    <remark>Initial version.</remark>
  </revision>
</header>
<section1 topic='Introduction'>
  <p>The Jabber protocols have long included a method for sending roster items to another entity. This method makes use of the 'jabber:x:roster' namespace and has been documented variously in Internet-Drafts and elsewhere. Because this protocol is not required by &rfc2779;, the 'jabber:x:roster' namespace was removed from &xmppim;. This specification fills the void for canonical documentation.</p>
  <p><em>NOTE WELL: This document has been superseded by &xep0144;.</em></p>
</section1>
<section1 topic='Definition'>
  <p>The 'jabber:x:roster' namespace (which is not to be confused with the 'jabber:iq:roster' namespace) is used to send roster items from one Jabber entity to another. A roster item is sent by adding to the &lt;message/&gt; element an &lt;x/&gt; child scoped by the 'jabber:x:roster' namespace. This &lt;x/&gt; element MUST contain at least one &lt;item/&gt; child elements (one for each roster item to be sent).</p>
  <p>Each &lt;item/&gt; element may possess the following attributes:</p>
  <ul>
    <li><strong>jid</strong> -- The Jabber Identifier of the contact being sent. This attribute is REQUIRED.</li>
    <li><strong>name</strong> -- A natural-language nickname for the contact. This attribute is OPTIONAL.</li>
  </ul>
  <p>Each &lt;item/&gt; element MAY also contain one or more &lt;group/&gt; children specifying the natural-language name of a user-specified group, for the purpose of categorizing this contact into one or more roster groups.</p>
</section1>
<section1 topic='Examples'>
  <example caption='A Roster Item Sent to another Entity'><![CDATA[
<message to='hamlet@denmark' from='horatio@denmark'>
  <subject>Visitors</subject>
  <body>This message contains roster items.</body>
  <x xmlns='jabber:x:roster'> 
    <item jid='rosencrantz@denmark'
          name='Rosencrantz'>
      <group>Visitors</group>
    </item>
    <item jid='guildenstern@denmark'
          name='Guildenstern'>
      <group>Visitors</group>
    </item>
  </x>
</message>
    ]]></example>
</section1>
<section1 topic='Security Considerations'>
  <p>There are no security features or concerns related to this proposal.</p>
</section1>
<section1 topic='IANA Considerations'>
  <p>This document requires no interaction with &IANA;.</p>
</section1>
<section1 topic='XMPP Registrar Considerations'>
  <p>The 'jabber:x:roster' namespace is registered in the protocol namespaces registry maintained by the &REGISTRAR;.</p>
</section1>
<section1 topic='XML Schema'>
  <code><![CDATA[
<?xml version='1.0' encoding='UTF-8'?>

<xs:schema
    xmlns:xs='http://www.w3.org/2001/XMLSchema'
    targetNamespace='jabber:x:roster'
    xmlns='jabber:x:roster'
    elementFormDefault='qualified'>

  <xs:annotation>
    <xs:documentation>
      The protocol documented by this schema is defined in
      XEP-0093: http://www.xmpp.org/extensions/xep-0093.html

      NOTE WELL: This protocol has been superseded by XEP-0144
      http://www.xmpp.org/extensions/xep-0144.html
    </xs:documentation>
  </xs:annotation>

  <xs:element name='x'>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref='item' minOccurs='1' maxOccurs='unbounded'/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name='item'>
    <xs:complexType>
      <xs:sequence>
        <xs:element name='group' type='xs:string' minOccurs='0' maxOccurs='unbounded'/>
      </xs:sequence>
      <xs:attribute name='jid' type='xs:string' use='required'/>
      <xs:attribute name='name' type='xs:string' use='optional'/>
    </xs:complexType>
  </xs:element>

</xs:schema>
  ]]></code>
</section1>
</xep>
