in drools-benchmarks-parent/drools-benchmarks-common/src/main/java/org/drools/benchmarks/common/providers/dmn/DecisionTableDMNProvider.java [32:98]
public String getDMN(int numberOfTableRules) {
final StringBuilder dmnBuilder = new StringBuilder();
dmnBuilder.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
dmnBuilder.append("<definitions id=\"decision-table-id\" name=\"decision-table-name\"\n");
dmnBuilder.append(" namespace=\"https://github.com/kiegroup/kie-dmn\"\n");
dmnBuilder.append(" xmlns=\"http://www.omg.org/spec/DMN/20151101/dmn.xsd\"\n");
dmnBuilder.append(" xmlns:feel=\"http://www.omg.org/spec/FEEL/20140401\"\n");
dmnBuilder.append(" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n");
dmnBuilder.append(" xsi:schemaLocation=\"http://www.omg.org/spec/DMN/20151101/dmn.xsd\">\n");
dmnBuilder.append(" <decision id=\"decision-table\" name=\"decision-table\">\n");
dmnBuilder.append(" <variable name=\"Approval Status\" typeRef=\"feel:string\"/>\n");
dmnBuilder.append(" <informationRequirement>\n");
dmnBuilder.append(" <requiredInput href=\"#_Age\"/>\n");
dmnBuilder.append(" </informationRequirement>\n");
dmnBuilder.append(" <informationRequirement>\n");
dmnBuilder.append(" <requiredInput href=\"#_RiskCategory\"/>\n");
dmnBuilder.append(" </informationRequirement>\n");
dmnBuilder.append(" <informationRequirement>\n");
dmnBuilder.append(" <requiredInput href=\"#_isAffordable\"/>\n");
dmnBuilder.append(" </informationRequirement>\n");
dmnBuilder.append(" <decisionTable hitPolicy=\"FIRST\" outputLabel=\"Approval Status\" preferredOrientation=\"Rule-as-Row\">\n");
dmnBuilder.append(" <input id=\"_iAge\" label=\"Age\">\n");
dmnBuilder.append(" <inputExpression typeRef=\"feel:number\">\n");
dmnBuilder.append(" <text>Age</text>\n");
dmnBuilder.append(" </inputExpression>\n");
dmnBuilder.append(" </input>\n");
dmnBuilder.append(" <input id=\"_iRiskCategory\" label=\"RiskCategory\">\n");
dmnBuilder.append(" <inputExpression typeRef=\"feel:string\">\n");
dmnBuilder.append(" <text>RiskCategory</text>\n");
dmnBuilder.append(" </inputExpression>\n");
dmnBuilder.append(" <inputValues>\n");
dmnBuilder.append(" <text>\"High\", \"Low\", \"Medium\"</text>\n");
dmnBuilder.append(" </inputValues>\n");
dmnBuilder.append(" </input>\n");
dmnBuilder.append(" <input id=\"_iIsAffordable\" label=\"isAffordable\">\n");
dmnBuilder.append(" <inputExpression typeRef=\"feel:boolean\">\n");
dmnBuilder.append(" <text>isAffordable</text>");
dmnBuilder.append(" </inputExpression>\n");
dmnBuilder.append(" </input>\n");
dmnBuilder.append(" <output id=\"_oApprovalStatus\">\n");
dmnBuilder.append(" <outputValues>\n");
dmnBuilder.append(" <text>\"Approved\", \"Declined\"</text>\n");
dmnBuilder.append(" </outputValues>\n");
dmnBuilder.append(" </output>\n");
for (int i = 0; i < numberOfTableRules; i++) {
dmnBuilder.append(getDecisionTableRules(i));
}
dmnBuilder.append(" </decisionTable>\n");
dmnBuilder.append(" </decision>\n");
dmnBuilder.append(" <inputData id=\"_Age\" name=\"Age\">\n");
dmnBuilder.append(" <variable name=\"Age\" typeRef=\"feel:number\"/>\n");
dmnBuilder.append(" </inputData>\n");
dmnBuilder.append(" <inputData id=\"_RiskCategory\" name=\"RiskCategory\">\n");
dmnBuilder.append(" <variable name=\"RiskCategory\" typeRef=\"feel:string\"/>\n");
dmnBuilder.append(" </inputData>\n");
dmnBuilder.append(" <inputData id=\"_isAffordable\" name=\"isAffordable\">\n");
dmnBuilder.append(" <variable name=\"isAffordable\" typeRef=\"feel:boolean\"/>\n");
dmnBuilder.append(" </inputData>\n");
dmnBuilder.append("</definitions>");
return dmnBuilder.toString();
}