I want to generate dynamic input parameter in XML like below
<bpmn:extensionElements>
<camunda:inputOutput>
<camunda:inputParameter name="John">John is very smart</camunda:inputParameter>
</camunda:inputOutput>
</bpmn:extensionElements>
My json model,
{
"name": "Input",
"prefix": "input",
"uri": "http://Input",
"xml": {
"tagAlias": "lowerCase"
},
"associations": [],
"types": [
{
"name": "StartEvent",
"extends": [
"bpmn:Activity",
],
"properties": [
{
"name": "output",
"isAttr": true,
"isMany": true,
"type" : "array"
},
{
"name": "IsStartable",
"default": true,
"isAttr": true,
"type" : "Boolean"
}
]
},
{
"name": "inputOutput",
"superClass": ["Element"],
"properties": [
{
"name": "inputParameter",
"isMany": false,
"type": "String"
}
]
},
{
"name": "inputOutput",
"properties": [
{
"name": "name",
"type": "String",
"isAttr": true
},
{
"name": "text",
"isBody": true,
"type": "String"
},
]
}
]
}
The problem with the above model I can’t use prefix as “camunda” instead of “input”, if I set camunda as a prefix then it throws me the error.
My code,
var bpmnModel = window.bpnModel;
var moddle = bpmnModel.get('moddle');
var inputParameter = moddle.create('camunda:InputParameter', {
name: 'John',
body: selectedName
});
var inputOutput = getExtension(b_obj, 'input:inputOutput');
if (!inputOutput) {
inputOutput = moddle.create('input:inputOutput', {
inputParameters: [ inputParameter ]
});
b_obj.extensionElements = b_obj.extensionElements || moddle.create('bpmn:ExtensionElements');
b_obj.extensionElements.get('values').push(inputOutput);
}
output of above code is,
<bpmn2:extensionElements>
<input:inputOutput inputParameters="[object Object]" />
</bpmn2:extensionElements>
How I achieve my proper XML format with proper prefix.