[jbpm-commits] JBoss JBPM SVN: r4575 - in jbpm4/trunk/modules: jpdl/src/main/java/org/jbpm/jpdl/internal/xml and 1 other directories.

do-not-reply at jboss.org do-not-reply at jboss.org
Fri Apr 17 05:23:24 EDT 2009


Author: tom.baeyens at jboss.com
Date: 2009-04-17 05:23:24 -0400 (Fri, 17 Apr 2009)
New Revision: 4575

Added:
   jbpm4/trunk/modules/api/src/main/resources/jpdl-4.0.xsd
Removed:
   jbpm4/trunk/modules/api/src/main/resources/jpdl.xsd
Modified:
   jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java
   jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch02-Installation.xml
Log:
JBPM-2165 rename xsd to jpdl-4.0.xsd

Copied: jbpm4/trunk/modules/api/src/main/resources/jpdl-4.0.xsd (from rev 4573, jbpm4/trunk/modules/api/src/main/resources/jpdl.xsd)
===================================================================
--- jbpm4/trunk/modules/api/src/main/resources/jpdl-4.0.xsd	                        (rev 0)
+++ jbpm4/trunk/modules/api/src/main/resources/jpdl-4.0.xsd	2009-04-17 09:23:24 UTC (rev 4575)
@@ -0,0 +1,775 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+        targetNamespace="http://jbpm.org/4/jpdl"
+        xmlns:tns="http://jbpm.org/4/jpdl"
+        elementFormDefault="qualified"
+        attributeFormDefault="unqualified">
+        
+  <annotation>
+    <documentation>Schema for jPDL 4 process descriptions; 
+    element process is the top level element.
+      
+      TODO: Add activity pluggability.  (add the proper any's and 
+            anyAttributes)
+    
+      TODO: Pull up expression.  The expression element in the 
+            delegation group can be pulled up as an expression 
+            attribute in each use case of the delegationGroup
+    
+      TODO: Investigate if object-refs to centrally defined objects would 
+            add value over inline defined objects.
+    </documentation>
+  </annotation>
+
+  <!-- ### PROCESS DEFINITION ############################################# -->
+
+  <element name="process">
+    <annotation><documentation>A jPDL process definition description; This 
+    is the top level element in a jPDL process file.</documentation></annotation>
+    <complexType>
+      <sequence minOccurs="0" maxOccurs="unbounded">
+        <element ref="tns:swimlane" minOccurs="0" maxOccurs="unbounded"/>
+        <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+        <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
+        <group ref="tns:activityGroup" minOccurs="0" maxOccurs="unbounded" />
+      </sequence>
+      <attribute name="name" use="required" type="string">
+        <annotation>
+          <documentation>
+            The process name. Multiple processes can be deployed with the same name, as long as they have a different
+            version.
+          </documentation>
+        </annotation>
+      </attribute>
+      <attribute name="key" type="string">
+        <annotation>
+          <documentation>
+            The key can be used to provide a short acronym that will replace the name as the basis for the generated
+            process definition id
+          </documentation>
+        </annotation>
+      </attribute>
+      <attribute name="version" type="int">
+        <annotation>
+          <documentation>
+            Indicates the sequence number of this version for all processes with the same name. By specifying a version
+            automatic deployment can figure out if this process is already deployed or not.
+          </documentation>
+        </annotation>
+      </attribute>
+      <anyAttribute processContents="skip">
+        <annotation><documentation>for extensibility
+        </documentation></annotation>
+      </anyAttribute>
+    </complexType>
+  </element>
+  
+  <!-- ### ACTIVITIES ##################################################### -->
+  
+  <group name="activityGroup">
+    <choice>
+      <!-- ~~~ START ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+      <element name="start">
+        <annotation><documentation>Start event
+        </documentation></annotation>
+        <complexType>
+          <sequence>
+            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+            <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+          </sequence>
+          <attributeGroup ref="tns:activityAttributes" />
+        </complexType>
+      </element>
+
+      <!-- ~~~ END ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+      <element name="end">
+        <annotation><documentation>End event.
+        </documentation></annotation>
+        <complexType>
+          <sequence>
+            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+          </sequence>
+          <attributeGroup ref="tns:activityAttributes" />
+          <attribute name="ends" default="process-instance">
+            <simpleType>
+              <restriction base="string">
+                <enumeration value="execution"/>
+                <enumeration value="process-instance"/>
+              </restriction>
+            </simpleType>
+          </attribute>
+          <attribute name="state" default="ended" type="string">
+            <annotation><documentation>sets the state of the execution explicitely</documentation></annotation>
+          </attribute>
+        </complexType>
+      </element>
+
+      <element name="end-cancel">
+        <annotation><documentation>End cancel event.
+        </documentation></annotation>
+        <complexType>
+          <sequence>
+            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+          </sequence>
+          <attributeGroup ref="tns:activityAttributes" />
+          <attribute name="ends" default="process-instance">
+            <simpleType>
+              <restriction base="string">
+                <enumeration value="execution"/>
+                <enumeration value="process-instance"/>
+              </restriction>
+            </simpleType>
+          </attribute>
+        </complexType>
+      </element>
+
+      <element name="end-error">
+        <annotation><documentation>End cancel event.
+        </documentation></annotation>
+        <complexType>
+          <sequence>
+            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+          </sequence>
+          <attributeGroup ref="tns:activityAttributes" />
+          <attribute name="ends" default="process-instance">
+            <simpleType>
+              <restriction base="string">
+                <enumeration value="execution"/>
+                <enumeration value="process-instance"/>
+              </restriction>
+            </simpleType>
+          </attribute>
+        </complexType>
+      </element>
+      
+      <!-- ~~~ STATE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+      <element name="state">
+        <annotation><documentation>A wait state.  When an execution arrives in this 
+        activity, the execution will wait until an external trigger is received 
+        with execution.signal() or execution.getActivityInstance().signal()
+        </documentation></annotation>
+        <complexType>
+          <sequence>
+            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+            <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
+            <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+          </sequence>
+          <attributeGroup ref="tns:activityAttributes" />
+        </complexType>
+      </element>
+
+      <!-- ~~~ DECISION ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
+      <element name="decision">
+        <annotation><documentation>Decision gateway: selects one path out of many alternatives.  
+        When an execution comes in, exactly one outgoing transition is taken.
+        </documentation></annotation>
+        <complexType>
+          <sequence>
+            <element name="handler" minOccurs="0" type="tns:wireObjectType" />
+            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+            <element name="transition" minOccurs="0" maxOccurs="unbounded">
+              <complexType>
+                <complexContent>
+                  <extension base="tns:transitionType">
+                    <sequence>
+                      <element name="condition" minOccurs="0" maxOccurs="unbounded">
+                        <complexType>
+                          <attribute name="expr" type="string">
+                            <annotation><documentation>The script text that will be evaluated.  
+                            </documentation></annotation>
+                          </attribute>
+                          <attribute name="lang" type="string">
+                            <annotation><documentation>Identification of the scripting language 
+                            to use.</documentation></annotation>
+                          </attribute>
+                        </complexType>
+                      </element>
+                    </sequence>
+                  </extension>
+                </complexContent>
+              </complexType>
+              <!-- TODO add conditions -->
+            </element>
+          </sequence>
+          <attributeGroup ref="tns:activityAttributes" />
+          <attribute name="expr" type="string">
+            <annotation><documentation>The script that will be evaluated and resolve to 
+            the name of the outgoing transition.
+            </documentation></annotation>
+          </attribute>
+          <attribute name="lang" type="string">
+            <annotation><documentation>Identification of the scripting language 
+            to use for the expr attribute.</documentation></annotation>
+          </attribute>
+        </complexType>
+      </element>
+
+      <element name="fork">
+        <annotation><documentation>Spawns multiple concurrent paths of 
+        execution.
+        </documentation></annotation>
+        <complexType>
+          <sequence>
+            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+            <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+          </sequence>
+          <attributeGroup ref="tns:activityAttributes" />
+        </complexType>
+      </element>
+    
+      <element name="join">
+        <annotation><documentation>Spawns multiple concurrent paths of 
+        execution.
+        </documentation></annotation>
+        <complexType>
+          <sequence>
+            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+            <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+          </sequence>
+          <attributeGroup ref="tns:activityAttributes" />
+        </complexType>
+      </element>
+
+      <element name="script">
+        <annotation><documentation>Evaluates a piece of text as a script
+        </documentation></annotation>
+        <complexType>
+          <complexContent>
+            <extension base="tns:scriptType">
+              <sequence>
+                <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+                <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+              </sequence>
+              <attributeGroup ref="tns:activityAttributes" />
+            </extension>
+          </complexContent>
+        </complexType>
+      </element>
+
+      <element name="hql">
+        <annotation><documentation>Performs a hibernate query
+        </documentation></annotation>
+        <complexType>
+          <complexContent>
+            <extension base="tns:qlType">
+              <sequence>
+                <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+                <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+              </sequence>
+              <attributeGroup ref="tns:activityAttributes" />
+            </extension>
+          </complexContent>
+        </complexType>
+      </element>
+
+      <element name="sql">
+        <annotation><documentation>Performs a hibernate SQL query
+        </documentation></annotation>
+        <complexType>
+          <complexContent>
+            <extension base="tns:qlType">
+              <sequence>
+                <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+                <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+              </sequence>
+              <attributeGroup ref="tns:activityAttributes" />
+            </extension>
+          </complexContent>
+        </complexType>
+      </element>
+
+      <element name="java">
+        <annotation><documentation>Invokes a method on a java object.  
+        Either the java class is instantiated with reflection, or the 
+        java object is fetched from the environment.  Then values from the 
+        environment are injected into the fields and a method is executed.
+        </documentation></annotation>
+        <complexType>
+          <complexContent>
+            <extension base="tns:javaType">
+              <sequence>
+                <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+                <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+              </sequence>
+              <attributeGroup ref="tns:activityAttributes" />
+            </extension>
+          </complexContent>
+        </complexType>
+      </element>
+
+      <element name="esb">
+        <annotation><documentation>Invokes a service over the ESB.  
+        </documentation></annotation>
+        <complexType>
+          <complexContent>
+            <extension base="tns:esbType">
+              <sequence>
+                <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+                <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+              </sequence>
+              <attributeGroup ref="tns:activityAttributes" />
+            </extension>
+          </complexContent>
+        </complexType>
+      </element>
+
+      <element name="task">
+        <annotation><documentation>Creates a task in the task component.  
+        </documentation></annotation>
+        <complexType>
+          <sequence>
+            <element name="assignment-handler" minOccurs="0"  type="tns:wireObjectType" />
+            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
+            <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
+            <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+          </sequence>
+          <attributeGroup ref="tns:activityAttributes" />
+          <attributeGroup ref="tns:assignmentAttributes"/>
+          <attribute name="swimlane" type="string" />
+          <attribute name="on-transition" default="cancel">
+            <simpleType>
+              <restriction base="string">
+                <enumeration value="keep"/>
+                <enumeration value="cancel"/>
+              </restriction>
+            </simpleType>
+          </attribute>
+          <attribute name="completion" type="string" default="complete" />
+        </complexType>
+      </element>
+      
+      <!-- 
+      <element name="process-state">
+        <annotation><documentation>Waits while a sub process instance is 
+        being executed and continues when the sub process instance ends.
+        </documentation></annotation>
+        < ! - - take into account the following situation:
+        Unlike in jBPM 3, a process-state should not signal the newly created 
+        process instance.  The signal in jBPM 3 is probably historically there 
+        because in the beginning there was no initial attribute on the process
+        definition.
+        - - >
+        <complexType>
+          <sequence>
+            <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
+              <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
+            </element>
+            <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
+          </sequence>
+          <attributeGroup ref="tns:activityAttributes" />
+        </complexType>
+      </element>
+
+      <element name="super-state">
+        <annotation><documentation>Scope enclosing a number of activities.
+        </documentation></annotation>
+        <complexType>
+          <sequence>
+            <group ref="tns:activityGroup" minOccurs="0" maxOccurs="unbounded" />
+            <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
+            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
+              <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
+            </element>
+            <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
+          </sequence>
+          <attributeGroup ref="tns:activityAttributes" />
+        </complexType>
+      </element>
+      -->
+    </choice>
+  </group>
+  
+  <group name="wireObjectGroup">
+    <choice>
+      <element name="string">
+        <complexType>
+          <attribute name="name">
+            <annotation><documentation>the name of the string object</documentation></annotation>
+          </attribute>
+          <attribute name="value">
+            <annotation><documentation>the actual string value</documentation></annotation>
+          </attribute>
+        </complexType>
+      </element>
+      <element name="object" type="tns:wireObjectType" />
+    </choice>
+  </group>
+  
+  <complexType name="wireObjectType">
+    <sequence>
+      <element name="field" minOccurs="0" maxOccurs="unbounded">
+        <annotation><documentation>Field injections from the environment 
+        invocation.</documentation></annotation>
+        <complexType >
+          <group ref="tns:wireObjectGroup" />
+          <attribute name="name" type="string">
+            <annotation><documentation>Name of the field in which the value should be injected.
+            </documentation></annotation>
+          </attribute>
+        </complexType>
+      </element>
+    </sequence>
+    <attribute name="object" type="string">
+      <annotation><documentation>Name of the object in the environment 
+      </documentation></annotation>
+    </attribute>
+    <attribute name="class" type="string">
+      <annotation><documentation>The class to instantiate.
+      </documentation></annotation>
+    </attribute>
+    <attribute name="name" type="string">
+      <annotation><documentation>The name of this object.
+      </documentation></annotation>
+    </attribute>
+  </complexType>
+
+  <complexType name="javaType">
+    <sequence>
+      <element name="field" minOccurs="0" maxOccurs="unbounded">
+        <annotation><documentation>Field injections from the environment 
+        invocation.</documentation></annotation>
+      </element>
+      <element name="arg" minOccurs="0" maxOccurs="unbounded">
+        <annotation><documentation>Method arguments.</documentation></annotation>
+      </element>
+    </sequence>
+    <attribute name="object" type="string">
+      <annotation><documentation>Name of the object in the environment 
+      </documentation></annotation>
+    </attribute>
+    <attribute name="method" type="string" use="required">
+      <annotation><documentation>The name of the method to invoke.
+      </documentation></annotation>
+    </attribute>
+    <attribute name="class" type="string">
+      <annotation><documentation>The class to instantiate.
+      </documentation></annotation>
+    </attribute>
+    <attribute name="var" type="string">
+      <annotation><documentation>The variable name to store the return value
+      </documentation></annotation>
+    </attribute>
+  </complexType>
+
+  <complexType name="scriptType">
+    <sequence>
+      <element name="text" type="string" minOccurs="0">
+        <annotation><documentation>The content of this expression element 
+        is the script text that will be evaluated.  This is mutually 
+        exclusive with the expression attribute.</documentation></annotation>
+      </element>
+    </sequence>
+    <attribute name="expr" type="string">
+      <annotation><documentation>The script text that will be evaluated.  This 
+      is mutually exclusive with the expression element.
+      </documentation></annotation>
+    </attribute>
+    <attribute name="lang" type="string">
+      <annotation><documentation>Identification of the scripting language 
+      to use.</documentation></annotation>
+    </attribute>
+    <attribute name="var" type="string">
+      <annotation><documentation>Name of the variable in which the result 
+      of the script evaluation will be stored</documentation></annotation>
+    </attribute>
+  </complexType>
+  
+  <complexType name="qlType">
+    <sequence>
+      <element name="query" type="string">
+        <annotation><documentation>The query text.</documentation></annotation>
+      </element>
+      <element name="parameters" minOccurs="0">
+        <annotation><documentation>Query parameters.</documentation></annotation>
+        <complexType>
+          <sequence>
+            <group ref="tns:wireObjectGroup" maxOccurs="unbounded" />
+          </sequence>
+        </complexType>
+      </element>
+    </sequence>
+    <attribute name="var" type="string">
+      <annotation><documentation>Name of the variable in which the result 
+      of the script evaluation will be stored</documentation></annotation>
+    </attribute>
+    <attribute name="unique" type="string">
+      <annotation><documentation>Does this query return a unique result or a list
+      </documentation></annotation>
+    </attribute>
+  </complexType>
+  
+  <complexType name="esbType">
+    <sequence>
+      <element name="part" minOccurs="0" maxOccurs="unbounded">
+        <annotation><documentation>The content of this expression element 
+        is the script text that will be evaluated.  This is mutually 
+        exclusive with the expression attribute.</documentation></annotation>
+        <complexType>
+          <choice minOccurs="0">
+            <group ref="tns:wireObjectGroup" />
+          </choice>
+          <attribute name="name" type="string">
+            <annotation><documentation>The name of the message body part.
+            </documentation></annotation>
+          </attribute>
+          <attribute name="expr" type="string">
+            <annotation><documentation>The script text that will be evaluated and 
+            used and the object in this message body part.
+            </documentation></annotation>
+          </attribute>
+        </complexType>
+      </element>
+    </sequence>
+    <attribute name="category" type="string">
+      <annotation><documentation>The category of the service in the esb.
+      </documentation></annotation>
+    </attribute>
+    <attribute name="service" type="string">
+      <annotation><documentation>The name of the service in the esb.
+      </documentation></annotation>
+    </attribute>
+  </complexType>
+  
+  <attributeGroup name="activityAttributes">
+    <attribute name="name" type="string">
+      <annotation><documentation>The id of this activity.  The name should be unique
+      in the complete scope of the process.</documentation></annotation>
+    </attribute>
+    <attribute name="g" type="string">
+      <annotation><documentation>Graphical information used by process designer tool.
+      </documentation></annotation>
+    </attribute>
+  </attributeGroup>
+  
+  <attributeGroup name="assignmentAttributes">
+    <annotation><documentation>the assignment attributes will be used in 
+      tasks and swimlanes to specify to whom these respectively are assigned.
+    </documentation></annotation>
+    <attribute name="assignee" type="string">
+      <annotation><documentation>Expression that resolves to a userId referencing 
+      the person to which the task or swimlane will be assigned.
+      </documentation></annotation>
+    </attribute>
+    <attribute name="assignee-lang" type="string">
+      <annotation><documentation>Expression language for the assignee attribute.
+      </documentation></annotation>
+    </attribute>
+    <attribute name="candidate-users" type="string">
+      <annotation><documentation>Expression that resolves to a comma separated 
+      list of userId's. All the referred people will be candidates for 
+      take the task or swimlane.</documentation></annotation>
+    </attribute>
+    <attribute name="candidate-users-lang" type="string">
+      <annotation><documentation>Expression language for the 
+      candidate-users attribute.</documentation></annotation>
+    </attribute>
+    <attribute name="candidate-groups" type="string">
+      <annotation><documentation>Resolves to a comma separated list of groupId's.  
+      All the referred people will be candidates to 
+      take the task or swimlane.</documentation></annotation>
+    </attribute>
+    <attribute name="candidate-groups-lang" type="string">
+      <annotation><documentation>Expression language for the 
+      candidate-groups attribute.</documentation></annotation>
+    </attribute>
+  </attributeGroup>
+  
+  <element name="swimlane">
+    <annotation><documentation>A process role.</documentation></annotation>
+    <complexType>
+      <attribute name="name" type="string" use="required" />
+      <attributeGroup ref="tns:assignmentAttributes" />
+    </complexType>
+  </element>
+  
+  <complexType name="transitionType">
+    <annotation><documentation>The outgoing transitions.  The first in the list 
+      will be the default outgoing transition.
+    </documentation></annotation>
+    <sequence>
+      <group ref="tns:eventListenerGroup" minOccurs="0" maxOccurs="unbounded" />
+    </sequence>
+    <attribute name="name" type="string">
+      <annotation><documentation>Name of this outgoing transition</documentation></annotation>
+    </attribute>
+    <attribute name="to" type="string">
+      <annotation><documentation>Name of the destination activity of this transition. 
+      </documentation></annotation>
+    </attribute>
+    <attribute name="g" type="string">
+      <annotation><documentation>Graphical information used by process designer tool.
+      </documentation></annotation>
+    </attribute>
+  </complexType>
+  
+  <element name="transition" type="tns:transitionType">
+    <annotation><documentation>A transition from one activity to another.</documentation></annotation>
+  </element>
+  
+  <element name="on">
+    <complexType>
+      <sequence>
+        <group ref="tns:eventListenerGroup" minOccurs="0" maxOccurs="unbounded">
+          <annotation><documentation>A list of event listeners that will 
+          be notified when the event is fired</documentation></annotation>
+        </group>
+      </sequence>
+      <attribute name="event" type="string">
+        <annotation><documentation>The event identification.  start, end, take or 
+        any other custom event.
+        </documentation></annotation>
+      </attribute>
+    </complexType>
+  </element>
+
+  <element name="timer">
+    <complexType>
+      <sequence>
+        <group ref="tns:eventListenerGroup" minOccurs="0" maxOccurs="unbounded">
+          <annotation><documentation>A list of event listeners that will 
+          be notified when the timer fires</documentation></annotation>
+        </group>
+      </sequence>
+      <attribute name="event" type="string">
+        <annotation><documentation>The event identification for this timer event.
+        </documentation></annotation>
+      </attribute>
+      <attribute name="transition" type="string">
+        <annotation><documentation>The name of the outgoing transition that must be 
+        taken when this timer fires.
+        </documentation></annotation>
+      </attribute>
+      <attribute name="duedate" type="string">
+        <annotation><documentation>Timer duedate expression that defines the duedate of this 
+        timer relative to the creation time of the timer.  E.g. '2 hours' or '4 business days'
+        </documentation></annotation>
+      </attribute>
+      <attribute name="repeat" type="string">
+        <annotation><documentation>Timer duedate expression that defines repeated scheduling 
+        relative to the last timer fire event.  E.g. '2 hours' or '4 business days'
+        </documentation></annotation>
+      </attribute>
+      <attribute name="duedatetime" type="string">
+        <annotation><documentation>Absolute time in format <code>HH:mm dd/MM/yyyy</code> 
+        (see SimpleDateFormat).  The format for the absolute time can be customized in the 
+        jbpm configuration. 
+        </documentation></annotation>
+      </attribute>
+    </complexType>
+  </element>
+  
+  <group name="eventListenerGroup">
+    <choice>
+      <element name="event-listener" type="tns:wireObjectType" />
+      <element name="hql" type="tns:qlType" />
+      <element name="sql" type="tns:qlType" />
+      <element name="java" type="tns:javaType" />
+      <element name="script" type="tns:scriptType" />
+      <element name="esb" type="tns:esbType" />
+    </choice>
+  </group>
+
+  <complexType name="emailType">
+    <sequence>
+      <element name="property">
+        <annotation><documentation>Template property value</documentation></annotation>
+        <complexType>
+          <attribute name="name" type="string" />
+          <attribute name="value" type="string" />
+        </complexType>
+      </element>
+    </sequence>
+    <attribute name="to" type="string" />
+    <attribute name="type" type="string">
+      <annotation><documentation>Reference to the email template</documentation></annotation>
+    </attribute>
+  </complexType>
+
+  <complexType name="taskType" >
+    <!-- 
+    <sequence>
+      <element name="reminder">
+        <complexType>
+          <attribute name="duedate" type="string" use="required" />
+          <attribute name="repeat" type="string" />
+        </complexType>
+      </element>
+    </sequence>
+    -->
+    <attributeGroup ref="tns:assignmentAttributes" />
+    <attribute name="form" type="string">
+    </attribute>
+    <attribute name="swimlane" type="string">
+    </attribute>
+    <attribute name="description" type="string" />
+    <attribute name="duedate" type="string" />
+    <attribute name="notify" type="boolean" default="false"/>
+    <!-- 
+    <attribute name="subtasksync">
+      <simpleType>
+        <union>
+          <simpleType>
+            <restriction base="string">
+              <enumeration value="last">
+                <annotation><documentation>When the last subtask completes,
+                this task is completed.</documentation></annotation>
+              </enumeration>
+              <enumeration value="first">
+                <annotation><documentation>When the first subtask completes,
+                this task is completed.</documentation></annotation>
+              </enumeration>
+            </restriction>
+          </simpleType>
+          <simpleType>
+            <restriction base="int">
+              <annotation><documentation>The number of subtasks that 
+              have to complete before this task is considered 
+              completed.</documentation></annotation>
+            </restriction>
+          </simpleType>
+        </union>
+      </simpleType>
+    </attribute>
+    -->
+  </complexType>
+  
+  <!-- 
+  <element name="timer">
+    <annotation><documentation>A timer that will be bound to the most inner enclosing scope.
+    Timers can give a signal to an activity instance.  The signal will correspond to a transition 
+    or to an event being fired.
+    </documentation></annotation>
+    <complexType>
+      <choice minOccurs="0" maxOccurs="unbounded">
+        <group ref="tns:eventListenerGroup">
+          <annotation><documentation>An inline list of event listeners 
+          on a timer is a short cut for defining the event separately.
+          </documentation></annotation>
+        </group>
+      </choice>
+      <attribute name="duedate" type="string" use="required" />
+      <attribute name="signal" type="string"  use="required">
+        <annotation><documentation>Refers to the signal that will be used.
+        If inline event listeners are declared, the signal name can not be 
+        the same as an event that is declared in this scope.
+        </documentation></annotation>
+      </attribute>
+      <attribute name="repeat" type="string" />
+    </complexType>
+  </element>
+
+  <simpleType name="priorityType">
+    <restriction base="string">
+      <enumeration value="highest"/>
+      <enumeration value="high"/>
+      <enumeration value="normal"/>
+      <enumeration value="low"/>
+      <enumeration value="lowest"/>
+    </restriction>
+  </simpleType>
+
+  -->
+  
+</schema>

Deleted: jbpm4/trunk/modules/api/src/main/resources/jpdl.xsd
===================================================================
--- jbpm4/trunk/modules/api/src/main/resources/jpdl.xsd	2009-04-17 09:21:43 UTC (rev 4574)
+++ jbpm4/trunk/modules/api/src/main/resources/jpdl.xsd	2009-04-17 09:23:24 UTC (rev 4575)
@@ -1,775 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<schema xmlns="http://www.w3.org/2001/XMLSchema"
-        targetNamespace="http://jbpm.org/4/jpdl"
-        xmlns:tns="http://jbpm.org/4/jpdl"
-        elementFormDefault="qualified"
-        attributeFormDefault="unqualified">
-        
-  <annotation>
-    <documentation>Schema for jPDL 4 process descriptions; 
-    element process is the top level element.
-      
-      TODO: Add activity pluggability.  (add the proper any's and 
-            anyAttributes)
-    
-      TODO: Pull up expression.  The expression element in the 
-            delegation group can be pulled up as an expression 
-            attribute in each use case of the delegationGroup
-    
-      TODO: Investigate if object-refs to centrally defined objects would 
-            add value over inline defined objects.
-    </documentation>
-  </annotation>
-
-  <!-- ### PROCESS DEFINITION ############################################# -->
-
-  <element name="process">
-    <annotation><documentation>A jPDL process definition description; This 
-    is the top level element in a jPDL process file.</documentation></annotation>
-    <complexType>
-      <sequence minOccurs="0" maxOccurs="unbounded">
-        <element ref="tns:swimlane" minOccurs="0" maxOccurs="unbounded"/>
-        <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
-        <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
-        <group ref="tns:activityGroup" minOccurs="0" maxOccurs="unbounded" />
-      </sequence>
-      <attribute name="name" use="required" type="string">
-        <annotation>
-          <documentation>
-            The process name. Multiple processes can be deployed with the same name, as long as they have a different
-            version.
-          </documentation>
-        </annotation>
-      </attribute>
-      <attribute name="key" type="string">
-        <annotation>
-          <documentation>
-            The key can be used to provide a short acronym that will replace the name as the basis for the generated
-            process definition id
-          </documentation>
-        </annotation>
-      </attribute>
-      <attribute name="version" type="int">
-        <annotation>
-          <documentation>
-            Indicates the sequence number of this version for all processes with the same name. By specifying a version
-            automatic deployment can figure out if this process is already deployed or not.
-          </documentation>
-        </annotation>
-      </attribute>
-      <anyAttribute processContents="skip">
-        <annotation><documentation>for extensibility
-        </documentation></annotation>
-      </anyAttribute>
-    </complexType>
-  </element>
-  
-  <!-- ### ACTIVITIES ##################################################### -->
-  
-  <group name="activityGroup">
-    <choice>
-      <!-- ~~~ START ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-      <element name="start">
-        <annotation><documentation>Start event
-        </documentation></annotation>
-        <complexType>
-          <sequence>
-            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
-          </sequence>
-          <attributeGroup ref="tns:activityAttributes" />
-        </complexType>
-      </element>
-
-      <!-- ~~~ END ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-      <element name="end">
-        <annotation><documentation>End event.
-        </documentation></annotation>
-        <complexType>
-          <sequence>
-            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
-          </sequence>
-          <attributeGroup ref="tns:activityAttributes" />
-          <attribute name="ends" default="process-instance">
-            <simpleType>
-              <restriction base="string">
-                <enumeration value="execution"/>
-                <enumeration value="process-instance"/>
-              </restriction>
-            </simpleType>
-          </attribute>
-          <attribute name="state" default="ended" type="string">
-            <annotation><documentation>sets the state of the execution explicitely</documentation></annotation>
-          </attribute>
-        </complexType>
-      </element>
-
-      <element name="end-cancel">
-        <annotation><documentation>End cancel event.
-        </documentation></annotation>
-        <complexType>
-          <sequence>
-            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
-          </sequence>
-          <attributeGroup ref="tns:activityAttributes" />
-          <attribute name="ends" default="process-instance">
-            <simpleType>
-              <restriction base="string">
-                <enumeration value="execution"/>
-                <enumeration value="process-instance"/>
-              </restriction>
-            </simpleType>
-          </attribute>
-        </complexType>
-      </element>
-
-      <element name="end-error">
-        <annotation><documentation>End cancel event.
-        </documentation></annotation>
-        <complexType>
-          <sequence>
-            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
-          </sequence>
-          <attributeGroup ref="tns:activityAttributes" />
-          <attribute name="ends" default="process-instance">
-            <simpleType>
-              <restriction base="string">
-                <enumeration value="execution"/>
-                <enumeration value="process-instance"/>
-              </restriction>
-            </simpleType>
-          </attribute>
-        </complexType>
-      </element>
-      
-      <!-- ~~~ STATE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-      <element name="state">
-        <annotation><documentation>A wait state.  When an execution arrives in this 
-        activity, the execution will wait until an external trigger is received 
-        with execution.signal() or execution.getActivityInstance().signal()
-        </documentation></annotation>
-        <complexType>
-          <sequence>
-            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
-          </sequence>
-          <attributeGroup ref="tns:activityAttributes" />
-        </complexType>
-      </element>
-
-      <!-- ~~~ DECISION ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
-      <element name="decision">
-        <annotation><documentation>Decision gateway: selects one path out of many alternatives.  
-        When an execution comes in, exactly one outgoing transition is taken.
-        </documentation></annotation>
-        <complexType>
-          <sequence>
-            <element name="handler" minOccurs="0" type="tns:wireObjectType" />
-            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
-            <element name="transition" minOccurs="0" maxOccurs="unbounded">
-              <complexType>
-                <complexContent>
-                  <extension base="tns:transitionType">
-                    <sequence>
-                      <element name="condition" minOccurs="0" maxOccurs="unbounded">
-                        <complexType>
-                          <attribute name="expr" type="string">
-                            <annotation><documentation>The script text that will be evaluated.  
-                            </documentation></annotation>
-                          </attribute>
-                          <attribute name="lang" type="string">
-                            <annotation><documentation>Identification of the scripting language 
-                            to use.</documentation></annotation>
-                          </attribute>
-                        </complexType>
-                      </element>
-                    </sequence>
-                  </extension>
-                </complexContent>
-              </complexType>
-              <!-- TODO add conditions -->
-            </element>
-          </sequence>
-          <attributeGroup ref="tns:activityAttributes" />
-          <attribute name="expr" type="string">
-            <annotation><documentation>The script that will be evaluated and resolve to 
-            the name of the outgoing transition.
-            </documentation></annotation>
-          </attribute>
-          <attribute name="lang" type="string">
-            <annotation><documentation>Identification of the scripting language 
-            to use for the expr attribute.</documentation></annotation>
-          </attribute>
-        </complexType>
-      </element>
-
-      <element name="fork">
-        <annotation><documentation>Spawns multiple concurrent paths of 
-        execution.
-        </documentation></annotation>
-        <complexType>
-          <sequence>
-            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
-          </sequence>
-          <attributeGroup ref="tns:activityAttributes" />
-        </complexType>
-      </element>
-    
-      <element name="join">
-        <annotation><documentation>Spawns multiple concurrent paths of 
-        execution.
-        </documentation></annotation>
-        <complexType>
-          <sequence>
-            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
-          </sequence>
-          <attributeGroup ref="tns:activityAttributes" />
-        </complexType>
-      </element>
-
-      <element name="script">
-        <annotation><documentation>Evaluates a piece of text as a script
-        </documentation></annotation>
-        <complexType>
-          <complexContent>
-            <extension base="tns:scriptType">
-              <sequence>
-                <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
-                <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
-              </sequence>
-              <attributeGroup ref="tns:activityAttributes" />
-            </extension>
-          </complexContent>
-        </complexType>
-      </element>
-
-      <element name="hql">
-        <annotation><documentation>Performs a hibernate query
-        </documentation></annotation>
-        <complexType>
-          <complexContent>
-            <extension base="tns:qlType">
-              <sequence>
-                <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
-                <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
-              </sequence>
-              <attributeGroup ref="tns:activityAttributes" />
-            </extension>
-          </complexContent>
-        </complexType>
-      </element>
-
-      <element name="sql">
-        <annotation><documentation>Performs a hibernate SQL query
-        </documentation></annotation>
-        <complexType>
-          <complexContent>
-            <extension base="tns:qlType">
-              <sequence>
-                <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
-                <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
-              </sequence>
-              <attributeGroup ref="tns:activityAttributes" />
-            </extension>
-          </complexContent>
-        </complexType>
-      </element>
-
-      <element name="java">
-        <annotation><documentation>Invokes a method on a java object.  
-        Either the java class is instantiated with reflection, or the 
-        java object is fetched from the environment.  Then values from the 
-        environment are injected into the fields and a method is executed.
-        </documentation></annotation>
-        <complexType>
-          <complexContent>
-            <extension base="tns:javaType">
-              <sequence>
-                <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
-                <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
-              </sequence>
-              <attributeGroup ref="tns:activityAttributes" />
-            </extension>
-          </complexContent>
-        </complexType>
-      </element>
-
-      <element name="esb">
-        <annotation><documentation>Invokes a service over the ESB.  
-        </documentation></annotation>
-        <complexType>
-          <complexContent>
-            <extension base="tns:esbType">
-              <sequence>
-                <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
-                <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
-              </sequence>
-              <attributeGroup ref="tns:activityAttributes" />
-            </extension>
-          </complexContent>
-        </complexType>
-      </element>
-
-      <element name="task">
-        <annotation><documentation>Creates a task in the task component.  
-        </documentation></annotation>
-        <complexType>
-          <sequence>
-            <element name="assignment-handler" minOccurs="0"  type="tns:wireObjectType" />
-            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
-            <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
-          </sequence>
-          <attributeGroup ref="tns:activityAttributes" />
-          <attributeGroup ref="tns:assignmentAttributes"/>
-          <attribute name="swimlane" type="string" />
-          <attribute name="on-transition" default="cancel">
-            <simpleType>
-              <restriction base="string">
-                <enumeration value="keep"/>
-                <enumeration value="cancel"/>
-              </restriction>
-            </simpleType>
-          </attribute>
-          <attribute name="completion" type="string" default="complete" />
-        </complexType>
-      </element>
-      
-      <!-- 
-      <element name="process-state">
-        <annotation><documentation>Waits while a sub process instance is 
-        being executed and continues when the sub process instance ends.
-        </documentation></annotation>
-        < ! - - take into account the following situation:
-        Unlike in jBPM 3, a process-state should not signal the newly created 
-        process instance.  The signal in jBPM 3 is probably historically there 
-        because in the beginning there was no initial attribute on the process
-        definition.
-        - - >
-        <complexType>
-          <sequence>
-            <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
-            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
-              <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
-            </element>
-            <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
-          </sequence>
-          <attributeGroup ref="tns:activityAttributes" />
-        </complexType>
-      </element>
-
-      <element name="super-state">
-        <annotation><documentation>Scope enclosing a number of activities.
-        </documentation></annotation>
-        <complexType>
-          <sequence>
-            <group ref="tns:activityGroup" minOccurs="0" maxOccurs="unbounded" />
-            <element ref="tns:transition" minOccurs="0" maxOccurs="unbounded" />
-            <element ref="tns:on" minOccurs="0" maxOccurs="unbounded">
-              <annotation><documentation>Events on which listeners can be registered.</documentation></annotation>
-            </element>
-            <element ref="tns:timer" minOccurs="0" maxOccurs="unbounded"/>
-          </sequence>
-          <attributeGroup ref="tns:activityAttributes" />
-        </complexType>
-      </element>
-      -->
-    </choice>
-  </group>
-  
-  <group name="wireObjectGroup">
-    <choice>
-      <element name="string">
-        <complexType>
-          <attribute name="name">
-            <annotation><documentation>the name of the string object</documentation></annotation>
-          </attribute>
-          <attribute name="value">
-            <annotation><documentation>the actual string value</documentation></annotation>
-          </attribute>
-        </complexType>
-      </element>
-      <element name="object" type="tns:wireObjectType" />
-    </choice>
-  </group>
-  
-  <complexType name="wireObjectType">
-    <sequence>
-      <element name="field" minOccurs="0" maxOccurs="unbounded">
-        <annotation><documentation>Field injections from the environment 
-        invocation.</documentation></annotation>
-        <complexType >
-          <group ref="tns:wireObjectGroup" />
-          <attribute name="name" type="string">
-            <annotation><documentation>Name of the field in which the value should be injected.
-            </documentation></annotation>
-          </attribute>
-        </complexType>
-      </element>
-    </sequence>
-    <attribute name="object" type="string">
-      <annotation><documentation>Name of the object in the environment 
-      </documentation></annotation>
-    </attribute>
-    <attribute name="class" type="string">
-      <annotation><documentation>The class to instantiate.
-      </documentation></annotation>
-    </attribute>
-    <attribute name="name" type="string">
-      <annotation><documentation>The name of this object.
-      </documentation></annotation>
-    </attribute>
-  </complexType>
-
-  <complexType name="javaType">
-    <sequence>
-      <element name="field" minOccurs="0" maxOccurs="unbounded">
-        <annotation><documentation>Field injections from the environment 
-        invocation.</documentation></annotation>
-      </element>
-      <element name="arg" minOccurs="0" maxOccurs="unbounded">
-        <annotation><documentation>Method arguments.</documentation></annotation>
-      </element>
-    </sequence>
-    <attribute name="object" type="string">
-      <annotation><documentation>Name of the object in the environment 
-      </documentation></annotation>
-    </attribute>
-    <attribute name="method" type="string" use="required">
-      <annotation><documentation>The name of the method to invoke.
-      </documentation></annotation>
-    </attribute>
-    <attribute name="class" type="string">
-      <annotation><documentation>The class to instantiate.
-      </documentation></annotation>
-    </attribute>
-    <attribute name="var" type="string">
-      <annotation><documentation>The variable name to store the return value
-      </documentation></annotation>
-    </attribute>
-  </complexType>
-
-  <complexType name="scriptType">
-    <sequence>
-      <element name="text" type="string" minOccurs="0">
-        <annotation><documentation>The content of this expression element 
-        is the script text that will be evaluated.  This is mutually 
-        exclusive with the expression attribute.</documentation></annotation>
-      </element>
-    </sequence>
-    <attribute name="expr" type="string">
-      <annotation><documentation>The script text that will be evaluated.  This 
-      is mutually exclusive with the expression element.
-      </documentation></annotation>
-    </attribute>
-    <attribute name="lang" type="string">
-      <annotation><documentation>Identification of the scripting language 
-      to use.</documentation></annotation>
-    </attribute>
-    <attribute name="var" type="string">
-      <annotation><documentation>Name of the variable in which the result 
-      of the script evaluation will be stored</documentation></annotation>
-    </attribute>
-  </complexType>
-  
-  <complexType name="qlType">
-    <sequence>
-      <element name="query" type="string">
-        <annotation><documentation>The query text.</documentation></annotation>
-      </element>
-      <element name="parameters" minOccurs="0">
-        <annotation><documentation>Query parameters.</documentation></annotation>
-        <complexType>
-          <sequence>
-            <group ref="tns:wireObjectGroup" maxOccurs="unbounded" />
-          </sequence>
-        </complexType>
-      </element>
-    </sequence>
-    <attribute name="var" type="string">
-      <annotation><documentation>Name of the variable in which the result 
-      of the script evaluation will be stored</documentation></annotation>
-    </attribute>
-    <attribute name="unique" type="string">
-      <annotation><documentation>Does this query return a unique result or a list
-      </documentation></annotation>
-    </attribute>
-  </complexType>
-  
-  <complexType name="esbType">
-    <sequence>
-      <element name="part" minOccurs="0" maxOccurs="unbounded">
-        <annotation><documentation>The content of this expression element 
-        is the script text that will be evaluated.  This is mutually 
-        exclusive with the expression attribute.</documentation></annotation>
-        <complexType>
-          <choice minOccurs="0">
-            <group ref="tns:wireObjectGroup" />
-          </choice>
-          <attribute name="name" type="string">
-            <annotation><documentation>The name of the message body part.
-            </documentation></annotation>
-          </attribute>
-          <attribute name="expr" type="string">
-            <annotation><documentation>The script text that will be evaluated and 
-            used and the object in this message body part.
-            </documentation></annotation>
-          </attribute>
-        </complexType>
-      </element>
-    </sequence>
-    <attribute name="category" type="string">
-      <annotation><documentation>The category of the service in the esb.
-      </documentation></annotation>
-    </attribute>
-    <attribute name="service" type="string">
-      <annotation><documentation>The name of the service in the esb.
-      </documentation></annotation>
-    </attribute>
-  </complexType>
-  
-  <attributeGroup name="activityAttributes">
-    <attribute name="name" type="string">
-      <annotation><documentation>The id of this activity.  The name should be unique
-      in the complete scope of the process.</documentation></annotation>
-    </attribute>
-    <attribute name="g" type="string">
-      <annotation><documentation>Graphical information used by process designer tool.
-      </documentation></annotation>
-    </attribute>
-  </attributeGroup>
-  
-  <attributeGroup name="assignmentAttributes">
-    <annotation><documentation>the assignment attributes will be used in 
-      tasks and swimlanes to specify to whom these respectively are assigned.
-    </documentation></annotation>
-    <attribute name="assignee" type="string">
-      <annotation><documentation>Expression that resolves to a userId referencing 
-      the person to which the task or swimlane will be assigned.
-      </documentation></annotation>
-    </attribute>
-    <attribute name="assignee-lang" type="string">
-      <annotation><documentation>Expression language for the assignee attribute.
-      </documentation></annotation>
-    </attribute>
-    <attribute name="candidate-users" type="string">
-      <annotation><documentation>Expression that resolves to a comma separated 
-      list of userId's. All the referred people will be candidates for 
-      take the task or swimlane.</documentation></annotation>
-    </attribute>
-    <attribute name="candidate-users-lang" type="string">
-      <annotation><documentation>Expression language for the 
-      candidate-users attribute.</documentation></annotation>
-    </attribute>
-    <attribute name="candidate-groups" type="string">
-      <annotation><documentation>Resolves to a comma separated list of groupId's.  
-      All the referred people will be candidates to 
-      take the task or swimlane.</documentation></annotation>
-    </attribute>
-    <attribute name="candidate-groups-lang" type="string">
-      <annotation><documentation>Expression language for the 
-      candidate-groups attribute.</documentation></annotation>
-    </attribute>
-  </attributeGroup>
-  
-  <element name="swimlane">
-    <annotation><documentation>A process role.</documentation></annotation>
-    <complexType>
-      <attribute name="name" type="string" use="required" />
-      <attributeGroup ref="tns:assignmentAttributes" />
-    </complexType>
-  </element>
-  
-  <complexType name="transitionType">
-    <annotation><documentation>The outgoing transitions.  The first in the list 
-      will be the default outgoing transition.
-    </documentation></annotation>
-    <sequence>
-      <group ref="tns:eventListenerGroup" minOccurs="0" maxOccurs="unbounded" />
-    </sequence>
-    <attribute name="name" type="string">
-      <annotation><documentation>Name of this outgoing transition</documentation></annotation>
-    </attribute>
-    <attribute name="to" type="string">
-      <annotation><documentation>Name of the destination activity of this transition. 
-      </documentation></annotation>
-    </attribute>
-    <attribute name="g" type="string">
-      <annotation><documentation>Graphical information used by process designer tool.
-      </documentation></annotation>
-    </attribute>
-  </complexType>
-  
-  <element name="transition" type="tns:transitionType">
-    <annotation><documentation>A transition from one activity to another.</documentation></annotation>
-  </element>
-  
-  <element name="on">
-    <complexType>
-      <sequence>
-        <group ref="tns:eventListenerGroup" minOccurs="0" maxOccurs="unbounded">
-          <annotation><documentation>A list of event listeners that will 
-          be notified when the event is fired</documentation></annotation>
-        </group>
-      </sequence>
-      <attribute name="event" type="string">
-        <annotation><documentation>The event identification.  start, end, take or 
-        any other custom event.
-        </documentation></annotation>
-      </attribute>
-    </complexType>
-  </element>
-
-  <element name="timer">
-    <complexType>
-      <sequence>
-        <group ref="tns:eventListenerGroup" minOccurs="0" maxOccurs="unbounded">
-          <annotation><documentation>A list of event listeners that will 
-          be notified when the timer fires</documentation></annotation>
-        </group>
-      </sequence>
-      <attribute name="event" type="string">
-        <annotation><documentation>The event identification for this timer event.
-        </documentation></annotation>
-      </attribute>
-      <attribute name="transition" type="string">
-        <annotation><documentation>The name of the outgoing transition that must be 
-        taken when this timer fires.
-        </documentation></annotation>
-      </attribute>
-      <attribute name="duedate" type="string">
-        <annotation><documentation>Timer duedate expression that defines the duedate of this 
-        timer relative to the creation time of the timer.  E.g. '2 hours' or '4 business days'
-        </documentation></annotation>
-      </attribute>
-      <attribute name="repeat" type="string">
-        <annotation><documentation>Timer duedate expression that defines repeated scheduling 
-        relative to the last timer fire event.  E.g. '2 hours' or '4 business days'
-        </documentation></annotation>
-      </attribute>
-      <attribute name="duedatetime" type="string">
-        <annotation><documentation>Absolute time in format <code>HH:mm dd/MM/yyyy</code> 
-        (see SimpleDateFormat).  The format for the absolute time can be customized in the 
-        jbpm configuration. 
-        </documentation></annotation>
-      </attribute>
-    </complexType>
-  </element>
-  
-  <group name="eventListenerGroup">
-    <choice>
-      <element name="event-listener" type="tns:wireObjectType" />
-      <element name="hql" type="tns:qlType" />
-      <element name="sql" type="tns:qlType" />
-      <element name="java" type="tns:javaType" />
-      <element name="script" type="tns:scriptType" />
-      <element name="esb" type="tns:esbType" />
-    </choice>
-  </group>
-
-  <complexType name="emailType">
-    <sequence>
-      <element name="property">
-        <annotation><documentation>Template property value</documentation></annotation>
-        <complexType>
-          <attribute name="name" type="string" />
-          <attribute name="value" type="string" />
-        </complexType>
-      </element>
-    </sequence>
-    <attribute name="to" type="string" />
-    <attribute name="type" type="string">
-      <annotation><documentation>Reference to the email template</documentation></annotation>
-    </attribute>
-  </complexType>
-
-  <complexType name="taskType" >
-    <!-- 
-    <sequence>
-      <element name="reminder">
-        <complexType>
-          <attribute name="duedate" type="string" use="required" />
-          <attribute name="repeat" type="string" />
-        </complexType>
-      </element>
-    </sequence>
-    -->
-    <attributeGroup ref="tns:assignmentAttributes" />
-    <attribute name="form" type="string">
-    </attribute>
-    <attribute name="swimlane" type="string">
-    </attribute>
-    <attribute name="description" type="string" />
-    <attribute name="duedate" type="string" />
-    <attribute name="notify" type="boolean" default="false"/>
-    <!-- 
-    <attribute name="subtasksync">
-      <simpleType>
-        <union>
-          <simpleType>
-            <restriction base="string">
-              <enumeration value="last">
-                <annotation><documentation>When the last subtask completes,
-                this task is completed.</documentation></annotation>
-              </enumeration>
-              <enumeration value="first">
-                <annotation><documentation>When the first subtask completes,
-                this task is completed.</documentation></annotation>
-              </enumeration>
-            </restriction>
-          </simpleType>
-          <simpleType>
-            <restriction base="int">
-              <annotation><documentation>The number of subtasks that 
-              have to complete before this task is considered 
-              completed.</documentation></annotation>
-            </restriction>
-          </simpleType>
-        </union>
-      </simpleType>
-    </attribute>
-    -->
-  </complexType>
-  
-  <!-- 
-  <element name="timer">
-    <annotation><documentation>A timer that will be bound to the most inner enclosing scope.
-    Timers can give a signal to an activity instance.  The signal will correspond to a transition 
-    or to an event being fired.
-    </documentation></annotation>
-    <complexType>
-      <choice minOccurs="0" maxOccurs="unbounded">
-        <group ref="tns:eventListenerGroup">
-          <annotation><documentation>An inline list of event listeners 
-          on a timer is a short cut for defining the event separately.
-          </documentation></annotation>
-        </group>
-      </choice>
-      <attribute name="duedate" type="string" use="required" />
-      <attribute name="signal" type="string"  use="required">
-        <annotation><documentation>Refers to the signal that will be used.
-        If inline event listeners are declared, the signal name can not be 
-        the same as an event that is declared in this scope.
-        </documentation></annotation>
-      </attribute>
-      <attribute name="repeat" type="string" />
-    </complexType>
-  </element>
-
-  <simpleType name="priorityType">
-    <restriction base="string">
-      <enumeration value="highest"/>
-      <enumeration value="high"/>
-      <enumeration value="normal"/>
-      <enumeration value="low"/>
-      <enumeration value="lowest"/>
-    </restriction>
-  </simpleType>
-
-  -->
-  
-</schema>

Modified: jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java
===================================================================
--- jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java	2009-04-17 09:21:43 UTC (rev 4574)
+++ jbpm4/trunk/modules/jpdl/src/main/java/org/jbpm/jpdl/internal/xml/JpdlParser.java	2009-04-17 09:23:24 UTC (rev 4575)
@@ -82,7 +82,7 @@
     parseBindings();
     
     List<String> schemaResources =  new ArrayList<String>();
-    schemaResources.add("jpdl.xsd");
+    schemaResources.add("jpdl-4.0.xsd");
     setSchemaResources(schemaResources);
   }
 

Modified: jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch02-Installation.xml
===================================================================
--- jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch02-Installation.xml	2009-04-17 09:21:43 UTC (rev 4574)
+++ jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch02-Installation.xml	2009-04-17 09:23:24 UTC (rev 4575)
@@ -161,7 +161,7 @@
         <listitem>Click 'Add...'</listitem>
         <listitem>The 'Add XML Catalog Entry' dialog opens</listitem>
         <listitem>Click the button with the map-icon next to location and select 'File System...'</listitem>
-        <listitem>In the dialog that opens, select file <literal>jpdl.xsd</literal> 
+        <listitem>In the dialog that opens, select file <literal>jpdl-4.0.xsd</literal> 
         in the src directory of the jBPM installation root.</listitem>
         <listitem>Click 'Open' and close all the dialogs</listitem>
       </itemizedlist>




More information about the jbpm-commits mailing list