<?xml version='1.0' encoding='UTF-8'?>

<xs:schema
    xmlns:xs='http://www.w3.org/2001/XMLSchema'
    targetNamespace='http://jabber.org/protocol/pubsub#errors'
    xmlns='http://jabber.org/protocol/pubsub#errors'
    elementFormDefault='qualified'>

  <xs:annotation>
    <xs:documentation>
      This namespace is used for error reporting only, as
      defined in XEP-0060:

      http://xmpp.org/extensions/xep-0060.html
    </xs:documentation>
  </xs:annotation>

  <xs:element name='closed-node' type='empty'/>
  <xs:element name='configuration-required' type='empty'/>
  <xs:element name='invalid-jid' type='empty'/>
  <xs:element name='invalid-options' type='empty'/>
  <xs:element name='invalid-payload' type='empty'/>
  <xs:element name='invalid-subid' type='empty'/>
  <xs:element name='item-forbidden' type='empty'/>
  <xs:element name='item-required' type='empty'/>
  <xs:element name='jid-required' type='empty'/>
  <xs:element name='max-items-exceeded' type='empty'/>
  <xs:element name='max-nodes-exceeded' type='empty'/>
  <xs:element name='nodeid-required' type='empty'/>
  <xs:element name='not-in-roster-group' type='empty'/>
  <xs:element name='not-subscribed' type='empty'/>
  <xs:element name='payload-too-big' type='empty'/>
  <xs:element name='payload-required' type='empty'/>
  <xs:element name='pending-subscription' type='empty'/>
  <xs:element name='presence-subscription-required' type='empty'/>
  <xs:element name='subid-required' type='empty'/>
  <xs:element name='too-many-subscriptions' type='empty'/>
  <xs:element name='unsupported'>
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base='empty'>
          <xs:attribute name='feature' use='required'>
            <xs:simpleType>
              <xs:restriction base='xs:NCName'>
                <xs:enumeration value='access-authorize'/>
                <xs:enumeration value='access-open'/>
                <xs:enumeration value='access-presence'/>
                <xs:enumeration value='access-roster'/>
                <xs:enumeration value='access-whitelist'/>
                <xs:enumeration value='auto-create'/>
                <xs:enumeration value='auto-subscribe'/>
                <xs:enumeration value='collections'/>
                <xs:enumeration value='config-node'/>
                <xs:enumeration value='create-and-configure'/>
                <xs:enumeration value='create-nodes'/>
                <xs:enumeration value='delete-items'/>
                <xs:enumeration value='delete-nodes'/>
                <xs:enumeration value='filtered-notifications'/>
                <xs:enumeration value='get-pending'/>
                <xs:enumeration value='instant-nodes'/>
                <xs:enumeration value='item-ids'/>
                <xs:enumeration value='last-published'/>
                <xs:enumeration value='leased-subscription'/>
                <xs:enumeration value='manage-subscriptions'/>
                <xs:enumeration value='member-affiliation'/>
                <xs:enumeration value='meta-data'/>
                <xs:enumeration value='modify-affiliations'/>
                <xs:enumeration value='multi-collection'/>
                <xs:enumeration value='multi-subscribe'/>
                <xs:enumeration value='outcast-affiliation'/>
                <xs:enumeration value='persistent-items'/>
                <xs:enumeration value='presence-notifications'/>
                <xs:enumeration value='presence-subscribe'/>
                <xs:enumeration value='publish'/>
                <xs:enumeration value='publish-options'/>
                <xs:enumeration value='publish-only-affiliation'/>
                <xs:enumeration value='publisher-affiliation'/>
                <xs:enumeration value='purge-nodes'/>
                <xs:enumeration value='retract-items'/>
                <xs:enumeration value='retrieve-affiliations'/>
                <xs:enumeration value='retrieve-default'/>
                <xs:enumeration value='retrieve-items'/>
                <xs:enumeration value='retrieve-subscriptions'/>
                <xs:enumeration value='subscribe'/>
                <xs:enumeration value='subscription-options'/>
                <xs:enumeration value='subscription-notifications'/>
              </xs:restriction>
            </xs:simpleType>
          </xs:attribute>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>

  <xs:element name='unsupported-access-model' type='empty'/>

  <xs:simpleType name='empty'>
    <xs:restriction base='xs:string'>
      <xs:enumeration value=''/>
    </xs:restriction>
  </xs:simpleType>

</xs:schema>

