<?xml version="1.0"?>
<registry type="querytypes">
  <querytype>
    <name>command</name>
    <proto>http://jabber.org/protocol/commands</proto>
    <desc>enables completion of ad-hoc commands</desc>
    <doc>XEP-0050</doc>
    <keys>
      <key>
        <name>node</name>
        <desc>the command node</desc>
      </key>
      <key>
        <name>action</name>
        <desc>the ad-hoc commands action type</desc>
        <values>
          <value>
            <name>cancel</name>
            <desc>a request to cancel processing of the command</desc>
          </value>
          <value>
            <name>complete</name>
            <desc>a request to complete processing of the command</desc>
          </value>
          <value>
            <name>execute</name>
            <desc>a request to execute the command (the default implied action)</desc>
          </value>
          <value>
            <name>next</name>
            <desc>a request to move to the next command in a series</desc>
          </value>
          <value>
            <name>prev</name>
            <desc>a request to move to the previous command in a series</desc>
          </value>
        </values>
      </key>
    </keys>
  </querytype>
  <querytype>
    <name>disco</name>
    <proto>http://jabber.org/protocol/disco</proto>
    <desc>enables interaction for the purpose of service discovery</desc>
    <doc>XEP-0030</doc>
    <keys>
      <key>
        <name>node</name>
        <desc>the (optional) service discovery node</desc>
      </key>
      <key>
        <name>request</name>
        <desc>the service discovery request type</desc>
        <values>
          <value>
            <name>info</name>
            <desc>a service discovery information (disco#info) request</desc>
          </value>
          <value>
            <name>items</name>
            <desc>a service discovery items (disco#items) request</desc>
          </value>
        </values>
      </key>
      <key>
        <name>type</name>
        <desc>the IQ type</desc>
        <values>
          <value>
            <name>get</name>
            <desc>an IQ get</desc>
          </value>
          <value>
            <name>set</name>
            <desc>an IQ set (disco publish)</desc>
          </value>
        </values>
      </key>
    </keys>
  </querytype>
  <querytype>
    <name>invite</name>
    <proto>http://jabber.org/protocol/muc</proto>
    <desc>enables simultaneously joining a groupchat room and inviting others</desc>
    <doc>XEP-0045</doc>
    <keys>
      <key>
        <name>jid</name>
        <desc>the JID of the invitee</desc>
      </key>
      <key>
        <name>password</name>
        <desc>the password required to enter a multi-user chat room</desc>
      </key>
    </keys>
  </querytype>
  <querytype>
    <name>join</name>
    <proto>http://jabber.org/protocol/muc</proto>
    <desc>enables joining a groupchat room</desc>
    <doc>XEP-0045</doc>
    <keys>
      <key>
        <name>password</name>
        <desc>the password required to enter a multi-user chat room</desc>
      </key>
    </keys>
  </querytype>
  <querytype>
    <name>message</name>
    <proto>jabber:client</proto>
    <desc>enables sending of an XMPP message stanza</desc>
    <doc>XEP-0147</doc>
    <keys>
      <key>
        <name>subject</name>
        <desc>a subject for the message per the "jabber:client" schema</desc>
      </key>
      <key>
        <name>body</name>
        <desc>a body for the message per the "jabber:client" schema</desc>
      </key>
      <key>
        <name>thread</name>
        <desc>a Thread ID for the message per the "jabber:client" schema</desc>
      </key>
      <key>
        <name>from</name>
        <desc>a from address for the message per the "jabber:client" schema</desc>
      </key>
      <key>
        <name>id</name>
        <desc>an ID for the message per the "jabber:client" schema</desc>
      </key>
      <key>
        <name>type</name>
        <desc>the message type per the "jabber:client" schema</desc>
        <values>
          <value>
            <name>chat</name>
            <desc>a message of type "chat"</desc>
          </value>
          <value>
            <name>groupchat</name>
            <desc>a message of type "groupchat"</desc>
          </value>
          <value>
            <name>headline</name>
            <desc>a message of type "headline"</desc>
          </value>
          <value>
            <name>normal</name>
            <desc>a message of type "normal"</desc>
          </value>
        </values>
      </key>
    </keys>
  </querytype>
  <querytype>
    <name>pubsub</name>
    <proto>http://jabber.org/protocol/pubsub</proto>
    <desc>enables interaction with a publish-subscribe service</desc>
    <doc>XEP-0060</doc>
    <keys>
      <key>
        <name>action</name>
        <desc>the pubsub action</desc>
        <values>
          <value>
            <name>subscribe</name>
            <desc>enables subscribing to a pubsub node</desc>
          </value>
          <value>
            <name>unsubscribe</name>
            <desc>enables unsubscribing from a pubsub node</desc>
          </value>
        </values>
      </key>
      <key>
        <name>node</name>
        <desc>the pubsub node</desc>
      </key>
    </keys>
  </querytype>
  <querytype>
    <name>recvfile</name>
    <proto>http://jabber.org/protocol/si/profile/file-transfer</proto>
    <desc>enables initiation of an outbound file transfer from XMPP entity</desc>
    <doc>XEP-0096</doc>
    <keys>
      <key>
        <name>mime-type</name>
        <desc>the MIME type of the file being offered</desc>
      </key>
      <key>
        <name>name</name>
        <desc>the name of the file being offered</desc>
      </key>
      <key>
        <name>sid</name>
        <desc>the session ID associated with the file being offered</desc>
      </key>
      <key>
        <name>size</name>
        <desc>the size in bytes of the file being offered</desc>
      </key>
    </keys>
  </querytype>
  <querytype>
    <name>register</name>
    <proto>jabber:iq:register</proto>
    <desc>enables registering with a server or service</desc>
    <doc>XEP-0077</doc>
  </querytype>
  <querytype>
    <name>remove</name>
    <proto>jabber:iq:roster</proto>
    <desc>enables removing a roster item</desc>
    <doc>XEP-0147</doc>
  </querytype>
  <querytype>
    <name>roster</name>
    <proto>jabber:iq:roster</proto>
    <desc>enables adding or editing a roster item</desc>
    <doc>XEP-0147</doc>
    <keys>
      <key>
        <name>group</name>
        <desc>the user-assigned group for the roster item</desc>
      </key>
      <key>
        <name>name</name>
        <desc>the user-assigned name for the roster item</desc>
      </key>
    </keys>
  </querytype>
  <querytype>
    <name>sendfile</name>
    <proto>http://jabber.org/protocol/si/profile/file-transfer</proto>
    <desc>enables initiation of an inbound file transfer to XMPP entity</desc>
    <doc>XEP-0096</doc>
  </querytype>
  <querytype>
    <name>subscribe</name>
    <proto>jabber:client</proto>
    <desc>enables sending a presence subscription request</desc>
    <doc>XEP-0147</doc>
  </querytype>
  <querytype>
    <name>unregister</name>
    <proto>jabber:iq:register</proto>
    <desc>enables cancellation of a registration with a server or service</desc>
    <doc>XEP-0077</doc>
  </querytype>
  <querytype>
    <name>unsubscribe</name>
    <proto>jabber:client</proto>
    <desc>enables unsubscribing from an entity's presence</desc>
    <doc>XEP-0147</doc>
  </querytype>
  <querytype>
    <name>vcard</name>
    <proto>vcard-temp</proto>
    <desc>enables retrieval of an entity's vCard data</desc>
    <doc>XEP-0054</doc>
  </querytype>
</registry>
