9.3.2. Синтаксис
<stanza-kind to='sender' type='error'> [RECOMMENDED to include sender XML here] <error type='error-type'> <defined-condition xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/> <text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas' xml:lang='langcode'> OPTIONAL descriptive text </text> [OPTIONAL application-specific condition element] </error> </stanza-kind>
Вид строфы может принимать значение message (сообщение), presence (присутствие) или iq.
Значение элемента <error/> атрибута 'type' должно принимать одно из следующих значений:
- cancel
- не предпринимать повторных попыток (ошибка неисправима)
- continue
- продолжать (это всего лишь предупреждение)
- modify
- повторить попытку после изменения посылаемых данных
- auth
- повторить попытку после изменения параметров авторизации
- wait
- повторить поытку после выдержки (ошибка является временной)
Элемент <error/>:
должен содержать дочерний элемент, соответствующий одному из условий, специфицированных ниже; этот элемент должен соотноститься с пространством имен 'urn:ietf:params:xml:ns:xmpp-stanzas'.
Может содержать дочерний элемент <text/>, который несет в себе символьные XML-данные, которые описывают ошибку более детально. Этот элемент должен соотноситься с пространством имен 'urn:ietf:params:xml:ns:xmpp-stanzas' и должен иметь атрибут 'xml:lang'.
Может содержать дочерний элемент для ошибок, специфических для приложения; этот элемент должен соотноситься с пространством имен приложения, а его структура определяется этим пространством имен.
Элемент <text/> является опционным. Когда включается, он должен использоваться только для передачи описательной и диагностической информации, которая является дополнительной и служит для пояснения специфических условий приложения. Он не должен интерпретироваться приложением программно. Он не должен использоваться в качестве сообщения об ошибке пользователю.
Наконец, для обеспечения обратной совместимости, схема (специфицированная в [XMPP-IM]) позволяет опционное включение атрибута 'code' элемента <error/>.