Java_Activiti5_菜鸟也来学Activiti5工作流_之初识BPMN2.0的简单结构(五)

12/12/2015来源:Java教程人气:2150

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 4     xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
 5     xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI"
 6     typeLanguage="http://www.w3.org/2001/XMLSchema" exPRessionLanguage="http://www.w3.org/1999/XPath"
 7     targetNamespace="http://www.activiti.org/test">
 8     
 9     <!-- 
10           BPMN 2.0根节点是definitions节点。 这个元素中,可以定义多个流程定义
11           (不过我们建议每个文件只包含一个流程定义, 可以简化开发过程中的维护难度)。
12            一个空的流程定义看起来像下面这样。
13            注意,definitions元素 最少也要包含xmlns 和 targetNamespace的声明。
14           targetNamespace可以是任意值,它用来对流程实例进行分类。
15      -->
16     
17     <!-- 
18         process元素有两个属性:
19             id:这个属性是必须的, 它对应着Activiti ProcessDefinition对象的key属性。
20                  ‘id可以用来启动流程定义的流程实例, 通过RuntimeService的startProcessInstanceByKey方法。 
21                 实际中一般都使用这种方式启动流程。
22            name:这个属性是可选的, 对应ProcessDefinition的name属性。 引擎自己不会使用这个属性,
23                       它可以用来在流程图上显示便于查看的名称。
24      -->
25     
26     <process id="myProcess" name="My process" isExecutable="true">
27     
28         <!-- startEvent 开始事件, 是我们流程的入口 -->
29         <startEvent id="startevent1" name="Start"></startEvent>
30         
31         <!-- userTask 用户任务事件 , 是流程中与操作者相关的任务声明。 -->
32         <userTask id="usertask1" name="User Task"></userTask>
33         
34         <!-- endEvent 结束事件, 当流程达到结束事件时,整个流程就会结束 -->
35         <endEvent id="endevent1" name="End"></endEvent>
36         
37         <!-- sequenceFlow 连线, 这些元素都使用连线连接。 这些连线拥有source 和 target属性, 定义了连线的方向。 -->
38         <sequenceFlow id="flow1" sourceRef="startevent1" targetRef="usertask1"></sequenceFlow>
39         <sequenceFlow id="flow2" sourceRef="usertask1" targetRef="endevent1"></sequenceFlow>
40     </process>
41     <bpmndi:BPMNDiagram id="BPMNDiagram_myProcess">
42         
43         <!-- 
44                 以下是定义了一些流程事件的坐标
45          -->
46         
47         <bpmndi:BPMNPlane bpmnElement="myProcess" id="BPMNPlane_myProcess">
48             <bpmndi:BPMNShape bpmnElement="startevent1"
49                 id="BPMNShape_startevent1">
50                 <omgdc:Bounds height="35.0" width="35.0" x="60.0" y="130.0"></omgdc:Bounds>
51             </bpmndi:BPMNShape>
52             <bpmndi:BPMNShape bpmnElement="usertask1" id="BPMNShape_usertask1">
53                 <omgdc:Bounds height="55.0" width="105.0" x="190.0" y="119.0"></omgdc:Bounds>
54             </bpmndi:BPMNShape>
55             <bpmndi:BPMNShape bpmnElement="endevent1" id="BPMNShape_endevent1">
56                 <omgdc:Bounds height="35.0" width="35.0" x="390.0" y="130.0"></omgdc:Bounds>
57             </bpmndi:BPMNShape>
58             <bpmndi:BPMNEdge bpmnElement="flow1" id="BPMNEdge_flow1">
59                 <omgdi:waypoint x="95.0" y="147.0"></omgdi:waypoint>
60                 <omgdi:waypoint x="190.0" y="146.0"></omgdi:waypoint>
61             </bpmndi:BPMNEdge>
62             <bpmndi:BPMNEdge bpmnElement="flow2" id="BPMNEdge_flow2">
63                 <omgdi:waypoint x="295.0" y="146.0"></omgdi:waypoint>
64                 <omgdi:waypoint x="390.0" y="147.0"></omgdi:waypoint>
65             </bpmndi:BPMNEdge>
66         </bpmndi:BPMNPlane>
67     </bpmndi:BPMNDiagram>
68 </definitions>