git-svn-id: file:///home/ksmith/gitmigration/svn/xmpp/trunk@2831 4b5297f7-1745-476d-ba37-a9c6900126ab
This commit is contained in:
Peter Saint-Andre 2009-03-06 18:21:16 +00:00
parent 3fa720107d
commit 5d587243fa
1 changed files with 32 additions and 19 deletions

View File

@ -48,6 +48,18 @@
&stpeter;
&ralphm;
<revision>
<version>1.13rc1</version>
<date>in progress, 2009-02-09</date>
<initials>psa</initials>
<remark>
<ul>
<li>Removed delete-any feature.</li>
<li>Added (implicit) delete-items feature.</li>
</ul>
</remark>
</revision>
<revision>
<version>1.12</version>
<date>2008-09-03</date>
@ -528,7 +540,7 @@ And by opposing end them?
<td>No</td>
</tr>
</table>
<p>* Note: A service MAY allow any publisher to delete any item once it has been published to that node instead of allowing only the original publisher to remove it (this is discoverable via the "pubsub#delete-any" feature).</p>
<p>* Note: A service MAY allow any publisher to delete any item once it has been published to that node instead of allowing only the original publisher to remove it.</p>
<p>The ways in which an entity changes its affiliation with a node are well-defined. Typically, action by an owner is required to make an affiliation state transition. Affiliation changes and their triggering actions are specified in the following table.</p>
<table caption='Affiliation State Chart'>
<tr>
@ -962,7 +974,8 @@ And by opposing end them?
<subscription node='node1' jid='francisco@denmark.lit' subscription='subscribed'/>
<subscription node='node2' jid='francisco@denmark.lit' subscription='subscribed'/>
<subscription node='node5' jid='francisco@denmark.lit' subscription='unconfigured'/>
<subscription node='node6' jid='francisco@denmark.lit' subscription='pending'/>
<subscription node='node6' jid='francisco@denmark.lit' subscription='subscribed' subid='123-abc'/>
<subscription node='node6' jid='francisco@denmark.lit' subscription='subscribed' subid='004-yyy'/>
</subscriptions>
</pubsub>
</iq>
@ -994,7 +1007,7 @@ And by opposing end them?
</error>
</iq>
]]></example>
<p>An entity MAY also request its subscriptions at a specific node (e.g., if it has subscriptions with multiple SubIDs) by including a 'node' attribute on the &lt;subscriptions/&gt; element.</p>
<p>An entity MAY also request all of its subscriptions at a specific node (e.g., if it has subscriptions with multiple SubIDs) by including a 'node' attribute on the &lt;subscriptions/&gt; element.</p>
<example caption='Entity requests current subscriptions from a specific node'><![CDATA[
<iq type='get'
from='francisco@denmark.lit/barracks'
@ -1005,16 +1018,16 @@ And by opposing end them?
</pubsub>
</iq>
]]></example>
<p>The service would then return only the subscriptions to that node.</p>
<example caption='Service returns all current subscriptions'><![CDATA[
<p>The service would then return only the entity's subscriptions to that specific node; this acts as a filter on the entity's subscriptions.</p>
<example caption='Service returns all current subscriptions to a specific node'><![CDATA[
<iq type='result'
from='pubsub.shakespeare.lit'
to='francisco@denmark.lit'
id='subscriptions1'>
id='subscriptions2'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<subscriptions node='princely_musings'>
<subscription jid='bernardo@denmark.lit' subscription='subscribed' subid='123-abc'/>
<subscription jid='bernardo@denmark.lit' subscription='subscribed' subid='004-yyy'/>
<subscriptions node='node6'>
<subscription node='node6' jid='francisco@denmark.lit' subscription='subscribed' subid='123-abc'/>
<subscription node='node6' jid='francisco@denmark.lit' subscription='subscribed' subid='004-yyy'/>
</subscriptions>
</pubsub>
</iq>
@ -2881,7 +2894,7 @@ And by opposing end them?
</section2>
<section2 topic='Delete an Item from a Node' anchor='publisher-delete'>
<p>A publisher may want to delete an item once it has been published to a node that supports persistent items. Support for this feature ("delete-any") is RECOMMENDED.</p>
<p>A publisher might want to delete an item once it has been published to a node that supports persistent items. Support for this feature ("delete-items") is RECOMMENDED.</p>
<section3 topic='Request' anchor='publisher-delete-request'>
<p>To delete an item, the publisher sends a retract request as shown in the following examples. The &lt;retract/&gt; element MUST possess a 'node' attribute, MAY possess a 'notify' attribute, and SHOULD contain one &ITEM; element (but MAY contain more than one &ITEM; element for <link url='#impl-batch'>Batch Processing</link> of item retractions); the &ITEM; element MUST be empty and MUST possess an 'id' attribute.</p>
<example caption='Entity deletes an item from a node'><![CDATA[
@ -3044,7 +3057,7 @@ And by opposing end them?
]]></example>
</section4>
<section4 topic='Item Deletion Not Supported' anchor='publisher-delete-error-notsupported'>
<p>If the service does not support item deletion, it MUST return a &feature; error, specifying a pubsub-specific error condition of &lt;unsupported/&gt; and a feature of "delete-nodes".</p>
<p>If the service does not support item deletion, it MUST return a &feature; error, specifying a pubsub-specific error condition of &lt;unsupported/&gt; and a feature of "delete-items".</p>
<example caption='Service does not support item deletion'><![CDATA[
<iq type='error'
from='pubsub.shakespeare.lit'
@ -3058,7 +3071,7 @@ And by opposing end them?
<error type='cancel'>
<feature-not-implemented xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
<unsupported xmlns='http://jabber.org/protocol/pubsub#errors'
feature='delete-nodes'/>
feature='delete-items'/>
</error>
</iq>
]]></example>
@ -3214,7 +3227,7 @@ And by opposing end them?
</pubsub>
</iq>
]]></example>
<p>In order to request an access model other than the default for the service, the node creator MUST include a Data Form in the node creation request that specifies a non-default value for the 'pubsub#node_type' field.</p>
<p>In order to request an access model other than the default for the service, the node creator MUST include a Data Form in the node creation request that specifies a non-default value for the 'pubsub#access_model' field.</p>
<example caption='Entity requests leaf node with non-default access model'><![CDATA[
<iq type='set'
from='hamlet@denmark.lit/elsinore'
@ -4893,9 +4906,9 @@ And by opposing end them?
<td><link url='#owner-create'>Create a Node</link></td>
</tr>
<tr>
<td>delete-any</td>
<td>Any publisher may delete an item (not only the originating publisher).</td>
<td>OPTIONAL</td>
<td>delete-items</td>
<td>Deletion of items is supported.</td>
<td>RECOMMENDED</td>
<td><link url='#publisher-delete'>Delete an Item from a Node</link></td>
</tr>
<tr>
@ -5732,8 +5745,8 @@ O, what a rogue and peasant slave am I!
<doc>XEP-0060</doc>
</var>
<var>
<name>http://jabber.org/protocol/pubsub#delete-any</name>
<desc>Any publisher may delete an item (not only the originating publisher).</desc>
<name>http://jabber.org/protocol/pubsub#delete-items</name>
<desc>Deletion of items is supported.</desc>
<doc>XEP-0060</doc>
</var>
<var>
@ -6574,7 +6587,7 @@ xmpp:pubsub.shakespeare.lit?pubsub;action=unsubscribe;node=princely_musings
<xs:enumeration value='config-node'/>
<xs:enumeration value='create-and-configure'/>
<xs:enumeration value='create-nodes'/>
<xs:enumeration value='delete-any'/>
<xs:enumeration value='delete-items'/>
<xs:enumeration value='delete-nodes'/>
<xs:enumeration value='filtered-notifications'/>
<xs:enumeration value='get-pending'/>