136 lines
5.1 KiB

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE xep SYSTEM 'xep.dtd' [
<!ENTITY % ents SYSTEM "xep.ent">
<?xml-stylesheet type='text/xsl' href='xep.xsl'?>
<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>
<spec>XMPP Core</spec>
<spec>XMPP IM</spec>
<remark>Per advancement of XEP-0144 by the Jabber Council, changed status to Deprecated.</remark>
<remark>Corrected several small textual errors.</remark>
<remark>Per a vote of the Jabber Council, changed status to Active.</remark>
<remark>Initial version.</remark>
<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 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>
<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>
<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 topic='Examples'>
<example caption='A Roster Item Sent to another Entity'><![CDATA[
<message to='hamlet@denmark' from='horatio@denmark'>
<body>This message contains roster items.</body>
<x xmlns='jabber:x:roster'>
<item jid='rosencrantz@denmark'
<item jid='guildenstern@denmark'
<section1 topic='Security Considerations'>
<p>There are no security features or concerns related to this proposal.</p>
<section1 topic='IANA Considerations'>
<p>This document requires no interaction with &IANA;.</p>
<section1 topic='XMPP Registrar Considerations'>
<p>The 'jabber:x:roster' namespace is registered in the protocol namespaces registry maintained by the &REGISTRAR;.</p>
<section1 topic='XML Schema'>
<?xml version='1.0' encoding='UTF-8'?>
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
<xs:element name='x'>
<xs:element ref='item' minOccurs='1' maxOccurs='unbounded'/>
<xs:element name='item'>
<xs:element name='group' type='xs:string' minOccurs='0' maxOccurs='unbounded'/>
<xs:attribute name='jid' type='xs:string' use='required'/>
<xs:attribute name='name' type='xs:string' use='optional'/>