RFC Errata
RFC 6120, "Extensible Messaging and Presence Protocol (XMPP): Core", March 2011
Note: This RFC has been updated by RFC 7590, RFC 8553
Source of RFC: xmpp (rai)
Errata ID: 3650
Status: Held for Document Update
Type: Editorial
Publication Format(s) : TEXT
Reported By: Peter Saint-Andre
Date Reported: 2013-06-12
Held for Document Update by: Richard Barnes
Date Held: 2013-06-13
Section Appendix A.2 says:
<xs:element name='bad-format' type='empty'/> <xs:element name='bad-namespace-prefix' type='empty'/> <xs:element name='conflict' type='empty'/> <xs:element name='connection-timeout' type='empty'/> <xs:element name='host-gone' type='empty'/> <xs:element name='host-unknown' type='empty'/> <xs:element name='improper-addressing' 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-namespace' type='empty'/> <xs:element name='invalid-xml' type='empty'/> <xs:element name='not-authorized' type='empty'/> <xs:element name='not-well-formed' type='empty'/> <xs:element name='policy-violation' type='empty'/> <xs:element name='remote-connection-failed' type='empty'/> <xs:element name='reset' type='empty'/> <xs:element name='resource-constraint' type='empty'/> <xs:element name='restricted-xml' type='empty'/> <xs: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='unsupported-encoding' type='empty'/> <xs:element name='unsupported-stanza-type' type='empty'/> <xs:element name='unsupported-version' type='empty'/> <xs:group name='streamErrorGroup'> <xs:choice> <xs:element ref='bad-format'/> <xs:element ref='bad-namespace-prefix'/> <xs:element ref='conflict'/> <xs:element ref='connection-timeout'/> <xs:element ref='host-gone'/> <xs:element ref='host-unknown'/> <xs:element ref='improper-addressing'/> <xs:element ref='internal-server-error'/> <xs:element ref='invalid-from'/> <xs:element ref='invalid-id'/> <xs:element ref='invalid-namespace'/> <xs:element ref='invalid-xml'/> <xs:element ref='not-authorized'/> <xs:element ref='not-well-formed'/> <xs:element ref='policy-violation'/> <xs:element ref='remote-connection-failed'/> <xs:element ref='reset'/> <xs:element ref='resource-constraint'/> <xs:element ref='restricted-xml'/> <xs:element ref='see-other-host'/> <xs:element ref='system-shutdown'/> <xs:element ref='undefined-condition'/> <xs:element ref='unsupported-encoding'/> <xs:element ref='unsupported-stanza-type'/> <xs:element ref='unsupported-version'/> </xs:choice> </xs:group>
It should say:
<xs:element name='bad-format' type='empty'/> <xs:element name='bad-namespace-prefix' type='empty'/> <xs:element name='conflict' type='empty'/> <xs:element name='connection-timeout' type='empty'/> <xs:element name='host-gone' type='empty'/> <xs:element name='host-unknown' type='empty'/> <xs:element name='improper-addressing' type='empty'/> <xs:element name='internal-server-error' type='empty'/> <xs:element name='invalid-from' type='empty'/> <xs:element name='invalid-namespace' type='empty'/> <xs:element name='invalid-xml' type='empty'/> <xs:element name='not-authorized' type='empty'/> <xs:element name='not-well-formed' type='empty'/> <xs:element name='policy-violation' type='empty'/> <xs:element name='remote-connection-failed' type='empty'/> <xs:element name='reset' type='empty'/> <xs:element name='resource-constraint' type='empty'/> <xs:element name='restricted-xml' type='empty'/> <xs: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='unsupported-encoding' type='empty'/> <xs:element name='unsupported-feature' type='empty'/> <xs:element name='unsupported-stanza-type' type='empty'/> <xs:element name='unsupported-version' type='empty'/> <xs:group name='streamErrorGroup'> <xs:choice> <xs:element ref='bad-format'/> <xs:element ref='bad-namespace-prefix'/> <xs:element ref='conflict'/> <xs:element ref='connection-timeout'/> <xs:element ref='host-gone'/> <xs:element ref='host-unknown'/> <xs:element ref='improper-addressing'/> <xs:element ref='internal-server-error'/> <xs:element ref='invalid-from'/> <xs:element ref='invalid-namespace'/> <xs:element ref='invalid-xml'/> <xs:element ref='not-authorized'/> <xs:element ref='not-well-formed'/> <xs:element ref='policy-violation'/> <xs:element ref='remote-connection-failed'/> <xs:element ref='reset'/> <xs:element ref='resource-constraint'/> <xs:element ref='restricted-xml'/> <xs:element ref='see-other-host'/> <xs:element ref='system-shutdown'/> <xs:element ref='undefined-condition'/> <xs:element ref='unsupported-encoding'/> <xs:element ref='unsupported-feature'/> <xs:element ref='unsupported-stanza-type'/> <xs:element ref='unsupported-version'/> </xs:choice> </xs:group>
Notes:
The "invalid-id" error condition was removed in the changes between RFC 3920 and RFC 6120, but mistakenly not removed from the schema. The "unsupported-feature" error condition was added in the changes between RFC 3920 and RFC 6120, but mistakenly not added to the schema.
This bug was found by Anastasia Gornostaeva.
Implementors using the schema as updated by this erratum should note that if they produce XML that includes the "unsupported-feature" element, then it might be rejected as invalid by implementations using the original schema. Likewise, if they produce XML that includes the "invalid-id" element, then it might be rejected as invalid by implementations following the revised schema.