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

<!--
  DTD used to configure JMX notification listening subscriptions:
  which JMX Notifications to intercept from which MBeans.
  
  MBeans that implement org.jboss.system.ListenerServiceMBean
  have the SubscriptionList attribute, whose value must conform
  to this DTD.
  
  For example:
  
  <server>
    <mbean code="jboss.example.NotificationMonitor"
           name="jboss.monitor:name=NotificationMonitor">

      <attribute name="SubscriptionList">      
        <subscription-list>
          <mbean name="*:service=invoker,*" handback="anObject"/>
          <mbean name="jboss.monitor:*">
            <notification type="JBOSS_MONITOR_NOTIFICATION"/>
          </mbean>
          <mbean name="JMImplementation:type=MBeanServerDelegate">
            <notification type="JMX.mbean.registered"/>
           [...]
          </mbean
          [...]
        </subscription-list>
      </attribute>
      [ ... your-other-mbean-attributes ...]
    </mbean>
  </server>
   
  $Id: jboss-subscription.dtd,v 1.2.4.1 2004/10/20 12:34:29 andd Exp $
   
  Author: <a href="mailto:dimitris@jboss.org">Dimitris Andreadis</a>
-->

<!-- The subscription-list encapsulates the set of MBeans/JMX-Notifications
that should be monitored (subscribed for). At the first level it contains
a series of zero or more MBean subscription specifications.
-->
<!ELEMENT subscription-list (mbean*)>

<!-- The mbean element is used to identify one or more (in case of a pattern
specification) mbeans that should be monitored. The mbean contains zero
or more notification elements. If no notification element is specified, all
JMX Notification types will be monitored. If one or more notification
elements is present, then a filter will be installed to monitor only those
specific Notification types.
-->
<!ELEMENT mbean (notification*)>

<!-- The name attribute in the mbean specification is required to match one
or more MBeans. For example:

  <mbean name="*:*"/>                     - matches all MBeans in the server
  <mbean name="jboss:*"/>                 - matches all MBeans in domain jboss
  <mbean name="jboss:service=invoker,*"/> - matches all MBeans in domain jboss
                                             whose service=invoker
  <mbean name="jboss:service=invoker,type=local"/>
                                          - matches this particular MBean
-->
<!ATTLIST mbean name CDATA #REQUIRED>

<!-- When making a notification subscription an optional handback string
maybe specified. All incoming notifications that occur due to this particular
mbean subscription will carry the handback object.
-->
<!ATTLIST mbean handback CDATA #IMPLIED>

<!-- Specification of a particular JMX notification type to be monitored.
-->
<!ELEMENT notification EMPTY>

<!-- The notification type is used as a prefix in the installed notification
type filter. For example:

  <notification type="JMX.mbean"/>  - matches both JMX.mbean.registered &
                                                   JMX.mbean.unregistered
-->
<!ATTLIST notification type CDATA #REQUIRED>
