<description datatypeLibrary=“www.w3.org/2001/XMLSchema-datatypes” xmlns=“riddl.org/ns/description/1.0” xmlns:xi=“www.w3.org/2001/XInclude”>

<message name="event">
  <parameter name="type" fixed="event"/>
  <parameter name="topic" type="string">
    <param name="pattern">[\w_/]+</param>
  </parameter>
  <parameter name="event" type="string">
    <param name="pattern">[\w_]+</param>
  </parameter>
  <choice>
    <parameter name="notification" type="string"/>
    <parameter name="notification" mimetype="application/json"/>
  </choice>
</message>

<message name="vote">
  <parameter name="type" fixed="vote"/>
  <parameter name="topic" type="string">
    <param name="pattern">[\w_/]+</param>
  </parameter>
  <parameter name="vote" type="string">
    <param name="pattern">[\w_]+</param>
  </parameter>
  <parameter name="callback" type="string"/>
  <choice>
    <parameter name="notification" type="string"/>
    <parameter name="notification" mimetype="application/json"/>
  </choice>
</message>

<message name="acknowledgment">
  <choice>
    <parameter name="continue" type="string">
      <choice>
        <value>true</value>
        <value>false</value>
        <value>callback</value>
      </choice>
    </parameter>
    <parameter name="continue" mimetype="text/plain" handler="http://riddl.org/ns/handlers/plain-type">
      <pattern>^(true|false|callback)$</pattern>
    </parameter>
  </choice>
</message>

<resource pattern="http://riddl.org/ns/common-patterns/notifications-consumer/2.0">
  <post in="event"/>
  <post in="vote" out="acknowledgment"/>
</resource>

</description>