BPMN Validation Tool – Improved by WebRatio

At the BPMN Workshop in Lucerne two weeks ago I presented a talk called “Fulfilling the Promises of BPMN 2.0.”  The basic point was that the BPMN 2.0 specification by itself is insufficient to deliver on the standard’s two most fundamental promises: first, as a semantically precise process notation, that the meaning of the depicted process logic is unambiguous from the diagram alone; and second, as an XML process description language (even limited to non-executable model elements in the Analytic subclass), that the serialization rules are sufficiently unambiguous to allow automated interchange between tools.  Fulfilling those promises requires additional constraints, on modelers in the form of style rules,and on tool vendors in the form of serialization rules that I call the BPMN-I Profile.  To address these problems, I created two BPMN validation tools based on XSLT 2.0.  One checks models against both the rules of the BPMN 2.0 spec and the style rules, and another one checks them against the BPMN-I Profile.

Process Modeler for Visio from itp commerce implements the style rules directly inside Visio, and that works great, but now other tools are beginning to export BPMN 2.0 XML, and I wanted to explore an online tool for them.  I hosted the AltovaXML engine (and my XSLT’s) on a website and got a web programmer to wrap it in an iframe accessible from my website.  Unfortunately I wasn’t really happy with the robustness of the web application.

At the Lucerne workshop, Marco Brambilla of Politecnico di Milano and founder of a company called WebRatio made a presentation on WebRatio’s rapid model-driven approach to generating web applications integrated with BPMN.  After the meeting, Marco contacted me and offered to replace my creaky web app with one generated by WebRatio.  While I was thinking about it, he emailed me to say, “We’ve already done it, and here is the URL.”  I don’t know how WebRatio did it exactly – I provided no information about either my XSLT or the web app surrounding it -but it works great!

The link is  I invite you to try it out.  You need to upload a file in the BPMN 2.0 XML format.  The tool performs four checks: 1)well-formed XML; 2)valid per BPMN 2.0 XSD; 3)BPMN 2.0 and style rule validation; 4)BPMN-I Profile validation. Thank you, Sebastian and Aldo of WebRatio!  And you as well, Marco.  WebRatio… I’m a believer!

The implementation is still possibly fragile due to the single-threaded AltovaXML engine, but we are talking about reimplementing as a Java app using XSLT libaries, all generated by WebRatio.  Please try out the tool.  Bugs are most likely in my XSLTs, so please report them to me.

  1. UserUser12-23-2011

    Apparently the validation tool will not pass the OMG samples as valid.
    OMG has samples posted at
    None of them validate because the XSD is not included.

    Is there a place to report bugs to them?

  2. brucebruce12-25-2011

    Not including xsi:schemaLocation in the .bpmn file is not really a bug, but my tool apparently requires it. I will try to remove this requirement in a future version. You can add it yourself in Wordpad or XMLSpy by inserting xsi:schemaLocation=” schemas/BPMN20.xsd in the definitions element. I tried it on the pizza example. It is schema valid, but has 3 style rule violations and a large number of BPMN-I violations. There is no reason why OMG examples should conform to either one of these. I want to check out some of the BPMN-I violations… maybe a bug in my tool.

  3. UserUser01-05-2012

    I was actually more meaning a place to report bugs to WebRatio – exactly the same comment you had: “Not including xsi:schemaLocation in the .bpmn file is not really a bug” … but the WebRatio tool won’t validate without it.

  4. brucebruce01-05-2012

    The bugs are mine, so report them to me. WebRatio merely wrapped my invocation of the AltovaXML parser/xslt engine in a web app. I need to go back and investigate how the parser finds the schema if none is referenced in the instance, e.g., provide a default. When I have time I will do that. I did ask WebRatio to disable the Method and Style validation and BPMN-I validation (both xslt) if not schema-valid, and I could ask them to change that in the meantime.

  5. UserUser04-07-2012

    Any progress on the SchemaLocation bug?
    I’ve been trying the Activiti Designer to see how it fares, and it’s giving OK results… once you get past the SchemaLocation issue. It has a ways to go – it doesn’t support Swimlanes in Designer 5.9 but they’re working on it.

  6. brucebruce05-31-2012

    There is hope. I have discovered from Michael Kay’s book that unlike AltovaXML, Saxon does not require @schemaLocation in the source doc. I am creating a new improved validator for BPMN, style rule, dynamic analysis (proper join type and Terminate end event), and BPMN-I, using Saxon. In a month or two…

  7. BalaBala10-28-2013

    Hi Bruce,

    I tried to validate my BPMN 2.0 XML file that i have exported from Enterprise Architect 10.0. But i get the error “File PincodeCreation.xml is NOT Valid Unable to locate a reference to a supported schema type (DTD, W3C Schema) within this document instance.”

    Could you guide me on what went wrong.

  8. brucebruce10-28-2013

    It’s been a while since I worked on this. It is an issue with the AltovaXML engine, which requires xsi:schemaLocation in the root of the .bpmn file (definitions element). Try adding attribute xsi:schemaLocation=”” to the root definitions element.

Leave a Reply

4 − one =