fix examples and some styles

This commit is contained in:
Manuel Rubio 2018-05-12 13:32:43 +02:00
parent f24226b35b
commit 5af9e9d01e
1 changed files with 395 additions and 389 deletions

View File

@ -955,7 +955,7 @@ This approach enables flexible support of multiple clients for a MIX channel pa
id='kl2fax27'
to='coven@mix.shakespeare.example'
type='get'>
<query xmlns='http://jabber.org/protocol/disco#items'/ node='mix'>
<query xmlns='http://jabber.org/protocol/disco#items' node='mix'/>
</iq>
]]></example>
<example caption='Channel Returns Disco Items Result'><![CDATA[
@ -993,7 +993,7 @@ This approach enables flexible support of multiple clients for a MIX channel pa
id='kl2fax27'
to='hag66@shakespeare.example/UUID-c8y/1573'
type='result'>
<pubsub xlns='http://jabber.org/protocol/pubsub'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='urn:xmpp:mix:nodes:info'>
<item id='2016-05-30T09:00:00' xmlns='urn:xmpp:mix:1'>
<x xmlns='jabber:x:data' type='result'>
@ -1025,7 +1025,7 @@ This approach enables flexible support of multiple clients for a MIX channel pa
id='kl2fax27'
to='coven@mix.shakespeare.example'
type='get'>
<pubsub xlns='http://jabber.org/protocol/pubsub'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='urn:xmpp:mix:nodes:participants'/>
</pubsub>
</iq>
@ -1035,7 +1035,7 @@ This approach enables flexible support of multiple clients for a MIX channel pa
id='kl2fax27'
to='hag66@shakespeare.example/UUID-c8y/1573'
type='result'>
<pubsub xlns='http://jabber.org/protocol/pubsub'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='urn:xmpp:mix:nodes:participants'>
<item id='123456#coven@mix.shakespeare.example'>
<participant xmlns='urn:xmpp:mix:1'>
@ -1049,7 +1049,6 @@ This approach enables flexible support of multiple clients for a MIX channel pa
</item>
</items>
</pubsub>
<items>
</iq>
]]></example>
<p>
@ -1088,16 +1087,12 @@ This approach enables flexible support of multiple clients for a MIX channel pa
<section1 topic='Use Cases' anchor='usecases'>
<section2 topic='Common User Use Cases' anchor='usecases-user'>
<section3 topic='Joining a Channel' anchor='usecase-user-join'>
<p>A user joins a channel by sending a MIX "join" command from one of the user's clients. There is no default set of nodes, so the user MUST specify the set of nodes to be subscribed to. To achieve the equivalent service to MUC, a user would subscribe to both messages and presence nodes. A user will typically subscribe to at least the message and/or presence nodes but MAY join and not subscribe to any nodes. The &lt;join/&gt; is a child element of &lt;iq/&gt; element. The &lt;join/&gt; element is qualified by the 'urn:xmpp:mix:1' namespace. The channel is specified by a 'channel' attribute in the &lt;join/&gt; element. The requested nodes are encoded as &lt;subscribe/&gt; child elements of the &lt;join/&gt; element.
The join leads to the server subscribing the user to each of the requested nodes associated with the channel. The MIX service will also add the user to the participant list by injecting a new item into the "urn:xmpp:mix:nodes:participants" node automatically.
</p>
<p>A user joins a channel by sending a MIX "join" command from one of the user's clients. There is no default set of nodes, so the user MUST specify the set of nodes to be subscribed to. To achieve the equivalent service to MUC, a user would subscribe to both messages and presence nodes. A user will typically subscribe to at least the message and/or presence nodes but MAY join and not subscribe to any nodes. The &lt;join/&gt; is a child element of &lt;iq/&gt; element. The &lt;join/&gt; element is qualified by the 'urn:xmpp:mix:1' namespace. The channel is specified by a 'channel' attribute in the &lt;join/&gt; element. The requested nodes are encoded as &lt;subscribe/&gt; child elements of the &lt;join/&gt; element.</p>
<p>The join leads to the server subscribing the user to each of the requested nodes associated with the channel. The MIX service will also add the user to the participant list by injecting a new item into the "urn:xmpp:mix:nodes:participants" node automatically.</p>
<p>The default MIX model is that only channel participants are allowed to subscribe to nodes. A MIX channel MAY allow non-participant subscription. This will be handled by clients directly subscribing to the desired PubSub nodes.</p>
<p>
The user's server needs to make roster changes as part of the join functionality. Because of this, the join and leave operations need to operate indirectly.
For this reason the initial join request is sent to the local server with the MIX channel specified as an attribute to the join. The join is sent from a client identified by a full JID to the user's bare JID.
</p>
<p>The user's server needs to make roster changes as part of the join functionality. Because of this, the join and leave operations need to operate indirectly.</p>
<p>For this reason the initial join request is sent to the local server with the MIX channel specified as an attribute to the join. The join is sent from a client identified by a full JID to the user's bare JID.</p>
<example caption="Client sends request to Local Server to Join a Channel"><![CDATA[
<iq type='set'
@ -1136,7 +1131,8 @@ This approach enables flexible support of multiple clients for a MIX channel pa
from='coven@mix.shakespeare.example'
to='hag66@shakespeare.example'
id='E6E10350-76CF-40C6-B91B-1EA08C332FC7'>
<join xmlns='urn:xmpp:mix:1' jid='123456#coven@mix.shakespeare.example'>
<join xmlns='urn:xmpp:mix:1'
jid='123456#coven@mix.shakespeare.example'>
<subscribe node='urn:xmpp:mix:nodes:messages'/>
<subscribe node='urn:xmpp:mix:nodes:presence'/>
<subscribe node='urn:xmpp:mix:nodes:participants'/>
@ -1145,17 +1141,16 @@ This approach enables flexible support of multiple clients for a MIX channel pa
</iq>
]]></example>
<p>
The user's server will then make roster modifications as set out in the next section.
After making these changes, the user's server will send the join response back to the client that made the join request, identified by the full JID. This is illustrated below:
</p>
<p>The user's server will then make roster modifications as set out in the next section.</p>
<p>After making these changes, the user's server will send the join response back to the client that made the join request, identified by the full JID. This is illustrated below:</p>
<example caption="User's Server sends response to Client"><![CDATA[
<iq type='result'
from='hag66@shakespeare.example'
to='hag66@shakespeare.example/UUID-a1j/7533'
id='E6E10350-76CF-40C6-B91B-1EA08C332FC7'>
<join xmlns='urn:xmpp:mix:1' jid='123456#coven@mix.shakespeare.example'>
<join xmlns='urn:xmpp:mix:1'
jid='123456#coven@mix.shakespeare.example'>
<subscribe node='urn:xmpp:mix:nodes:messages'/>
<subscribe node='urn:xmpp:mix:nodes:presence'/>
<subscribe node='urn:xmpp:mix:nodes:participants'/>
@ -1179,7 +1174,8 @@ This approach enables flexible support of multiple clients for a MIX channel pa
from='hag66@shakespeare.example'
to='coven@mix.shakespeare.example'
id='E6E10350-76CF-40C6-B91B-1EA08C332FC7'>
<join xmlns='urn:xmpp:mix:1' jid='123456#coven@mix.shakespeare.example'>
<join xmlns='urn:xmpp:mix:1'
jid='123456#coven@mix.shakespeare.example'>
<subscribe node='urn:xmpp:mix:nodes:messages'/>
<subscribe node='urn:xmpp:mix:nodes:participants'/>
<subscribe node='urn:xmpp:mix:nodes:info'/>
@ -1221,7 +1217,8 @@ This approach enables flexible support of multiple clients for a MIX channel pa
from='coven@mix.shakespeare.example'
to='hag66@shakespeare.example/UUID-a1j/7533'
id='E6E10350-76CF-40C6-B91B-1EA08C332FC7'>
<update-subscription xmlns='urn:xmpp:mix:1' jid='hag66@shakespeare.example'>
<update-subscription xmlns='urn:xmpp:mix:1'
jid='hag66@shakespeare.example'>
<subscribe node='urn:xmpp:mix:nodes:messages'/>
</update-subscription>
</iq>
@ -1297,7 +1294,8 @@ This approach enables flexible support of multiple clients for a MIX channel pa
from='coven@mix.shakespeare.example'
to='hag66@shakespeare.example'
id='E6E10350-76CF-40C6-B91B-1EA08C332FC7'>
<join xmlns='urn:xmpp:mix:1' jid='hag66@shakespeare.example'>
<join xmlns='urn:xmpp:mix:1'
jid='hag66@shakespeare.example'>
<subscribe node='urn:xmpp:mix:nodes:messages'/>
<subscribe node='urn:xmpp:mix:nodes:presence'/>
<x xmlns='jabber:x:data' type='result'>
@ -1337,16 +1335,24 @@ This approach enables flexible support of multiple clients for a MIX channel pa
</field>
<field type='list-single' label='Preference for JID Visibility
var='JID Visibility'>
<option label='JID Never Shown'><value>Never</value></option>
<option label='Default Behaviour'
<value>default</value></option>
<option label='JID Never Shown'>
<value>Never</value>
</option>
<option label='Default Behaviour'>
<value>default</value>
</option>
<option label='Try not to show JID'>
<value>prefer not</value></option>
<value>prefer not</value>
</option>
</field>
<field type='list-single' label='Example Custom Preference'
var='Custom Preference'>
<option label='One Option'><value>a</value></option>
<option label='Another Option'><value>b</value></option>
<option label='One Option'>
<value>a</value>
</option>
<option label='Another Option'>
<value>b</value>
</option>
</field>
</x>
</user-preference>
@ -1375,6 +1381,7 @@ This approach enables flexible support of multiple clients for a MIX channel pa
<value>block</value>
</field>
</x>
</user-preference>
</iq>
<iq type='result'
@ -1471,7 +1478,8 @@ This approach enables flexible support of multiple clients for a MIX channel pa
</message>
<message from='coven@mix.shakespeare.example'
to='other-witch@shakespeare.example' id='bar'>
to='other-witch@shakespeare.example'
id='bar'>
<event xmlns='http://jabber.org/protocol/pubsub#event'>
<items xmlns='urn:xmpp:mix:1' node='urn:xmpp:mix:nodes:presence'>
<item>
@ -1543,7 +1551,7 @@ This approach enables flexible support of multiple clients for a MIX channel pa
to='hag66@shakespeare.example/UUID-a1j/7533'
from='mix.shakespeare.example'
id='7nve413p'>
<query xmlns='http://jabber.org/protocol/disco#info'/>
<query xmlns='http://jabber.org/protocol/disco#info'>
<feature var='urn:xmpp:mix:1#nick-register'/>
</query>
</iq>
@ -1581,8 +1589,8 @@ This approach enables flexible support of multiple clients for a MIX channel pa
</iq>
]]></example>
<p>If the requested nick is already taken and the MIX service does not assign an alternate nick, the MIX service MUST return a &lt;conflict/&gt; error:</p>
<example caption="Nick is Taken">
<![CDATA[<iq type='error'
<example caption="Nick is Taken"><![CDATA[
<iq type='error'
to='mix.shakespeare.example'
from='hag66@shakespeare.example/UUID-a1j/7533'
id='7nve413p'>
@ -1623,16 +1631,16 @@ This approach enables flexible support of multiple clients for a MIX channel pa
<p>
The server then sends the presence information to roster entries. The following example then shows the presence message from the client's server to the MIX channel.
</p>
<example caption="Server sends Presence Status to MIX Channel">
<![CDATA[<presence from='hag66@shakespeare.example/UUID-a1j/7533'
<example caption="Server sends Presence Status to MIX Channel"><![CDATA[
<presence from='hag66@shakespeare.example/UUID-a1j/7533'
to='coven@mix.shakespeare.example'>
<show>dnd</show>
<status>Making a Brew</status>
</presence>]]></example>
<p>The user's presence information is then published by the service to the "urn:xmpp:mix:nodes:presence" node, with the 'publisher' attribute set to the user's participant identifier (the proxy JID). The MIX channel then broadcasts the presence change to all users who are subscribed to the "urn:xmpp:mix:nodes:presence" node. The presence stanza is sent from the full proxy JID of the client updating status.
Note that presence is associated with a client and so will have a full JID. The following example shows a presence message as distributed by the server to a presences subscriber.</p>
<example caption="Channel Distributes Presence">
<![CDATA[<presence from='123435#coven@mix.shakespeare.example/678'
<example caption="Channel Distributes Presence"><![CDATA[
<presence from='123435#coven@mix.shakespeare.example/678'
to='hag99@shakespeare.example'
id='77E07BB0-55CF-4BD4-890E-3F7C0E686BBD'>
<nick xmlns='http://jabber.org/protocol/nick'>thirdwitch</nick>
@ -1680,7 +1688,7 @@ This approach enables flexible support of multiple clients for a MIX channel pa
id='kl2fax27'
to='coven@mix.shakespeare.example'
type='get'>
<pubsub xlns='http://jabber.org/protocol/pubsub'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='urn:xmpp:mix:nodes:jidmap'>
<item id='123456#coven@mix.shakespeare.example'/>
</items>
@ -1691,7 +1699,7 @@ This approach enables flexible support of multiple clients for a MIX channel pa
id='kl2fax27'
to='hag66@shakespeare.example/UUID-c8y/1573'
type='result'>
<pubsub xlns='http://jabber.org/protocol/pubsub'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='urn:xmpp:mix:nodes:jidmap'>
<item id='123456#coven@mix.shakespeare.example'>
<participant xmlns='urn:xmpp:mix:1'>
@ -1700,7 +1708,6 @@ This approach enables flexible support of multiple clients for a MIX channel pa
</item>
</items>
</pubsub>
<items>
</iq>]]> </example>
@ -1714,7 +1721,7 @@ This approach enables flexible support of multiple clients for a MIX channel pa
id='kl2fax27'
to='coven@mix.shakespeare.example'
type='set'>
<query xlns='urn:xmpp:mam:2'
<query xmlns='urn:xmpp:mam:2'
queryid='f28'
node='urn:xmpp:mix:nodes:jidmap'>
<x xmlns='jabber:x:data' type='submit'>
@ -1750,8 +1757,7 @@ This approach enables flexible support of multiple clients for a MIX channel pa
<iq from='coven@mix.shakespeare.example'
to='hag66@shakespeare.example/UUID-c8y/1573'
id='kl2fax27'
type='result'>
</iq>]]> </example>
type='result'/>]]> </example>
@ -1782,8 +1788,8 @@ This approach enables flexible support of multiple clients for a MIX channel pa
]]></example>
<p>The MIX channel will retract (remove) the item in the presence node of the MIX channel identified by the client's full JID. The MIX channel will notify subscribers to the presence node of the user going offline by sending a presence stanza to the full JID of each client. The presence stanza will reference the full proxy JID of the client that is going offline, as shown in the following example:</p>
<example caption="Channel Distributes Notification of Client going Offline">
<![CDATA[<presence from='12345#coven@mix.shakespeare.example/678'
<example caption="Channel Distributes Notification of Client going Offline"><![CDATA[
<presence from='12345#coven@mix.shakespeare.example/678'
to='hecate@shakespeare.example'
id='77E07BB0-55CF-4BD4-890E-3F7C0E686BBD'
type='unavailable'/>]]></example>
@ -1897,9 +1903,11 @@ This approach enables flexible support of multiple clients for a MIX channel pa
<result xmlns='urn:xmpp:mam:2' queryid='f27' id='28482-98726-73623'>
<forwarded xmlns='urn:xmpp:forward:0'>
<delay xmlns='urn:xmpp:delay' stamp='2010-07-10T23:08:25Z'/>
<message xmlns='jabber:client' from="hag66@shakespeare.example"
<message xmlns='jabber:client'
from="hag66@shakespeare.example"
to="macbeth@shakespeare.example">
<retracted xmlns='urn:xmpp:mix:1' by='hag66@shakespeare.example'
<retracted xmlns='urn:xmpp:mix:1'
by='hag66@shakespeare.example'
time='2010-07-10T23:08:25Z'/>
</message>
</forwarded>
@ -2071,7 +2079,6 @@ This approach enables flexible support of multiple clients for a MIX channel pa
<NICKNAME>stpeter</NICKNAME>
<URL>http://www.xmpp.org/xsf/people/stpeter.shtml</URL>
</vCard>
<query xmlns='http://jabber.org/protocol/disco#info'>
</iq>
]]></example>
<p>
@ -2300,8 +2307,7 @@ This approach enables flexible support of multiple clients for a MIX channel pa
<iq from='mix.shakespeare.example'
id='lx09df27'
to='hag66@shakespeare.example/UUID-a1j/7533'
type='result'>
</iq>
type='result'/>
]]></example>
</section3>
<section3 topic='Server Destroying a Channel' anchor='usecase-server-destroy'>
@ -2317,7 +2323,7 @@ This approach enables flexible support of multiple clients for a MIX channel pa
id='lx09df27'
to='mix.shakespeare.example'
type='get'>
<pubsub xmlns='http://jabber.org/protocol/'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='urn:xmpp:mix:nodes:info'/>
</pubsub>
</iq>
@ -2326,7 +2332,7 @@ This approach enables flexible support of multiple clients for a MIX channel pa
id='lx09df27'
to='hag66@shakespeare.example/UUID-a1j/7533'
type='result'>
<pubsub xmlns='http://jabber.org/protocol/'>
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node='urn:xmpp:mix:nodes:info'>
<item>
<x xmlns='jabber:x:data' type='form'>
@ -2458,8 +2464,8 @@ This approach enables flexible support of multiple clients for a MIX channel pa
<value>true</value>
</field>
</x>
<item/>
<items/>
</item>
</items>
</publish>
</pubsub>
</iq>