Skip to content
This repository has been archived by the owner on Feb 14, 2024. It is now read-only.
/ cmmn-moddle Public archive

Read and write CMMN 1.1 XML from JavaScript.

License

Notifications You must be signed in to change notification settings

bpmn-io/cmmn-moddle

Repository files navigation

As of version 5.0.0 this library exposes ES modules. Use esm to consume it or an ES module aware bundler such as Webpack or Rollup to bundle it for the browser.

cmmn-moddle

Build Status

Read and write CMMN 1.1 diagram files in NodeJS and the browser.

cmmn-moddle uses the CMMN 1.1 meta-model to validate the input and produce correct CMMN 1.1 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 CmmnModdle from 'cmmn-moddle';

var moddle = new CmmnModdle();

var xmlStr =
  '<?xml version="1.0" encoding="UTF-8"?>' +
  '<cmmn:definitions xmlns:cmmn="https://www.omg.org/spec/CMMN/20150516/MODEL" id="empty-definitions" targetNamespace="https://bpmn.io/schema/cmmn">' +
  '</cmmn:definitions>';


moddle.fromXML(xmlStr, function(err, definitions) {

  // update id attribute
  definitions.set('id', 'NEW ID');

  // add a root element
  var cmmnCase = moddle.create('cmmn:Case', { id: 'MyCase_1' });
  definitions.get('cases').push(cmmnCase);

  moddle.toXML(definitions, function(err, xmlStrUpdated) {

    // xmlStrUpdated contains new id and the added process

  });

});

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 library via

npm run all

License

Use under the terms of the MIT license.

About

Read and write CMMN 1.1 XML from JavaScript.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published