本文节选自《疯狂工作流讲义(第2版)》
京东购买地址:https://item.jd.com/12246565.html
工作流Activiti6电子书:http://blog.csdn.net/boxiong86/article/details/78488562
工作流Activiti6教学视频:http://blog.csdn.net/boxiong86/article/details/78608585
DMN的XML规范
DMN规范的官方网址为:http://www.omg.org/spec/DMN/,在官方网站上可以获取到DMN的规范文档、DMN的XML Schema文档和样例文档。笔者已经将以上三份文档下载,并保存到代码目录,以下为这三份文档的代码路径:
规范文档:codes\15\15.2\DMN规范.pdf
XML Schema:codes\15\15.2\dmn.xsd
样例文档:codes\15\15.2\example.xml
决策
在DMN规范中,根节点为definitions,该节点下可以出现import、itemDefinition、drgElement等元素,其中drgElement是一个抽象元素,decision元素继承于drgElement。一个decision表示一次决策,可以为它设置name、id、label属性,按照DMN规范,name属性是必需的,而其他属性则是可选的,但作为decision的唯一标识,建议id也需要设置。一个definitions下可以定义0个或多个decision。代码清单15-2定义了一个decision元素。
代码清单15-2:codes\15\15.2\decision.dmn
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/DMN/20151130"
id="simple" name="Simple" namespace="http://activiti.org/dmn">
<decision id="decision1" name="Simple decision">
</decision>
</definitions>
一个decision元素由question、allowedAnswers、expression等元素组成,其中expression元素表示决策逻辑,expression是一个抽象元素,DMN规范中,decision元素下的expression可出现0次或1次。
决策表
一个decisionTable元素表示一个决策表,decisionTable继承于