我们在第一章中介绍了怎么通过EMF读写BPMN2.0官方元素,在这章里边我们介绍下怎么给BPMN2.0模型注入扩展元素。
由于BPMN2.0官方提供的标准不能满足一个引擎需要运行起来的所需的一些元素,所有各个基于BPMN2.0标准的厂商都对BPMN2.0标准进行了自己的扩展。
例如:
activiti引擎的扩展都是以"activiti:"开头的
1 <serviceTask id="javaService" 2 name="Java service invocation" 3 activiti:class="org.activiti.examples.bpmn.servicetask.ToUpperCaseFieldInjected"> 4 <extensionElements> 5 <activiti:field name="text" stringValue="Hello World" /> 6 </extensionElements> 7 </serviceTask>
fixflow引擎的扩展都是以"fixflow:"开头的
1 <bpmn2:userTask id="UserTask_1" fixflow:taskType="FIXFLOWTASK" name="人工任务"> 2 <bpmn2:extensionElements> 3 <fixflow:assignPolicyType id="potentialOwner"/> 4 <fixflow:skipStrategy/> 5 <fixflow:taskCommand id="HandleCommand_3" name="提交" commandType="submit"/> 8 <fixflow:expectedExecutionTime/> 9 <fixflow:formUri> 10 <fixflow:expression xsi:type="fixflow:Expression" id="Expression_3">DemoServlet?action=startOneTask</fixflow:expression> 11 </fixflow:formUri> 12 </bpmn2:extensionElements> 13 <bpmn2:incoming>SequenceFlow_1</bpmn2:incoming> 14 <bpmn2:outgoing>SequenceFlow_3</bpmn2:outgoing> 15 <bpmn2:potentialOwner id="PotentialOwner_1" fixflow:resourceType="user" fixflow:includeExclusion="INCLUDE"name="所有人"> 16 <bpmn2:resourceAssignmentExpression id="ResourceAssignmentExpression_1"> 17 <bpmn2:formalExpression id="所有人">"fixflow_allusers"</bpmn2:formalExpression> 18 </bpmn2:resourceAssignmentExpression> 19 </bpmn2:potentialOwner> 21 </bpmn2:userTask>
未完.....
Fixflow引擎解析(三) - 通过EMF扩展BPMN2.0元素
原文:http://www.cnblogs.com/kenshin1985/p/3545889.html