All Projects → bpmn-io → Bpmn Moddle

bpmn-io / Bpmn Moddle

Licence: mit
Read and write BPMN 2.0 XML from JavaScript.

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Bpmn Moddle

Saxy
A fast, easy-to-use and XML 1.0 compliant XML SAX parser in Elixir
Stars: ✭ 192 (-13.12%)
Mutual labels:  xml
Dd Plist
A java library providing support for ASCII, XML and binary property lists.
Stars: ✭ 201 (-9.05%)
Mutual labels:  xml
Biblia
Bíblia: XML + SQL + JSON
Stars: ✭ 211 (-4.52%)
Mutual labels:  xml
Awesome Explainable Ai
A collection of research materials on explainable AI/ML
Stars: ✭ 186 (-15.84%)
Mutual labels:  xml
Xmlschema
XML Schema validator and data conversion library for Python
Stars: ✭ 201 (-9.05%)
Mutual labels:  xml
Unbescape
Advanced yet easy to use escaping library for Java
Stars: ✭ 207 (-6.33%)
Mutual labels:  xml
Xsd2php
Convert XSD into PHP classes and JMS serializer definitions
Stars: ✭ 190 (-14.03%)
Mutual labels:  xml
Hypertextliteral
Generate HTML, XML, and other web content using Swift string literal interpolation
Stars: ✭ 219 (-0.9%)
Mutual labels:  xml
Iran
Administrative divisions of Iran in json and xml formats - تقسیمات کشوری ایران با فرمت جی‌سان و ایکس ام ال
Stars: ✭ 201 (-9.05%)
Mutual labels:  xml
Xmlquery
xmlquery is Golang XPath package for XML query.
Stars: ✭ 209 (-5.43%)
Mutual labels:  xml
Xlog
Android logger, pretty, powerful and flexible, log to everywhere, save to file, all you want is here.
Stars: ✭ 2,468 (+1016.74%)
Mutual labels:  xml
Zeebe Modeler
Desktop Application for modeling Zeebe Workflows with BPMN
Stars: ✭ 198 (-10.41%)
Mutual labels:  bpmn
Home
A configurable and eXtensible Xml serializer for .NET.
Stars: ✭ 208 (-5.88%)
Mutual labels:  xml
Validation
validation api extracted from play
Stars: ✭ 194 (-12.22%)
Mutual labels:  xml
Codejam
Set of handy reusable .NET components that can simplify your daily work and save your time when you copy and paste your favorite helper methods and classes from one project to another
Stars: ✭ 217 (-1.81%)
Mutual labels:  xml
Publisher
speedata Publisher - a professional database Publishing system
Stars: ✭ 191 (-13.57%)
Mutual labels:  xml
Farm
Zerocrat Core Engine
Stars: ✭ 207 (-6.33%)
Mutual labels:  xml
Renderer
Simple, lightweight and faster response (JSON, JSONP, XML, YAML, HTML, File) rendering package for Go
Stars: ✭ 220 (-0.45%)
Mutual labels:  xml
Imixs Workflow
The open source technology for business process management
Stars: ✭ 218 (-1.36%)
Mutual labels:  bpmn
Python Benedict
dict subclass with keylist/keypath support, I/O shortcuts (base64, csv, json, pickle, plist, query-string, toml, xml, yaml) and many utilities. 📘
Stars: ✭ 204 (-7.69%)
Mutual labels:  xml

bpmn-moddle

Build Status

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.

Usage

Get the library via npm package. Consume it in NodeJS, via UMD or bundle it for the browser using your favorite module bundler.

import BpmnModdle from 'bpmn-moddle';

const moddle = new BpmnModdle();

const 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>';


const {
  rootElement: definitions
} = await moddle.fromXML(xmlStr);

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

// add a root element
const bpmnProcess = moddle.create('bpmn:Process', { id: 'MyProcess_1' });
definitions.get('rootElements').push(bpmnProcess);

// xmlStrUpdated contains new id and the added process
const {
  xml: xmlStrUpdated
} = await moddle.toXML(definitions);

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

Related

The library is built on top of moddle and moddle-xml.

License

Use under the terms of the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].