BPMN 2.0 FTF Avatar
  1. OMG Issue

BPMN2 — XML Schema is not strict enough

  • Key: BPMN2-276
  • Legacy Issue Number: 15105
  • Status: closed  
  • Source: SAP SE ( Reiner Hille-Doering)
  • Summary:

    The XML Schemas BPMN20.xsd and Semantic.xsd define lots of global elements. This allows the elements to be used as XML file root. I don't think that this is intended: BPMN 2.0 files should be always rooted with "bpmn:definitions", and only a few elements are allowed as sub elements (including imports, diagrams and all root elements).

    The current design would e.g. make a file be a valid BPMN 2.0 file which consists of a single activity only.

  • Reported: BPMN 2.0b1 — Tue, 2 Mar 2010 05:00 GMT
  • Disposition: Resolved — BPMN 2.0
  • Disposition Summary:

    Include the following text to chapter 16.2. For details see attachment (use newer version).
    Document Structure
    A domain-specific set of model elements is interchanged in one or more BPMN files. The root element of each file MUST be <bpmn:definitions>. The set of files must
    be self-contained, i.e. all definitions that are used in a file MUST be imported directly or indirectly using the <bpmn:import> element.
    Each file must declare a "targetNamespace" which MAY differ between multiple files of one model.
    BPMN files MAY import non-BPMN files (such as XSDs and WSDLs) if the contained elements use external definitions.
    Example:
    main.bpmn
    <?xml version="1.0" encoding="UTF-8"?>
    <bpmn:definitions xmlns:bpmn="http://schema.omg.org/spec/BPMN/2.0"
    targetNamespace="sample1.main" xmlns:main="sample1.main" xmlns:s1="sample1.semantic1">
    <bpmn:import location="semantic1.bpmn" namespace="sample1.semantic1"
    importType="http://schema.omg.org/spec/BPMN/2.0" />
    <bpmn:import location="diagram1.bpmn" namespace="sample1.diagram1"
    importType="http://www.omg.org/spec/BPMNDI/1.0.0" />
    <bpmn:collaboration>
    <bpmn:participant processRef="s1:process1" id="collaboration1"></bpmn:participant>
    </bpmn:collaboration>
    </bpmn:definitions>
    semantic1.bpmn
    <?xml version="1.0" encoding="UTF-8"?>
    <bpmn:definitions xmlns:bpmn="http://schema.omg.org/spec/BPMN/2.0" targetNamespace="sample1.semantic1"
    xmlns:s1="sample1.semantic1">
    <bpmn:process id="process1">
    <!-- content here -->
    </bpmn:process>
    </bpmn:definitions>
    diagram1.bpmn
    <?xml version="1.0" encoding="UTF-8"?>
    <bpmn:definitions xmlns:bpmn="http://schema.omg.org/spec/BPMN/2.0"
    targetNamespace="sample1.diagram1"
    xmlns:bpmndi="http://www.omg.org/spec/BPMNDI/1.0.0"
    xmlns:d1="sample1.diagram1" xmlns:s1="sample1.semantic1"
    xmlns:main="sample1.main">
    <bpmndi:BPMNDiagram scale="0.0" unit="Pixel">
    <bpmndi:BPMNPlane element="main:collaboration1">
    </bpmndi:BPMNPlane>
    </bpmndi:BPMNDiagram>
    </bpmn:definitions>
    Disposition: Resolved

  • Updated: Fri, 6 Mar 2015 20:57 GMT