This commit is contained in:
stpeter 2011-12-14 17:08:09 -07:00
parent 7804258d28
commit 16bfbbc246
1 changed files with 40 additions and 40 deletions

View File

@ -21,6 +21,12 @@
<supersededby/>
<shortname>N/A</shortname>
&stpeter;
<revision>
<version>0.2</version>
<date>2011-12-14</date>
<initials>psa</initials>
<remark><p>Modified format to make it more backward compatible; incremented protocol namespace.</p></remark>
</revision>
<revision>
<version>0.1</version>
<date>2011-08-26</date>
@ -40,20 +46,19 @@
</section1>
<section1 topic='Format' anchor='format'>
<p>XML elements describing status conditions defined by this specification SHALL be qualified by the 'urn:xmpp:muc:conditions:0' namespace.</p>
<p>XML elements describing status conditions defined by this specification SHALL be qualified by the 'urn:xmpp:muc:conditions:1' namespace.</p>
<p>The structure is as follows:</p>
<code><![CDATA[
<conditions xmlns='urn:xmpp:muc:conditions:0'>
<status xmlns='http://jabber.org/protocol/muc#user'>
<DEFINED-CONDITION>
[<text xml:lang='langcode'>OPTIONAL descriptive text</text>]
[OPTIONAL application-specific condition element]
</DEFINED-CONDITION>
[<DEFINED-CONDITION/>]
[OPTIONAL application-specific condition element or elements]
</conditions>
</status>
]]></code>
<p>That is, the &lt;conditions/&gt; element MAY contain one or more condition elements defined in this document (each of which MAY contain a human-readable &lt;text/&gt; element and MAY contain an application-specific condition element) and MAY contain one or more application-specific condition elements.</p>
<p>The &lt;conditions/&gt; element is intended to be a direct child of the &X; element qualified by the 'http://jabber.org/protocol/muc#user' as used for status notifications in multi-user chat.</p>
<p>That is, any &lt;status/&gt; element qualified by the existing http://jabber.org/protocol/muc#user' namespace (from XEP-0045) MAY contain one or more condition elements defined in this document (each of which MAY contain a human-readable &lt;text/&gt; element and MAY contain an application-specific condition element) and MAY contain one or more application-specific condition elements.</p>
<p>An example follows.</p>
<example caption="Service Sends New Occupant's Presence to New Occupant"><![CDATA[
<presence
@ -63,11 +68,11 @@
<x xmlns='http://jabber.org/protocol/muc#user'>
<item affiliation='member' role='participant'/>
<status code='100'/>
<realjid-public xmlns='urn:xmpp:muc:conditions:1'/>
</status>
<status code='110'/>
<conditions xmlns='urn:xmpp:muc:conditions:0'>
<realjid-public/>
<self-presence/>
</conditions>
<self-presence xmlns='urn:xmpp:muc:conditions:1'/>
</status>
</x>
</presence>
]]></example>
@ -171,7 +176,7 @@
<section2 topic='Protocol Namespaces' anchor='registrar-ns'>
<p>This specification defines the following XML namespace:</p>
<ul>
<li>urn:xmpp:muc:conditions:0</li>
<li>urn:xmpp:muc:conditions:1</li>
</ul>
<p>Upon advancement of this specification from a status of Experimental to a status of Draft, the &REGISTRAR; shall add the foregoing namespace to the registry located at &NAMESPACES;, as described in Section 4 of &xep0053;.</p>
</section2>
@ -189,38 +194,29 @@
<xs:schema
xmlns:xs='http://www.w3.org/2001/XMLSchema'
targetNamespace='urn:xmpp:muc:conditions:0'
xmlns='urn:xmpp:muc:conditions:0'
targetNamespace='urn:xmpp:muc:conditions:1'
xmlns='urn:xmpp:muc:conditions:1'
elementFormDefault='qualified'>
<xs:element name='conditions'>
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs='0' maxOccurs='unbounded'>
<xs:element name='affiliation-changed' type='MucStatusType'/>
<xs:element name='banned' type='MucStatusType'/>
<xs:element name='configuration-changed' type='MucStatusType'/>
<xs:element name='fully-anonymous' type='MucStatusType'/>
<xs:element name='kicked' type='MucStatusType'/>
<xs:element name='logging-disabled' type='MucStatusType'/>
<xs:element name='logging-enabled' type='MucStatusType'/>
<xs:element name='new-nick' type='MucStatusType'/>
<xs:element name='nick-assigned' type='MucStatusType'/>
<xs:element name='non-anonymous' type='MucStatusType'/>
<xs:element name='realjid-public' type='MucStatusType'/>
<xs:element name='removed-affiliation' type='MucStatusType'/>
<xs:element name='removed-membership' type='MucStatusType'/>
<xs:element name='removed-shutdown' type='MucStatusType'/>
<xs:element name='room-created' type='MucStatusType'/>
<xs:element name='self-presence' type='MucStatusType'/>
<xs:element name='semi-anonymous' type='MucStatusType'/>
<xs:element name='unavailable-not-shown' type='MucStatusType'/>
<xs:element name='unavailable-shown' type='MucStatusType'/>
</xs:choice>
<xs:any namespace='##other' minOccurs='0' maxOccurs='unbounded' processContents='lax'/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name='affiliation-changed' type='MucStatusType'/>
<xs:element name='banned' type='MucStatusType'/>
<xs:element name='configuration-changed' type='MucStatusType'/>
<xs:element name='fully-anonymous' type='MucStatusType'/>
<xs:element name='kicked' type='MucStatusType'/>
<xs:element name='logging-disabled' type='MucStatusType'/>
<xs:element name='logging-enabled' type='MucStatusType'/>
<xs:element name='new-nick' type='MucStatusType'/>
<xs:element name='nick-assigned' type='MucStatusType'/>
<xs:element name='non-anonymous' type='MucStatusType'/>
<xs:element name='realjid-public' type='MucStatusType'/>
<xs:element name='removed-affiliation' type='MucStatusType'/>
<xs:element name='removed-membership' type='MucStatusType'/>
<xs:element name='removed-shutdown' type='MucStatusType'/>
<xs:element name='room-created' type='MucStatusType'/>
<xs:element name='self-presence' type='MucStatusType'/>
<xs:element name='semi-anonymous' type='MucStatusType'/>
<xs:element name='unavailable-not-shown' type='MucStatusType'/>
<xs:element name='unavailable-shown' type='MucStatusType'/>
<xs:complexType name='MucStatusType'>
<xs:sequence>
@ -243,4 +239,8 @@
]]></code>
</section1>
<section1 topic='Acknowledgements' anchor='ack'>
<p>Thanks to Dave Cridland and Ralph Meijer for their feedback.</p>
</section1>
</xep>