-
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