2006-10-02 18:22:13 -04:00
<?xml version='1.0' encoding='UTF-8'?>
2006-10-04 14:02:04 -04:00
< !DOCTYPE xep SYSTEM 'xep.dtd' [
<!ENTITY % ents SYSTEM 'xep.ent'>
2006-10-02 18:22:13 -04:00
%ents;
]>
2006-10-04 14:02:04 -04:00
<?xml-stylesheet type='text/xsl' href='xep.xsl'?>
<xep >
2006-10-02 18:22:13 -04:00
<header >
<title > Application-Specific Error Conditions</title>
<abstract > This document defines a registry of application-specific error conditions.</abstract>
&LEGALNOTICE;
<number > 0182</number>
<status > Active</status>
<type > Procedural</type>
2007-01-14 22:38:19 -05:00
<sig > Standards</sig>
2006-10-02 18:22:13 -04:00
<approver > Council</approver>
<dependencies >
<spec > XMPP Core</spec>
</dependencies>
<supersedes />
<supersededby />
<shortname > errors</shortname>
<registry />
&stpeter;
2008-02-23 13:29:10 -05:00
<revision >
<version > 1.1pre1</version>
<date > in progress, last updated 2008-02-23</date>
<initials > psa</initials>
<remark > <p > Changed namespace from http://jabber.org/protocol/errors to urn:xmpp:errors.</p> </remark>
</revision>
2006-10-02 18:22:13 -04:00
<revision >
<version > 1.0</version>
<date > 2006-05-16</date>
<initials > psa</initials>
<remark > <p > Per a vote of the Jabber Council, advanced status to Active; also added example.</p> </remark>
</revision>
<revision >
<version > 0.2</version>
<date > 2006-04-28</date>
<initials > psa</initials>
<remark > <p > Added note about scope of registry.</p> </remark>
</revision>
<revision >
<version > 0.1</version>
<date > 2006-03-23</date>
<initials > psa</initials>
2006-10-04 14:02:04 -04:00
<remark > <p > Initial version.</p> </remark>
2006-10-02 18:22:13 -04:00
</revision>
<revision >
<version > 0.0.1</version>
<date > 2006-03-21</date>
<initials > psa</initials>
<remark > <p > First draft.</p> </remark>
</revision>
</header>
<section1 topic= 'Introduction' anchor= 'intro' >
<p > &xmppcore; specifies that an XMPP error stanza may include a child element qualified by an XML namespace other than 'urn:ietf:params:xml:ns:xmpp-stanzas'. This enables any XMPP protocol extension to define its own application-specific error conditions, such as the following:</p>
<example caption= 'An Application-Specific Error Condition (invalid-jid)' > < ![CDATA[
<iq type= 'error' from= 'pubsub.shakespeare.lit' to= 'francisco@denmark.lit/barracks' id= 'sub1' >
<pubsub xmlns= 'http://jabber.org/protocol/pubsub' >
<subscribe node= 'blogs/princely_musings' jid= 'bernardo@denmark.lit' />
</pubsub>
<error type= 'modify' >
<bad-request xmlns= 'urn:ietf:params:xml:ns:xmpp-stanzas' />
<invalid-jid xmlns= 'http://jabber.org/protocol/pubsub#errors' />
</error>
</iq>
]]></example>
2008-02-23 13:29:10 -05:00
<p > Although the inclusion of application-specific error conditions introduces a great deal of flexibility, it may also lead to confusion regarding possible conditions. Therefore, this document defines a registry of application-specific error conditions, to be maintained by the ®ISTRAR; . In addition, this document registers a namespace of 'urn:xmpp:errors' as a fallback namespace for generalized error conditions that are not specific to a particular protocol (e.g., < stanza-too-big/> as a particular form of the ¬acceptable; condition).</p>
2006-10-02 18:22:13 -04:00
</section1>
2006-10-04 14:02:04 -04:00
<section1 topic= 'XMPP Registrar Considerations' anchor= 'registrar' >
2006-10-02 18:22:13 -04:00
<section2 topic= 'Application-Specific Error Conditions Registry' anchor= 'registrar-conditions' >
2006-10-04 14:02:04 -04:00
<p > The XMPP Registrar maintains a registry of application-specific error conditions (see &APPERRORS; ).</p>
2007-01-14 22:38:19 -05:00
<p > All application-specific error conditions that are defined in XMPP Extension Protocol specifications MUST be included in this registry. Application-specific error conditions that are defined outside of the XMPP Standards Foundation's standards process (see &xep0001; ) MAY be included in this registry, but it is not required for them to be so registered.</p>
2006-10-02 18:22:13 -04:00
<section3 topic= 'Registration Process' anchor= 'registrar-conditions-process' >
®PROCESS;
<code > < ![CDATA[
<condition >
<ns > the XML namespace that qualifies the condition</ns>
<element > the XML element of the error condition</element>
<desc > a natural-language description of the error condition</desc>
<doc > the document in which the condition is specified</doc>
</condition>
]]></code>
<p > The registrant may register more than one condition at a time, each contained in a separate < condition/> element.</p>
</section3>
</section2>
<section2 topic= 'Protocol Namespaces' anchor= 'registrar-ns' >
2008-02-23 13:29:10 -05:00
<p > The ®ISTRAR; includes 'urn:xmpp:errors' in its registry of protocol namespaces.</p>
2006-10-02 18:22:13 -04:00
</section2>
</section1>
<section1 topic= 'Security Considerations' anchor= 'security' >
<p > This document introduces no known security vulnerabilities.</p>
</section1>
<section1 topic= 'IANA Considerations' anchor= 'iana' >
2006-10-04 14:02:04 -04:00
<p > This document requires no interaction with &IANA; .</p>
2006-10-02 18:22:13 -04:00
</section1>
2006-10-04 14:02:04 -04:00
</xep>