DTD for custom event handler

An event handler works by subscribing to system events and then responding when event occurs. You subscribe to events by placing an XML file in the custom event handler JAR that describes what events are being monitored and who is doing the monitoring.

Here is the current DTD.
   <!--
    SourceForge(r) Enterprise Edition
    Copyright 2006 VA Software Corp. All rights reserved.
    http://vasoftware.com
    
    Use the following DOCTYPE statement within an XML document
    conforming to this schema
    <!DOCTYPE sf-data-object
    PUBLIC "-//VA Software, Inc.//DTD Event Handler 1.0//EN"
    "http://schema.vasoftware.com/sf/dtd/sf-event-handler_1_0.dtd">
   -->
   
   <!ELEMENT event-handler (description?, event+)>
   <!-- Optional description for the Event Handler --> 
   <!ELEMENT description (#PCDATA)>
   
   
   <!ELEMENT event (type, operation, user, handler)>
   
   <!—
   This is the API level that the event handler expects the ObjectSoapDO objects to be marshaled for
   →
   <!ATTLIST event api (4.3) #REQUIRED>
   
   <!--
    Whether the event handler should run synchronously (allows it to cancel the event) or asynchronously after the event has completed and is committed to the database.
   -->
   <!ATTLIST event mode (synchronous|asynchronous) #REQUIRED>
   
   <!-- The object type being handled (e.g., artifact, task, document). '*' is all object types. -->
   <!ELEMENT type (#PCDATA)>
   
   <!-- This is the operation that is being listened for (e.g., create. delete. move, update). '*' is all operations. -->
   <!ELEMENT operation (#PCDATA)>
   
   <!--
    If the event handler needs to run as a different user (ie., a site admin account) the username should be passed in this attribute.  If the username is not valid the event handler will throw an abort exception.  That means that if the handler is processing synchronously the event will be canceled and the user will get an exception message.
   -->
   <!ELEMENT user (#PCDATA)>
   
   <!--
    Name of a fully qualified class to handle the event.
   -->
   <!ELEMENT handler (#PCDATA)>