我在Activiti中建立一个简单的仅有startEvent、userTask和endEvent的BPMN模型,导出的process.bpmn.xml内容如下: 前一博文玩玩GoJS BPMN样例中我给出了类似 BPMN模型的JSON数据。通过分析可知,除了两者的ID生成机制不同(GoJSBPMN生成的ID太简单,很容易重复),完全可以通过GoJS的JSON数据构造上面的process.bpmn.xml文件内容。 试了一下在Javascript中生成上面的process.bpmn.xml文档,大致可行。从MDN查到的资料可知,仅支持IE9+浏览器。不支持低版本IE浏览器,估计现在不算什么问题。目前生成的XML文档有些瑕疵,第一个使用createElement_x方法创建的节点会自动添加命名空间xmlns=http://www.w3.org/1999/xhtml,但是应该可以避免。
|Chrome|Firefox (Gecko)|Internet Explorer|Opera|Safari |—– |(Yes)|1.0 (1.7 or earlier)|9.0|(Yes)|(Yes)
JS代码如下: