As of version 5.0.0
this library exposes ES modules. Use esm to consume it or a ES module aware transpiler such as Webpack, Rollup or Browserify + babelify to bundle it for the browser.
bpmn-moddle
Read and write BPMN 2.0 diagram files in NodeJS and the browser.
bpmn-moddle uses the BPMN 2.0 meta-model to validate the input and produce correct BPMN 2.0 XML. The library is built on top of moddle and moddle-xml.
Usage
Get the library via npm package. Bundle it for the web using browserify or webpack.
import BpmnModdle from 'bpmn-moddle';
var moddle = new BpmnModdle();
var xmlStr =
'<?xml version="1.0" encoding="UTF-8"?>' +
'<bpmn2:definitions xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" ' +
'id="empty-definitions" ' +
'targetNamespace="http://bpmn.io/schema/bpmn">' +
'</bpmn2:definitions>';
moddle.fromXML(xmlStr, function(err, definitions) {
definitions.set('id', 'NEW ID');
var bpmnProcess = moddle.create('bpmn:Process', { id: 'MyProcess_1' });
definitions.get('rootElements').push(bpmnProcess);
moddle.toXML(definitions, function(err, xmlStrUpdated) {
});
});
Resources
Building the Project
To run the test suite that includes XSD schema validation you must have a Java JDK installed and properly exposed through the JAVA_HOME
variable.
Execute the test via
npm test
Perform a complete build of the application via
npm run all
License
Use under the terms of the MIT license.