使用 Javascript 生成 BPMN XML

Generate BPMN XML with Javascript

我想生成这样的 BPMN XML 文件:

  <?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions     xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn">
  <bpmn:process id="Process_1" isExecutable="false">
  <bpmn:startEvent id="StartEvent_1">
  <bpmn:outgoing>SequenceFlow_1</bpmn:outgoing>
    </bpmn:startEvent>
   <bpmn:task id="Task_1" name="Titulo111">
   <bpmn:incoming>SequenceFlow_1</bpmn:incoming>
 <extensionElements>abc</extensionElements>
</bpmn:task>
  <bpmn:sequenceFlow id="SequenceFlow_1" sourceRef="StartEvent_1" targetRef="Task_1" />
 </bpmn:process>
 <bpmndi:BPMNDiagram id="BPMNDiagram_1">
 <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Process_1">
  <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
    <dc:Bounds x="173" y="102" width="36" height="36" />
  </bpmndi:BPMNShape>
  <bpmndi:BPMNShape id="Task_1_di" bpmnElement="Task_1">
    <dc:Bounds x="437" y="107" width="100" height="80" />
  </bpmndi:BPMNShape>
  <bpmndi:BPMNEdge id="SequenceFlow_1_di" bpmnElement="SequenceFlow_1">
    <di:waypoint xsi:type="dc:Point" x="209" y="120" />
    <di:waypoint xsi:type="dc:Point" x="323" y="120" />
    <di:waypoint xsi:type="dc:Point" x="323" y="147" />
    <di:waypoint xsi:type="dc:Point" x="437" y="147" />
    <bpmndi:BPMNLabel>
      <dc:Bounds x="278" y="123.5" width="90" height="20" />
    </bpmndi:BPMNLabel>
  </bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>

有什么方法可以用 javascript 做到这一点吗? 我尝试使用 createElement,但我无法在“:”之后设置属性,例如“<bpmn:process ... ></bpmn:process>

提前致谢。

看看 bpmn.io 项目 (http://bpmn.io/)。 它包括一个 javascript 库来生成 BPMN 以及一个建模和渲染模块(用于 BPMN)。

仅供参考:冒号字符之前的文本表示 XML 名称 space(在您的情况下为 bpmn),因此您需要确保将其添加到 XML 根元素:xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"

您可能想看看这个 article (quoted from this original post) 以获取有关如何在 JS 中创建名称为 spaces 的 XML 文档的更多信息。

希望这对您有所帮助,