RFC 3920:Extensible Messaging and Presence Protoco...
RFC-Ref

element


Click on the red underlined text to get to the source

... valid JID contains a set of ordered elements formed of a domain identifier, node identifier ...
... domain identifier is the primary identifier and is the only REQUIRED element of a JID (a mere domain identifier is a valid ...


... XML Stream: An XML stream is a container for the exchange of XML elements between any two entities over a network. The start ...
... stream, the entity that initiated it can send an unbounded number of XML elements over the stream, either elements used to ...
... number of XML elements over the stream, either elements used to negotiate the stream (e.g., to negotiate Use of TLS ...
... SASL (Section 6)) or XML stanzas (as defined herein, <message/>, <presence/>, or <iq/> elements qualified by the default namespace). The "initial stream ...
... level of the root <stream/> element and is said to be well-balanced if it matches the production [43] content of [XML]. ...
... start of any XML stanza is denoted unambiguously by the element start tag at depth=1 of the XML stream ...
... corresponding close tag at depth=1 (e.g., </presence>). An XML stanza MAY contain child elements (with accompanying attributes, elements, and XML character data ...
... XML stanza MAY contain child elements (with accompanying attributes, elements, and XML character data) as necessary in order to convey the desired information. The only XML stanzas ...
... the desired information. The only XML stanzas defined herein are the <message/>, <presence/>, and <iq/> elements qualified by the default namespace for the stream ...
... stream, as described under XML Stanzas (Section 9); an XML element sent for the purpose of Transport Layer Security (TLS) negotiation ...
... perspective, the root <stream/> element can be considered the document entity for each "document", and the two "documents" are ...
... this applies to XML stanzas only (i.e., <message/>, <presence/>, and <iq/> elements scoped by the default namespace) and not to XML elements used for stream ...
... <iq/> elements scoped by the default namespace) and not to XML elements used for stream negotiation (e.g., elements ...
... XML elements used for stream negotiation (e.g., elements used to negotiate Use of TLS (Section 5) or Use of SASL ...
... The attributes of the stream element are as follows: o to -- The 'to' attribute SHOULD be used only in the XML stream ...
... newer version entity if it simply ignored the elements and attributes it did not understand and took the actions specified in the older specification. The minor version number ...
... The stream element MUST possess both a streams namespace declaration and a default namespace ...
... receiving entity MUST send a <features/> child element (prefixed by the streams namespace prefix) to the initiating entity ...
... The root stream element MAY contain an <error/> child element that is prefixed by the streams namespace prefix ...
... root stream element MAY contain an <error/> child element that is prefixed by the streams namespace prefix. The error child MUST be ...
... stream> tag, include the <error/> element as a child of the stream element, send the ...
... the <error/> element as a child of the stream element, send the closing </stream> tag ...
... </text> [OPTIONAL application-specific condition element] </stream:error> ...
... stream:error> The <error/> element: o MUST contain a child element ...
... element: o MUST contain a child element corresponding to one of the defined stanza error conditions ...
... stanza error conditions defined below; this element MUST be qualified by the 'urn:ietf:params:xml:ns:xmpp-streams' namespace ...
... o MAY contain a <text/> child containing XML character data that describes the error in more detail; this element MUST be qualified by the 'urn:ietf:params:xml:ns:xmpp-streams' namespace and SHOULD ...
... XML character data o MAY contain a child element for an application-specific error condition; this element ...
... element for an application-specific error condition; this element MUST be qualified by an application-defined namespace, and its structure is defined by ...
... namespace The <text/> element is OPTIONAL. If included, it SHOULD be used only to provide descriptive or diagnostic information that supplements the ...
... be shown in addition to the error message associated with the included condition element (or elements). ...
... error message associated with the included condition element (or elements). ...
... namespace prefix that is unsupported, or has sent no namespace prefix on an element that requires such a prefix (see XML Namespace ...
... service policy; the server MAY choose to specify the policy in the <text/> element or an application-specific condition element. ...
... element or an application-specific condition element. o <remote-connection ...
... XML character data of the <see-other-host/> element. o <system-shutdown/> -- the server is being shut down and all active ...
... by the server; the server MAY specify the version(s) it supports in the <text/> element. o <xml-not-well-formed ...
... application-specific stream error information by including a properly-namespaced child in the error element. The application-specific element SHOULD supplement or ...
... error element. The application-specific element SHOULD supplement or further qualify a defined element. Thus the <error/> element ...
... application-specific element SHOULD supplement or further qualify a defined element. Thus the <error/> element will contain two or three child elements ...
... element SHOULD supplement or further qualify a defined element. Thus the <error/> element will contain two or three child elements: ...
... element. Thus the <error/> element will contain two or three child elements: <stream ...


... header in reply (including the version flag), it MUST include a <starttls/> element (qualified by the 'urn:ietf:params:xml:ns:xmpp-tls' namespace) along with the list ...
... root stream element as separators between elements (any white space characters ...
... root stream element as separators between elements (any white space characters shown in the TLS ...
... TLS negotiation to have begun immediately after sending the closing ">" character of the <proceed/> element. The initiating entity MUST consider the TLS negotiation to have begun immediately after receiving ...
... TLS negotiation to have begun immediately after receiving the closing ">" character of the <proceed/> element from the receiving entity ...
... receiving entity, it SHOULD signal that fact by including a <required/> element as a child of the <starttls/> element). ...
... including a <required/> element as a child of the <starttls/> element). 4. The initiating entity ...
... entity issues the STARTTLS command (i.e., a <starttls/> element qualified by the 'urn:ietf:params:xml:ns:xmpp-tls' namespace) to instruct the ...
... 5. The receiving entity MUST reply with either a <proceed/> element or a <failure/> element qualified by the ...
... entity MUST reply with either a <proceed/> element or a <failure/> element qualified by the 'urn:ietf:params:xml:ns:xmpp-tls' namespace. If the failure case ...


... advertise one or more authentication mechanisms within a <mechanisms/> element qualified by the 'urn:ietf:params:xml:ns:xmpp-sasl' namespace in reply to the ...
... root stream element as separators between elements (any white space characters ...
... root stream element as separators between elements (any white space characters shown in the SASL ...
... 5. Any XML character data contained within the XML elements used during SASL negotiation MUST be encoded using base64 ...
... SASL authentication mechanisms; each of these is a <mechanism/> element included as a child within a <mechanisms/> container element qualified by the ...
... each of these is a <mechanism/> element included as a child within a <mechanisms/> container element qualified by the 'urn:ietf:params:xml:ns:xmpp-sasl' namespace, which in turn is a ...
... 'urn:ietf:params:xml:ns:xmpp-sasl' namespace, which in turn is a child of a <features/> element in the streams namespace. If Use of TLS ...
... 3. The initiating entity selects a mechanism by sending an <auth/> element qualified by the 'urn:ietf:params:xml:ns:xmpp-sasl' namespace to the receiving ...
... receiving entity and including an appropriate value for the 'mechanism' attribute. This element MAY contain XML character data (in SASL ...
... entity challenges the initiating entity by sending a <challenge/> element qualified by the 'urn:ietf:params:xml:ns:xmpp-sasl' namespace to the initiating ...
... namespace to the initiating entity; this element MAY contain XML character data (which MUST be computed in accordance with the definition of the SASL ...
... 5. The initiating entity responds to the challenge by sending a <response/> element qualified by the 'urn:ietf:params:xml:ns:xmpp-sasl' namespace to the receiving ...
... receiving entity; this element MAY contain XML character data (which MUST be computed in accordance with the definition of the SASL ...
... entity aborts the handshake by sending an <abort/> element qualified by the 'urn:ietf:params:xml:ns:xmpp-sasl' namespace to the receiving ...
... entity. Upon receiving an <abort/> element, the receiving entity SHOULD allow a configurable but ...
... entity reports failure of the handshake by sending a <failure/> element qualified by the 'urn:ietf:params:xml:ns:xmpp-sasl' namespace to the initiating ...
... entity (the particular cause of failure SHOULD be communicated in an appropriate child element of the <failure/> element as defined under SASL ...
... entity (the particular cause of failure SHOULD be communicated in an appropriate child element of the <failure/> element as defined under SASL Errors (Section 6.4)). If the failure case occurs, ...
... entity reports success of the handshake by sending a <success/> element qualified by the 'urn:ietf:params:xml:ns:xmpp-sasl' namespace to the initiating ...
... namespace to the initiating entity; this element MAY contain XML character data (in SASL ...
... chosen SASL mechanism. Upon receiving the <success/> element, the initiating entity MUST initiate a new stream ...
... stream to be closed upon sending or receiving the <success/> element). Upon receiving the new stream header ...
... STARTTLS and SASL features) or an empty <features/> element (to signify that no additional features are available); any such additional features not defined herein MUST be defined by the relevant extension to ...
... receiving entity as the value of the 'mechanism' attribute possessed by an <auth/> element, optionally including an initial response to avoid a round trip. ...
... exchange sequence: Challenges and responses are carried through the exchange of <challenge/> elements from receiving entity to ...
... entity to initiating entity and <response/> elements from initiating entity to receiving ...
... receiving entity reports failure by sending a <failure/> element and success by sending a <success/> element; the initiating entity ...
... sending a <failure/> element and success by sending a <success/> element; the initiating entity aborts the exchange by sending an <abort/> element ...
... element; the initiating entity aborts the exchange by sending an <abort/> element. Upon successful negotiation, both sides consider the original XML stream ...
... security layer takes effect immediately after sending the closing ">" character of the <success/> element for the receiving entity, and immediately after ...
... entity, and immediately after receiving the closing ">" character of the <success/> element for the initiating entity. The order of layers is first [TCP ...
... receiving entity acknowledges an <abort/> element sent by the initiating entity; sent in reply to the <abort/> element ...
... element sent by the initiating entity; sent in reply to the <abort/> element. o <incorrect-encoding ...
... definition in Section 3 of [BASE64]); sent in reply to a <response/> element or an <auth/> element with initial response data. ...
... BASE64]); sent in reply to a <response/> element or an <auth/> element with initial response data. ...
... because the initiating entity does not have permissions to authorize that ID; sent in reply to a <response/> element or an <auth/> element with initial response data. ...
... authorize that ID; sent in reply to a <response/> element or an <auth/> element with initial response data. o <invalid-mechanism/> -- The initiating entity ...
... receiving entity; sent in reply to an <auth/> element. o <mechanism-too-weak/> -- The mechanism requested by the initiating ...
... entity is weaker than server policy permits for that initiating entity; sent in reply to a <response/> element or an <auth/> element with initial response data. ...
... entity; sent in reply to a <response/> element or an <auth/> element with initial response data. o <not-authorized/> -- The authentication ...
... but is not limited to the case of an unknown username); sent in reply to a <response/> element or an <auth/> element with initial response data. ...
... username); sent in reply to a <response/> element or an <auth/> element with initial response data. ...
... receiving entity; sent in reply to an <auth/> element or <response/> element. ...
... entity; sent in reply to an <auth/> element or <response/> element. ...
... header to client along with any additional features (or an empty features element): <stream ...
... stream header to Server1 along with any additional features (or an empty features element): <stream ...


... client to bind a resource to the stream after successful SASL negotiation, it MUST include an empty <bind/> element qualified by the 'urn:ietf:params:xml:ns:xmpp-bind' namespace in the stream ...
... resource identifier on its behalf, it sends an IQ stanza of type "set" that contains an empty <bind/> element: Client ...
... resource identifier as the XML character data of a <resource/> element that is a child of the <bind/> element: ...
... XML character data of a <resource/> element that is a child of the <bind/> element: Client ...
... stanza of type "result" to the client, which MUST include a <jid/> child element that specifies the full JID for the connected resource as determined by the server ...


... root stream element. The inclusion of the xmlns:db namespace declaration with ...
... root stream element. If the namespace name is incorrect, then the Originating Server MUST generate an <invalid-namespace ...
... root stream element. If the namespace name is incorrect, then the Authoritative Server MUST generate an <invalid-namespace ...


... XML character data, which MAY be overridden by the 'xml:lang' attribute of a specific child element. If a stanza does not possess an 'xml:lang ...
... The <presence/> element can be seen as a basic broadcast or "publish-subscribe ...
... request and response is defined by the namespace declaration of a direct child element of the IQ element, and the interaction is tracked by the requesting entity ...
... namespace declaration of a direct child element of the IQ element, and the interaction is tracked by the requesting entity through use of the ...
... 5. An IQ stanza of type "get" or "set" MUST contain one and only one child element that specifies the semantics of the particular request or response. ...
... 6. An IQ stanza of type "result" MUST include zero or one child elements. 7. An IQ stanza ...
... 7. An IQ stanza of type "error" SHOULD include the child element contained in the associated "get" or "set" and MUST include an <error/> child; for details, see Stanza ...
... o An error stanza MUST contain an <error/> child element. o An <error/> child MUST NOT be included if the 'type' attribute has ...
... </text> [OPTIONAL application-specific condition element] </error> </stanza ...
... stanza-kind is one of message, presence, or iq. The value of the <error/> element's 'type' attribute MUST be one of the following: ...
... o wait -- retry after waiting (the error is temporary) The <error/> element: o MUST contain a child element ...
... element: o MUST contain a child element corresponding to one of the defined stanza error conditions ...
... stanza error conditions specified below; this element MUST be qualified by the 'urn:ietf:params:xml:ns:xmpp-stanzas' namespace ...
... o MAY contain a <text/> child containing XML character data that describes the error in more detail; this element MUST be qualified by the 'urn:ietf:params:xml:ns:xmpp-stanzas' namespace ...
... xml:lang' attribute. o MAY contain a child element for an application-specific error condition; this element ...
... element for an application-specific error condition; this element MUST be qualified by an application-defined namespace, and its structure is defined by ...
... namespace. The <text/> element is OPTIONAL. If included, it SHOULD be used only to provide descriptive or diagnostic information that supplements the ...
... be shown in addition to the error message associated with the included condition element (or elements). ...
... error message associated with the included condition element (or elements). Finally, to maintain backward compatibility ...
... [XMPP-IM]) allows the optional inclusion of a 'code' attribute on the <error/> element. ...
... address in the XML character data of the <gone/> element); the associated error type SHOULD be "modify". ...
... JID, in the XML character data of the <redirect/> element); the associated error type SHOULD be "modify". ...
... stanza error information by including a properly-namespaced child in the error element. The application-specific element SHOULD supplement or ...
... error element. The application-specific element SHOULD supplement or further qualify a defined element. Thus, the <error/> element ...
... application-specific element SHOULD supplement or further qualify a defined element. Thus, the <error/> element will contain two or three child elements ...
... element SHOULD supplement or further qualify a defined element. Thus, the <error/> element will contain two or three child elements: ...
... element. Thus, the <error/> element will contain two or three child elements: <iq type='error' id='some-id'> ...


... XMPP is a simplified and specialized protocol for streaming XML elements in order to exchange structured information in close to real time. Because XMPP does not require the parsing of arbitrary and ...
... create strict boundaries of data ownership. The basic function of namespaces is to separate different vocabularies of XML elements that are structurally mixed together. Ensuring that XMPP-compliant XML ...
... namespace-aware enables any allowable XML to be structurally mixed with any data element within XMPP. Rules for XML namespace names and ...
... namespace MUST be 'http://etherx.jabber.org/streams'. The element names of the <stream/> element ...
... element names of the <stream/> element and its <features/> and <error/> children MUST be qualified by the streams namespace prefix in all instances. An ...
... stream:' prefix for these elements, and for historical reasons MAY accept only the 'stream:' prefix ...
... root stream element. This namespace declaration MUST be the same for the initial stream ...
... An implementation MUST NOT generate namespace prefixes for elements in the default namespace if the default namespace ...
... or 'jabber:server'. An implementation SHOULD NOT generate namespace prefixes for elements qualified by content (as opposed to stream) namespaces ...
... A dialback namespace declaration is REQUIRED for all elements used in server dialback (Section 8). The name of the dialback ...
... be 'jabber:server:dialback'. All elements qualified by this namespace MUST be prefixed. An implementation SHOULD generate only ...
... namespace MUST be prefixed. An implementation SHOULD generate only the 'db:' prefix for such elements and MAY accept only the 'db:' prefix. ...
... jabber:server' namespace, a server is not responsible for validating the XML elements forwarded to a client or another server; an implementation MAY choose to provide only validated ...
... client or another server; an implementation MAY choose to provide only validated data elements but this is OPTIONAL (although an implementation MUST NOT accept XML ...
... Clients SHOULD NOT rely on the ability to send data which does not conform to the schemas, and SHOULD ignore any non-conformant elements or attributes on the incoming XML stream. Validation ...


... elementFormDefault='unqualified'> <xs:element name='stream'> <xs:complexType> ...
... jabber:server:dialback'> <xs:element ref='features' minOccurs='0' maxOccurs='1'/> <xs:any namespace='urn:ietf:params:xml:ns:xmpp-tls' ...
... <xs:choice minOccurs='0' maxOccurs='1'> <xs:choice minOccurs='0' maxOccurs='unbounded'> <xs:element ref='client:message'/> <xs:element ...
... element ref='client:message'/> <xs:element ref='client:presence'/> <xs:element ...
... element ref='client:presence'/> <xs:element ref='client:iq'/> </xs:choice> ...
... </xs:choice> <xs:choice minOccurs='0' maxOccurs='unbounded'> <xs:element ref='server:message'/> <xs:element ref='server:presence'/> ...
... <xs:element ref='server:message'/> <xs:element ref='server:presence'/> <xs:element ref='server:iq'/> ...
... <xs:element ref='server:presence'/> <xs:element ref='server:iq'/> <xs:element ref='db:result'/> ...
... <xs:element ref='server:iq'/> <xs:element ref='db:result'/> <xs:element ref='db:verify'/> ...
... <xs:element ref='db:result'/> <xs:element ref='db:verify'/> </xs:choice> </xs:choice> ...
... </xs:choice> </xs:choice> <xs:element ref='error' minOccurs='0' maxOccurs='1'/> </xs:sequence> <xs:attribute name ...
... xml:lang' use='optional'/> </xs:complexType> </xs:element> <xs:element ...
... element> <xs:element name='features'> <xs:complexType> <xs:all xmlns ...
... xmlns:sess='urn:ietf:params:xml:ns:xmpp-session'> <xs:element ref='tls:starttls' minOccurs='0'/> <xs:element ref='sasl:mechanisms' minOccurs='0'/> ...
... <xs:element ref='tls:starttls' minOccurs='0'/> <xs:element ref='sasl:mechanisms' minOccurs='0'/> <xs:element ref='bind:bind' minOccurs='0'/> ...
... <xs:element ref='sasl:mechanisms' minOccurs='0'/> <xs:element ref='bind:bind' minOccurs='0'/> <xs:element ref='sess:session ...
... <xs:element ref='bind:bind' minOccurs='0'/> <xs:element ref='sess:session' minOccurs='0'/> </xs:all> ...
... </xs:all> </xs:complexType> </xs:element> <xs:element ...
... element> <xs:element name='error'> <xs:complexType> <xs:sequence xmlns ...
... <xs:group ref='err:streamErrorGroup'/> <xs:element ref='err:text' minOccurs='0' maxOccurs='1'/> ...
... </xs:complexType> </xs:element> </xs:schema> ...
... elementFormDefault='qualified'> <xs:element name='bad-format' type='empty'/> <xs:element name='bad-namespace ...
... <xs:element name='bad-format' type='empty'/> <xs:element name='bad-namespace-prefix' type='empty'/> ...
... namespace-prefix' type='empty'/> <xs:element name='conflict' type='empty'/> <xs:element name='connection ...
... <xs:element name='conflict' type='empty'/> <xs:element name='connection-timeout' type='empty'/> <xs:element ...
... element name='connection-timeout' type='empty'/> <xs:element name='host-gone' type='empty'/> <xs:element ...
... element name='host-gone' type='empty'/> <xs:element name='host-unknown' type='empty'/> <xs:element ...
... element name='host-unknown' type='empty'/> <xs:element name='improper-addressing' type='empty'/> <xs:element ...
... element name='improper-addressing' type='empty'/> <xs:element name='internal-server-error' type='empty'/> <xs:element name='invalid-from' type='empty'/> ...
... <xs:element name='internal-server-error' type='empty'/> <xs:element name='invalid-from' type='empty'/> <xs:element name='invalid-id' type='empty'/> ...
... <xs:element name='invalid-from' type='empty'/> <xs:element name='invalid-id' type='empty'/> <xs:element name='invalid-namespace ...
... <xs:element name='invalid-id' type='empty'/> <xs:element name='invalid-namespace' type='empty'/> <xs:element ...
... element name='invalid-namespace' type='empty'/> <xs:element name='invalid-xml' type='empty'/> <xs:element name='not-authorized' type='empty'/> ...
... <xs:element name='invalid-xml' type='empty'/> <xs:element name='not-authorized' type='empty'/> <xs:element name='policy-violation' type='empty'/> ...
... <xs:element name='not-authorized' type='empty'/> <xs:element name='policy-violation' type='empty'/> <xs:element name='remote-connection ...
... <xs:element name='policy-violation' type='empty'/> <xs:element name='remote-connection-failed' type='empty'/> <xs:element ...
... element name='remote-connection-failed' type='empty'/> <xs:element name='resource-constraint' type='empty'/> <xs:element ...
... element name='resource-constraint' type='empty'/> <xs:element name='restricted-xml' type='empty'/> <xs:element name='see-other-host ...
... <xs:element name='restricted-xml' type='empty'/> <xs:element name='see-other-host' type='xs:string'/> <xs:element ...
... element name='see-other-host' type='xs:string'/> <xs:element name='system-shutdown' type='empty'/> <xs:element name='undefined-condition' type='empty'/> ...
... <xs:element name='system-shutdown' type='empty'/> <xs:element name='undefined-condition' type='empty'/> <xs:element name='unsupported-encoding ...
... <xs:element name='undefined-condition' type='empty'/> <xs:element name='unsupported-encoding' type='empty'/> <xs:element ...
... element name='unsupported-encoding' type='empty'/> <xs:element name='unsupported-stanza-type' type='empty'/> <xs:element ...
... element name='unsupported-stanza-type' type='empty'/> <xs:element name='unsupported-version' type='empty'/> <xs:element ...
... element name='unsupported-version' type='empty'/> <xs:element name='xml-not-well-formed' type='empty'/> ...
... group name='streamErrorGroup'> <xs:choice> <xs:element ref='bad-format'/> <xs:element ref='bad-namespace ...
... <xs:element ref='bad-format'/> <xs:element ref='bad-namespace-prefix'/> ...
... namespace-prefix'/> <xs:element ref='conflict'/> <xs:element ref='connection ...
... <xs:element ref='conflict'/> <xs:element ref='connection-timeout'/> <xs:element ...
... element ref='connection-timeout'/> <xs:element ref='host-gone'/> <xs:element ...
... element ref='host-gone'/> <xs:element ref='host-unknown'/> <xs:element ...
... element ref='host-unknown'/> <xs:element ref='improper-addressing'/> ...
... addressing'/> <xs:element ref='internal-server-error'/> <xs:element ref='invalid-from'/> ...
... <xs:element ref='internal-server-error'/> <xs:element ref='invalid-from'/> <xs:element ref='invalid-id'/> ...
... <xs:element ref='invalid-from'/> <xs:element ref='invalid-id'/> <xs:element ref='invalid-namespace ...
... <xs:element ref='invalid-id'/> <xs:element ref='invalid-namespace'/> <xs:element ...
... element ref='invalid-namespace'/> <xs:element ref='invalid-xml'/> <xs:element ref='not-authorized'/> ...
... <xs:element ref='invalid-xml'/> <xs:element ref='not-authorized'/> <xs:element ref='policy-violation'/> ...
... <xs:element ref='not-authorized'/> <xs:element ref='policy-violation'/> <xs:element ref='remote-connection ...
... <xs:element ref='policy-violation'/> <xs:element ref='remote-connection-failed'/> <xs:element ...
... element ref='remote-connection-failed'/> <xs:element ref='resource-constraint'/> <xs:element ...
... element ref='resource-constraint'/> <xs:element ref='restricted-xml'/> <xs:element ref='see-other-host ...
... <xs:element ref='restricted-xml'/> <xs:element ref='see-other-host'/> <xs:element ...
... element ref='see-other-host'/> <xs:element ref='system-shutdown'/> <xs:element ref='undefined-condition'/> ...
... <xs:element ref='system-shutdown'/> <xs:element ref='undefined-condition'/> <xs:element ref='unsupported-encoding ...
... <xs:element ref='undefined-condition'/> <xs:element ref='unsupported-encoding'/> <xs:element ...
... element ref='unsupported-encoding'/> <xs:element ref='unsupported-stanza-type'/> <xs:element ...
... element ref='unsupported-stanza-type'/> <xs:element ref='unsupported-version'/> <xs:element ...
... element ref='unsupported-version'/> <xs:element ref='xml-not-well-formed'/> </xs:choice> ...
... group> <xs:element name='text'> <xs:complexType> <xs:simpleContent> ...
... </xs:simpleContent> </xs:complexType> </xs:element> <xs:simpleType name='empty'> ...
... elementFormDefault='qualified'> <xs:element name='starttls'> <xs:complexType> <xs:sequence> ...
... <xs:complexType> <xs:sequence> <xs:element name='required' minOccurs='0' ...
... </xs:sequence> </xs:complexType> </xs:element> <xs:element ...
... element> <xs:element name='proceed' type='empty'/> <xs:element name='failure' type='empty'/> ...
... <xs:element name='proceed' type='empty'/> <xs:element name='failure' type='empty'/> <xs:simpleType name='empty'> ...
... elementFormDefault='qualified'> <xs:element name='mechanisms'> <xs:complexType> <xs:sequence> ...
... <xs:complexType> <xs:sequence> <xs:element name='mechanism' maxOccurs='unbounded' type='xs:string'/> ...
... </xs:sequence> </xs:complexType> </xs:element> <xs:element ...
... element> <xs:element name='auth'> <xs:complexType> <xs:simpleContent> ...
... </xs:simpleContent> </xs:complexType> </xs:element> <xs:element ...
... element> <xs:element name='challenge' type='xs:string'/> <xs:element name='response' type='xs:string'/> ...
... <xs:element name='challenge' type='xs:string'/> <xs:element name='response' type='xs:string'/> <xs:element name='abort' type='empty'/> ...
... <xs:element name='response' type='xs:string'/> <xs:element name='abort' type='empty'/> <xs:element name='success' type='empty'/> ...
... <xs:element name='abort' type='empty'/> <xs:element name='success' type='empty'/> <xs:element ...
... element name='success' type='empty'/> <xs:element name='failure'> <xs:complexType> <xs:choice minOccurs='0'> ...
... <xs:complexType> <xs:choice minOccurs='0'> <xs:element name='aborted' type='empty'/> <xs:element name='incorrect-encoding ...
... <xs:element name='aborted' type='empty'/> <xs:element name='incorrect-encoding' type='empty'/> <xs:element ...
... element name='incorrect-encoding' type='empty'/> <xs:element name='invalid-authzid' type='empty'/> <xs:element ...
... element name='invalid-authzid' type='empty'/> <xs:element name='invalid-mechanism' type='empty'/> <xs:element name='mechanism-too-weak' type='empty'/> ...
... <xs:element name='invalid-mechanism' type='empty'/> <xs:element name='mechanism-too-weak' type='empty'/> <xs:element name='not-authorized' type='empty'/> ...
... <xs:element name='mechanism-too-weak' type='empty'/> <xs:element name='not-authorized' type='empty'/> <xs:element name='temporary-auth-failure' type='empty'/> ...
... <xs:element name='not-authorized' type='empty'/> <xs:element name='temporary-auth-failure' type='empty'/> </xs:choice> </xs:complexType> ...
... </xs:choice> </xs:complexType> </xs:element> <xs:simpleType name='empty'> <xs:restriction base='xs:string'> ...
... elementFormDefault='qualified'> <xs:element name='bind'> <xs:complexType> <xs:choice minOccurs='0' maxOccurs='1'> ...
... <xs:complexType> <xs:choice minOccurs='0' maxOccurs='1'> <xs:element name='resource' type='xs:string'/> <xs:element name='jid' type='xs:string'/> ...
... <xs:element name='resource' type='xs:string'/> <xs:element name='jid' type='xs:string'/> </xs:choice> ...
... </xs:choice> </xs:complexType> </xs:element> </xs:schema> ...
... elementFormDefault='qualified'> <xs:element name='result'> <xs:complexType> <xs:simpleContent> ...
... </xs:simpleContent> </xs:complexType> </xs:element> <xs:element ...
... element> <xs:element name='verify'> <xs:complexType> <xs:simpleContent> ...
... </xs:simpleContent> </xs:complexType> </xs:element> </xs:schema> ...
... elementFormDefault='qualified'> <xs:element name='bad-request' type='empty'/> <xs:element name='conflict' type='empty'/> ...
... <xs:element name='bad-request' type='empty'/> <xs:element name='conflict' type='empty'/> <xs:element name='feature-not-implemented' type='empty'/> ...
... <xs:element name='conflict' type='empty'/> <xs:element name='feature-not-implemented' type='empty'/> <xs:element name='forbidden' type='empty'/> ...
... <xs:element name='feature-not-implemented' type='empty'/> <xs:element name='forbidden' type='empty'/> <xs:element name='gone' type='xs:string'/> ...
... <xs:element name='forbidden' type='empty'/> <xs:element name='gone' type='xs:string'/> <xs:element name='internal-server-error' type='empty'/> ...
... <xs:element name='gone' type='xs:string'/> <xs:element name='internal-server-error' type='empty'/> <xs:element name='item-not-found' type='empty'/> ...
... <xs:element name='internal-server-error' type='empty'/> <xs:element name='item-not-found' type='empty'/> <xs:element name='jid-malformed' type='empty'/> ...
... <xs:element name='item-not-found' type='empty'/> <xs:element name='jid-malformed' type='empty'/> <xs:element name='not-acceptable' type='empty'/> ...
... <xs:element name='jid-malformed' type='empty'/> <xs:element name='not-acceptable' type='empty'/> <xs:element name='not-allowed' type='empty'/> ...
... <xs:element name='not-acceptable' type='empty'/> <xs:element name='not-allowed' type='empty'/> <xs:element name='payment ...
... <xs:element name='not-allowed' type='empty'/> <xs:element name='payment-required' type='empty'/> <xs:element ...
... element name='payment-required' type='empty'/> <xs:element name='recipient-unavailable' type='empty'/> <xs:element ...
... element name='recipient-unavailable' type='empty'/> <xs:element name='redirect' type='xs:string'/> <xs:element name='registration ...
... <xs:element name='redirect' type='xs:string'/> <xs:element name='registration-required' type='empty'/> <xs:element ...
... element name='registration-required' type='empty'/> <xs:element name='remote-server-not-found' type='empty'/> <xs:element name='remote-server-timeout' type='empty'/> ...
... <xs:element name='remote-server-not-found' type='empty'/> <xs:element name='remote-server-timeout' type='empty'/> <xs:element name='resource-constraint ...
... <xs:element name='remote-server-timeout' type='empty'/> <xs:element name='resource-constraint' type='empty'/> <xs:element ...
... element name='resource-constraint' type='empty'/