{"action":"opened","issue":{"url":"https://api.github.com/repos/bpmn-miwg/bpmn-miwg-test-suite/issues/412","labels_url":"https://api.github.com/repos/bpmn-miwg/bpmn-miwg-test-suite/issues/412/labels{/name}","comments_url":"https://api.github.com/repos/bpmn-miwg/bpmn-miwg-test-suite/issues/412/comments","events_url":"https://api.github.com/repos/bpmn-miwg/bpmn-miwg-test-suite/issues/412/events","html_url":"https://github.com/bpmn-miwg/bpmn-miwg-test-suite/issues/412","id":54742598,"number":412,"title":"[C.1.0 - demo] Conditions on Sequence Flow outgoing of Gateway with id \"invoice_approved\"","user":{"login":"benmichel","id":8003851,"avatar_url":"https://avatars.githubusercontent.com/u/8003851?v=3","gravatar_id":"","url":"https://api.github.com/users/benmichel","html_url":"https://github.com/benmichel","followers_url":"https://api.github.com/users/benmichel/followers","following_url":"https://api.github.com/users/benmichel/following{/other_user}","gists_url":"https://api.github.com/users/benmichel/gists{/gist_id}","starred_url":"https://api.github.com/users/benmichel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/benmichel/subscriptions","organizations_url":"https://api.github.com/users/benmichel/orgs","repos_url":"https://api.github.com/users/benmichel/repos","events_url":"https://api.github.com/users/benmichel/events{/privacy}","received_events_url":"https://api.github.com/users/benmichel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-01-19T09:34:59Z","updated_at":"2015-01-19T09:34:59Z","closed_at":null,"body":"The Sequence Flow labeled \"yes\" (id=\"invoiceApproved\"), outgoing of Gateway \"Invoice approved\" (id=\"invoice_approved\"), has the following Condition Expression :\r\n\r\n    <conditionExpression xsi:type=\"tFormalExpression\" id=\"sid-0ed8a0cb-f28a-4689-bbd8-77dafd0ccfa0\">${approved}</conditionExpression>\r\n\r\nHow is this expression to be resolved from a standard point of view ? What is 'approved' suppose to be since it does not seems to be a DataObject or DataStore ?\r\nIf we look at the expression language attribute of the definitions, we have\r\n\r\n    expressionLanguage=\"http://www.w3.org/1999/XPath\".\r\n\r\nThis means that the expression language used to resolve formal expressions should be XPATH. I thing XPATH is a good choice for the demo since it should be supported by BPMN implementors (according to chapter 10.3.3 of the spec), but if we are to use XPATH the expression should be :\r\n\r\n    <conditionExpression xsi:type=\"tFormalExpression\" id=\"sid-0ed8a0cb-f28a-4689-bbd8-77dafd0ccfa0\">getDataObject('approved')</conditionExpression>\r\nor\r\n\r\n    <conditionExpression xsi:type=\"tFormalExpression\" id=\"sid-0ed8a0cb-f28a-4689-bbd8-77dafd0ccfa0\"><![CDATA[//processInstance/dataEntries/approved/value]]></conditionExpression>\r\n\r\nwhere 'approved' is a DataObject of boolean type. We could use the default type language (Table 8.1 page 53 of the spec) to define the type of this DataObject so it would be http://www.w3.org/2001/XMLSchema:boolean\r\n\r\nps : The same observation can be done for the Sequence Flow with id 'invoiceNotApproved'."}}