9.3. Ошибки строф
Ошибки, сопряженные со строфами обрабатываются аналогично ошибкам потока (раздел 4). Однако, в отличии от ошибок потока, ошибки строф являются исправимыми; следовательно ошибки строф содержат намеки на действия, которые следует предпринять исходному отправителю, для того чтобы исправить ошибку.
9.3.1. Правила
В отношении ошибок, связанных со строфами, используются следующие правила:
Принимающий или обрабатывающий объект, который детектирует состояние ошибки в отношении строфы, должен прислать отправителю строфу того же сорта (сообщение, присутствие или IQ), чей атрибут 'type' установлен равным "error" (такая строфа называется "строфой ошибки").
Объект, который генерирует строфу ошибки должен включить исходный посланный XML, так чтобы отправитель мог проверить, если необходимо, корректность XML, прежде чем предпринимать попытку повторной передачи.
Строфа-ошибка должна содержать дочерний элемент <error/>.
Дочерний элемент <error/> не должен включаться, если атрибут 'type' имеет значение, отличное от "error" (или если атрибута 'type' нет вообще).
Объект, который получает ошибку строфы, не должен реагировать на строфу с еще одной ошибкой; это предотвращает зацикливание.