Документация / BPMN
BPMN XML
Модель BPMN хранится в XML-файле по схеме стандарта (пространство имён
http://www.omg.org/spec/BPMN/20100524/MODEL). Файл состоит из двух частей: семантической — что происходит
в процессе — и графической (Diagram Interchange, DI) — где и каким размером нарисован каждый элемент.
Структура файла
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
id="Definitions_1" targetNamespace="http://example.com/bpmn">
<!-- глобальные определения: сообщения, сигналы, ошибки -->
<bpmn:message id="Message_Order" name="Заказ" />
<!-- участники и потоки сообщений -->
<bpmn:collaboration id="Collaboration_1">...</bpmn:collaboration>
<!-- процессы -->
<bpmn:process id="Process_1">...</bpmn:process>
<!-- изображение -->
<bpmndi:BPMNDiagram id="Diagram_1">
<bpmndi:BPMNPlane id="Plane_1" bpmnElement="Collaboration_1">...</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
| Элемент | Назначение |
|---|---|
definitions | Корень файла; targetNamespace — пространство имён модели |
process | Процесс: события, действия, шлюзы, потоки, данные, дорожки |
collaboration | Участники (participant), потоки сообщений, связь пулов с процессами |
message, signal, error, escalation | Глобальные определения, на которые ссылаются события |
BPMNDiagram / BPMNPlane | Лист диаграммы; bpmnElement — процесс или коллаборация на листе |
BPMNShape | Фигура элемента: dc:Bounds — координаты и размер |
BPMNEdge | Линия потока: точки излома di:waypoint |
BPMNLabel | Положение подписи, если она не на фигуре |
Идентификаторы и ссылки
У каждого элемента есть уникальный id. Связи задаются ссылками на идентификаторы: поток — sourceRef
и targetRef, фигура — bpmnElement, событие — messageRef или errorRef, пул — processRef. Внутри
элементов процесса дублирующие ссылки incoming и outgoing перечисляют их потоки — редакторы заполняют их
автоматически.
Идентификатор должен быть корректным XML-именем: начинаться с буквы или подчёркивания, без пробелов. Понятные
идентификаторы (Approve, Flow_Yes) упрощают чтение XML и сравнение версий.
Условия и выражения
Выражения записываются в элементах типа tFormalExpression: условия потоков (conditionExpression), интервалы
таймеров (timeDuration, timeDate, timeCycle). Язык выражений зависит от движка исполнения; для описательных
моделей условия часто оставляют текстом в названиях потоков.
<bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">amount > 100000</bpmn:conditionExpression>
Расширения
Стандарт разрешает добавлять свои атрибуты и элементы в других пространствах имён — так BPM-платформы хранят
технические настройки (исполнителей, формы, переменные). Такие данные размещают в extensionElements или
в атрибутах с префиксом своего пространства имён. Другие редакторы должны сохранять расширения без изменений.
<bpmn:userTask id="Approve" name="Согласовать заявку" xmlns:acme="http://acme.example/bpmn">
<bpmn:extensionElements>
<acme:assignee group="managers" />
</bpmn:extensionElements>
</bpmn:userTask>
Работа с XML в редакторе
- Код справа и холст слева синхронизированы: правка в любом из них сразу отражается в другом.
- Если в XML ошибка, редактор покажет её строку и не будет перерисовывать холст, пока XML не станет корректным.
- Элементы без фигуры в
BPMNDiagramна холсте не видны, хотя есть в модели. Добавьте имBPMNShapeили создайте их на холсте. - Экспорт в SVG и PNG берёт то, что видно на холсте; экспорт в BPMN — файл целиком, вместе с расширениями.
Похожие инструменты
Обновлено: 30 сентября 2026 г.
