Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

reorg complete

  • Loading branch information...
commit 448d220238490f2555b468b498cf016ee05f1ebd 1 parent 23bab1f
@atoulme atoulme authored
View
59 Buildfile
@@ -4,6 +4,24 @@ require "dependencies.rb"
# Keep this structure to allow the build system to update version numbers.
VERSION_NUMBER = "1.0.0.003-SNAPSHOT"
+def compress(files, uncompressed, compressed)
+
+ File.open(uncompressed, 'w') do |concat|
+ files.each do |file|
+ concat.write(File.read(file))
+ end
+ end
+
+ # Get YUI Compressor
+ artifact(YUICOMPRESSOR).invoke
+
+ #Compress the file:
+ Java::Commands::java("-jar", artifact(YUICOMPRESSOR).to_s, "--type","js",
+ uncompressed,
+ "-o", compressed)
+
+end
+
desc "Intalio|Process Designer"
define "designer" do
project.version = VERSION_NUMBER
@@ -15,9 +33,10 @@ define "designer" do
package(:war).libs = [JSON, SERVLET, JBPT, COMMONS, JDOM, LOG4J, BPMNQ,
RHINO, MAIL, VELOCITY, XALAN, CSV, BATIK, FOP, JAXB, ATLAS]
# TODO compress js.
- package(:war)
- task :compress do
+ package(:war).include(_("src/main/js/Plugins/profiles.xml"), :path => '.')
+
+ package(:war).enhance do |package_war|
#concatenate those files:
files = %w{ utils.js kickstart.js erdfparser.js datamanager.js clazz.js
config.js oryx.js Core/SVG/editpathhandler.js Core/SVG/minmaxpathhandler.js
@@ -29,32 +48,20 @@ define "designer" do
Core/StencilSet/stencilsets.js Core/command.js Core/bounds.js
Core/uiobject.js Core/abstractshape.js Core/canvas.js Core/main.js
Core/svgDrag.js Core/shape.js Core/Controls/control.js
- Core/Controls/magnet.js Core/node.js Core/edge.js Core/abstractPlugin.js
+ Core/Controls/magnet.js Core/Controls/docker.js Core/node.js Core/edge.js Core/abstractPlugin.js
Core/abstractLayouter.js }
-
- File.open(_('target/oryx.debug.js'), 'w') do |concat|
- files.each do |file|
- concat.write(File.read(_("src/main/js/#{file}"))
- end
- end
-
- # Get YUI Compressor
- YUICOMPRESSOR.invoke
-
- #Compress the file:
- java("-jar", YUICOMPRESSOR.to_s, "--type","js",
- _('target/oryx.core.uncompressed.js'),
- "-o", _('target/oryx.js'))
- File.open(_('target/oryx.all.js'), 'w') do |concat|
- concat.write(File.read(_("LICENSE"))
- concat.write(File.read(_("src/main/js/lib/path_parser.js"))
- concat.write(File.read(_("src/main/js/lib/prototype-1.5.1.js"))
- concat.write(File.read(_("src/main/js/lib/ext-2.0.2/adapter/ext/ext-base.js"))
- concat.write(File.read(_("src/main/js/lib/ext-2.0.2/ext-all.js"))
- concat.write(File.read(_("src/main/js/lib/ext-2.0.2/color-field.js"))
- concat.write(File.read(_("src/main/webapp/i18n/translation_en_us.js"))
- end
+ files.collect! {|f| _("src/main/js/#{f}")}
+
+ compress(files, _('target/oryx.uncompressed.js'), _('target/oryx.js'))
+ package_war.include(_('target/oryx.uncompressed.js'), :path => '.')
+ package_war.include(_('target/oryx.js'), :path => '.')
+ default = File.read(_("src/main/webapp/profiles/default.xml"))
+ files = default.scan(/source=\"(.*)\"/).to_a.flatten
+ files.collect! {|f| _("src/main/js/Plugins/#{f}")}
+ compress(files, _("target/default.uncompressed.js"), _("target/default.js"))
+ package_war.include(_('target/default.js'), :path => 'profiles')
end
+
end
View
1  dependencies.rb
@@ -1,4 +1,5 @@
+YUICOMPRESSOR = "com.yahoo.platform.yui:yuicompressor:jar:2.3.6"
JSON = "org.json:json:jar:20090211"
SERVLET = "javax.servlet:servlet-api:jar:2.5"
JBPT = "jbpt:jbpt:jar:0.1.0"
View
2  src/main/java/org/oryxeditor/server/Bpmn2_0Servlet.java
@@ -119,7 +119,7 @@ protected StringWriter performTransformationToDi(String json, boolean asXML) thr
SchemaFactory sf = SchemaFactory
.newInstance(javax.xml.XMLConstants.W3C_XML_SCHEMA_NS_URI);
- String xsdPath = this.getServletContext().getRealPath("/WEB-INF/lib/bpmn20/BPMN20.xsd");
+ String xsdPath = this.getServletContext().getRealPath("/lib/bpmn20/BPMN20.xsd");
Schema schema = sf.newSchema(new File(xsdPath));
marshaller.setSchema(schema);
View
5 src/main/java/org/oryxeditor/server/EditorHandler.java
@@ -201,7 +201,7 @@ protected String getOryxModel(String title, String content,
+ "<script src=\"" + oryx_path + "i18n/translation_en_us.js\" type=\"text/javascript\" />\n"
+ languageFiles
// Handle different profiles
- + "<script src=\"" + oryx_path + "profiles/oryx.core.js\" type=\"text/javascript\" />\n"
+ + "<script src=\"" + oryx_path + "oryx.js\" type=\"text/javascript\" />\n"
+ profileFiles
+ headExtentions
@@ -249,8 +249,9 @@ protected String getLanguageCode(HttpServletRequest req) {
} catch (NullPointerException e) {
return profilNames;
}
- if(handlerDir==null)
+ if(handlerDir == null || handlerDir.listFiles() == null) {
return profilNames;
+ }
for (File source : handlerDir.listFiles()) {
if (source.getName().endsWith(".js")) {
View
35 src/main/webapp/lib/bpmn20/BPMN20.xsd
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema elementFormDefault="qualified" attributeFormDefault="unqualified"
+ xmlns="http://schema.omg.org/spec/BPMN/2.0"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:di="http://bpmndi.org"
+ targetNamespace="http://schema.omg.org/spec/BPMN/2.0">
+
+ <xsd:import namespace="http://bpmndi.org" schemaLocation="BpmnDi.xsd"/>
+ <xsd:include schemaLocation="Semantic.xsd"/>
+
+ <xsd:element name="definitions" type="tDefinitions"/>
+ <xsd:complexType name="tDefinitions">
+ <xsd:sequence>
+ <xsd:element ref="import" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="extension" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="rootElement" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="di:diagram" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="relationship" minOccurs="0" maxOccurs="unbounded"/>
+
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID" use="optional"/>
+ <xsd:attribute name="targetNamespace" type="xsd:anyURI" use="required"/>
+ <xsd:attribute name="expressionLanguage" type="xsd:anyURI" use="optional" default="http://www.w3.org/1999/XPath"/>
+ <xsd:attribute name="typeLanguage" type="xsd:anyURI" use="optional" default="http://www.w3.org/2001/XMLSchema"/>
+ <xsd:anyAttribute namespace="##other" processContents="lax"/>
+ </xsd:complexType>
+
+ <xsd:element name="import" type="tImport"/>
+ <xsd:complexType name="tImport">
+ <xsd:attribute name="namespace" type="xsd:anyURI" use="required"/>
+ <xsd:attribute name="location" type="xsd:string" use="required"/>
+ <xsd:attribute name="importType" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+
+</xsd:schema>
View
274 src/main/webapp/lib/bpmn20/BpmnDi.xsd
@@ -0,0 +1,274 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2009 sp1 (http://www.altova.com) by Bruce Silver (private) -->
+<xs:schema xmlns="http://bpmndi.org" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://bpmndi.org" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:element name="bpmndi">
+ <xs:annotation>
+ <xs:documentation>Comment describing your root element</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="diagram" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="diagram" type="diagramType"/>
+ <xs:complexType name="diagramType">
+ <xs:attribute name="id" type="xs:ID" use="required"/>
+ <xs:attribute name="name" type="xs:string"/>
+ <xs:anyAttribute namespace="##other"/>
+ </xs:complexType>
+ <xs:element name="processDiagram" type="processDiagramType" substitutionGroup="diagram"/>
+ <xs:complexType name="processDiagramType">
+ <xs:complexContent>
+ <xs:extension base="diagramType">
+ <xs:sequence>
+ <xs:element ref="laneCompartment" maxOccurs="unbounded"/>
+ <xs:element ref="sequenceFlowConnector" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="associationConnector" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="dataAssociationConnector" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="processRef" type="xs:IDREF"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="collaborationDiagram" type="collaborationDiagramType" substitutionGroup="diagram"/>
+ <xs:complexType name="collaborationDiagramType">
+ <xs:complexContent>
+ <xs:extension base="diagramType">
+ <xs:sequence>
+ <xs:element name="pool" type="poolCompartmentType" minOccurs="2" maxOccurs="unbounded"/>
+ <xs:element ref="messageFlowConnector" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="collaborationRef" type="xs:IDREF"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="bpmnNode" type="bpmnNodeType"/>
+ <xs:complexType name="bpmnNodeType">
+ <xs:attribute name="id" type="xs:ID" use="required"/>
+ <xs:attribute name="name" type="xs:string"/>
+ <xs:attribute name="x"/>
+ <xs:attribute name="y"/>
+ <xs:attribute name="width"/>
+ <xs:attribute name="height"/>
+ </xs:complexType>
+ <xs:element name="bpmnCompartment" type="bpmnCompartmentType" substitutionGroup="bpmnNode"/>
+ <xs:complexType name="bpmnCompartmentType">
+ <xs:complexContent>
+ <xs:extension base="bpmnNodeType">
+ <xs:attribute name="isVisible" type="xs:boolean"/>
+ <xs:attribute name="orientation">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="horizontal"/>
+ <xs:enumeration value="vertical"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="laneCompartment" type="laneCompartmentType_1" substitutionGroup="bpmnCompartment"/>
+ <xs:complexType name="laneCompartmentType">
+ <xs:complexContent>
+ <xs:extension base="bpmnCompartmentType">
+ <xs:sequence>
+ <xs:element ref="bpmnShape" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="subLane" type="laneCompartmentType_1" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="laneRef" type="xs:IDREF"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="poolCompartment" type="poolCompartmentType" substitutionGroup="bpmnCompartment"/>
+ <xs:complexType name="poolCompartmentType">
+ <xs:complexContent>
+ <xs:extension base="bpmnCompartmentType">
+ <xs:sequence>
+ <xs:element name="laneCompRef" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="participantRef" type="xs:IDREF"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="bpmnShape" type="bpmnNodeType" substitutionGroup="bpmnNode"/>
+ <xs:element name="bpmnLabel" substitutionGroup="bpmnNode"/>
+ <xs:element name="activityShape" type="activityShapeType_1" substitutionGroup="bpmnShape"/>
+ <xs:complexType name="activityShapeType">
+ <xs:attribute name="activityRef" type="xs:IDREF"/>
+ </xs:complexType>
+ <xs:complexType name="activityShapeType_1">
+ <xs:complexContent>
+ <xs:extension base="bpmnNodeType">
+ <xs:attribute name="activityRef"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="subprocessShape" type="subprocessShapeType" substitutionGroup="activityShape"/>
+ <xs:complexType name="subprocessShapeType">
+ <xs:complexContent>
+ <xs:extension base="activityShapeType_1">
+ <xs:sequence>
+ <xs:element name="laneCompRef" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="isExpanded" type="xs:boolean"/>
+ <xs:attribute name="diagramLink" type="xs:IDREF"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="calledSubprocessShape" type="calledSubprocessShapeType" substitutionGroup="activityShape"/>
+ <xs:complexType name="calledSubprocessShapeType">
+ <xs:complexContent>
+ <xs:extension base="activityShapeType_1">
+ <xs:attribute name="isExpanded" type="xs:boolean"/>
+ <xs:attribute name="diagramLink" type="xs:IDREF"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="taskShape" type="activityShapeType_1" substitutionGroup="activityShape"/>
+ <xs:element name="gatewayShape" substitutionGroup="bpmnShape">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="bpmnNodeType">
+ <xs:attribute name="gatewayRef"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="eventShape" substitutionGroup="bpmnShape">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="bpmnNodeType">
+ <xs:attribute name="eventRef"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="dataObjectShape" substitutionGroup="bpmnShape">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="bpmnNodeType">
+ <xs:attribute name="dataObjectRef" type="xs:IDREF"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="dataStoreShape" substitutionGroup="bpmnShape">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="bpmnNodeType">
+ <xs:attribute name="dataStoreRef" type="xs:IDREF"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="dataInputShape" substitutionGroup="bpmnShape">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="bpmnNodeType">
+ <xs:attribute name="dataInputRef" type="xs:IDREF"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="dataOutputShape" substitutionGroup="bpmnShape">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="bpmnNodeType">
+ <xs:attribute name="dataOutputRef" type="xs:IDREF"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="messageShape" substitutionGroup="bpmnShape">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="bpmnNodeType">
+ <xs:attribute name="messageRef" type="xs:IDREF"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="groupShape" substitutionGroup="bpmnShape">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="bpmnNodeType">
+ <xs:attribute name="categoryRef" type="xs:IDREF"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="textAnnotationShape" substitutionGroup="bpmnShape">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="bpmnNodeType">
+ <xs:attribute name="annotationRef" type="xs:IDREF"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="bpmnConnector" type="bpmnConnectorType"/>
+ <xs:complexType name="bpmnConnectorType">
+ <xs:sequence>
+ <xs:element name="bendpoint" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="x" type="xs:double"/>
+ <xs:attribute name="y" type="xs:double"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID" use="required"/>
+ <xs:attribute name="sourceRef" type="xs:IDREF" use="required"/>
+ <xs:attribute name="targetRef" type="xs:IDREF" use="required"/>
+ <xs:attribute name="label" type="xs:string"/>
+ </xs:complexType>
+ <xs:element name="sequenceFlowConnector" substitutionGroup="bpmnConnector">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="bpmnConnectorType">
+ <xs:attribute name="sequenceFlowRef" type="xs:IDREF"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="messageFlowConnector">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="bpmnConnectorType">
+ <xs:attribute name="messageFlowRef" type="xs:IDREF"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="dataAssociationConnector" substitutionGroup="bpmnConnector">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="associationConnectorType">
+ <xs:attribute name="dataAssociationRef" type="xs:IDREF"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="associationConnector" type="associationConnectorType_1" substitutionGroup="bpmnConnector"/>
+ <xs:complexType name="associationConnectorType">
+ <xs:complexContent>
+ <xs:extension base="bpmnConnectorType">
+ <xs:attribute name="isDirectional" type="xs:boolean"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="compensationFlowConnector" type="associationConnectorType_1" substitutionGroup="associationConnector"/>
+ <xs:element name="lane" type="laneCompartmentType"/>
+ <xs:complexType name="laneCompartmentType_1">
+ <xs:complexContent>
+ <xs:extension base="laneCompartmentType"/>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="associationConnectorType_1">
+ <xs:complexContent>
+ <xs:extension base="associationConnectorType">
+ <xs:attribute name="associationRef" type="xs:IDREF"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+</xs:schema>
View
95 src/main/webapp/lib/bpmn20/DiagramDefinition.xsd
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema targetNamespace="http://www.omg.com/dd/1.0.0" xmlns:dd="http://www.omg.com/dd/1.0.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <xsd:element name="namedElement" type="dd:NamedElement"/>
+ <xsd:element name="package" type="dd:Package"/>
+ <xsd:element name="viewDefinition" type="dd:ViewDefinition" abstract="true"/>
+ <xsd:element name="nodeDefinition" type="dd:NodeDefinition" substitutionGroup="dd:viewDefinition"/>
+ <xsd:element name="connectorDefinition" type="dd:ConnectorDefinition" substitutionGroup="dd:viewDefinition"/>
+ <xsd:element name="diagramDefinition" type="dd:DiagramDefinition" substitutionGroup="dd:viewDefinition"/>
+ <xsd:element name="childDefinition" type="dd:ChildDefinition"/>
+ <xsd:element name="styleDefinition" type="dd:StyleDefinition"/>
+ <xsd:element name="constraint" type="dd:Constraint"/>
+
+ <xsd:complexType abstract="true" name="NamedElement">
+ <xsd:attribute name="name" type="xsd:NCName" use="required"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="Package">
+ <xsd:complexContent>
+ <xsd:extension base="dd:NamedElement">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" ref="dd:viewDefinition"/>
+ </xsd:sequence>
+ <xsd:attribute name="nsURI" type="xsd:anyURI" use="required"/>
+ <xsd:attribute name="nsPrefix" type="xsd:NCName" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType abstract="true" name="ViewDefinition">
+ <xsd:complexContent>
+ <xsd:extension base="dd:NamedElement">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" ref="dd:constraint"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" ref="dd:styleDefinition"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" ref="dd:childDefinition"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:NCName" use="required"/>
+ <xsd:attribute name="abstract" type="xsd:boolean"/>
+ <xsd:attribute name="superDefinition" type="xsd:QName"/>
+ <xsd:attribute name="contextType" type="xsd:QName"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="NodeDefinition">
+ <xsd:complexContent>
+ <xsd:extension base="dd:ViewDefinition"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="ConnectorDefinition">
+ <xsd:complexContent>
+ <xsd:extension base="dd:ViewDefinition">
+ <xsd:attribute name="sourceDefinition" type="xsd:QName" use="required"/>
+ <xsd:attribute name="targetDefinition" type="xsd:QName" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="DiagramDefinition">
+ <xsd:complexContent>
+ <xsd:extension base="dd:ViewDefinition"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="ChildDefinition">
+ <xsd:complexContent>
+ <xsd:extension base="dd:NamedElement">
+ <xsd:attribute name="lowerBound" type="xsd:int" default="0" />
+ <xsd:attribute name="upperBound" type="xsd:int" default="-1"/>
+ <xsd:attribute name="typeDefinition" type="xsd:QName" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="StyleDefinition">
+ <xsd:complexContent>
+ <xsd:extension base="dd:NamedElement">
+ <xsd:attribute name="default" type="xsd:string"/>
+ <xsd:attribute name="inherited" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="type" type="xsd:QName" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Constraint">
+ <xsd:complexContent>
+ <xsd:extension base="dd:NamedElement">
+ <xsd:attribute name="condition" type="xsd:string" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+</xsd:schema>
View
77 src/main/webapp/lib/bpmn20/DiagramInterchange.xsd
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema targetNamespace="http://www.omg.com/di/1.0.0" xmlns:dd="http://www.omg.com/dd/1.0.0" xmlns:di="http://www.omg.com/di/1.0.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <xsd:import namespace="http://www.omg.com/dd/1.0.0" schemaLocation="DiagramDefinition.xsd"/>
+
+ <xsd:element name="view" type="di:View"/>
+ <xsd:element name="diagram" type="di:Diagram" substitutionGroup="di:view"/>
+ <xsd:element name="node" type="di:Node" substitutionGroup="di:view"/>
+ <xsd:element name="connector" type="di:Connector" substitutionGroup="di:view"/>
+ <xsd:element name="style" type="di:Style"/>
+ <xsd:element name="bendpoint" type="di:Bendpoint"/>
+
+ <xsd:complexType abstract="true" name="View">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" ref="di:style"/>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" name="child" type="di:Node" form="qualified"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:NCName" use="required"/>
+ <xsd:attribute name="context" type="xsd:anyURI"/>
+ <xsd:attribute name="definition" use="required">
+ <xsd:simpleType>
+ <xsd:list itemType="xsd:QName"/>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="targetConnector">
+ <xsd:simpleType>
+ <xsd:list itemType="xsd:anyURI"/>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="sourceConnector">
+ <xsd:simpleType>
+ <xsd:list itemType="xsd:anyURI"/>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+
+ <xsd:complexType name="Diagram">
+ <xsd:complexContent>
+ <xsd:extension base="di:View">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" ref="di:connector"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Node">
+ <xsd:complexContent>
+ <xsd:extension base="di:View"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Connector">
+ <xsd:complexContent>
+ <xsd:extension base="di:View">
+ <xsd:sequence>
+ <xsd:element maxOccurs="unbounded" minOccurs="0" ref="di:bendpoint"/>
+ </xsd:sequence>
+ <xsd:attribute name="source" type="xsd:anyURI" use="required"/>
+ <xsd:attribute name="target" type="xsd:anyURI" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Style">
+ <xsd:attribute name="name" type="xsd:NCName" use="required"/>
+ <xsd:attribute name="value" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="Bendpoint">
+ <xsd:attribute name="sourceX" type="xsd:int" use="required"/>
+ <xsd:attribute name="sourceY" type="xsd:int" use="required"/>
+ <xsd:attribute name="targetX" type="xsd:int" use="required"/>
+ <xsd:attribute name="targetY" type="xsd:int" use="required"/>
+ </xsd:complexType>
+
+</xsd:schema>
View
1,540 src/main/webapp/lib/bpmn20/Semantic.xsd
@@ -0,0 +1,1540 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema elementFormDefault="qualified" attributeFormDefault="unqualified"
+ xmlns="http://schema.omg.org/spec/BPMN/2.0"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://schema.omg.org/spec/BPMN/2.0">
+
+ <xsd:element name="activity" type="tActivity"/>
+ <xsd:complexType name="tActivity" abstract="true">
+ <xsd:complexContent>
+ <xsd:extension base="tFlowNode">
+ <xsd:sequence>
+ <xsd:element ref="ioSpecification" minOccurs="0" maxOccurs="1"/>
+ <xsd:element ref="property" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="dataInputAssociation" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="dataOutputAssociation" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="activityResource" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="loopCharacteristics" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="isForCompensation" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="startQuantity" type="xsd:integer" default="1"/>
+ <xsd:attribute name="completionQuantity" type="xsd:integer" default="1"/>
+ <xsd:attribute name="default" type="xsd:IDREF" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="activityResource" type="tActivityResource"/>
+ <xsd:complexType name="tActivityResource">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element ref="resourceAssignmentExpression" minOccurs="0" maxOccurs="1"/>
+ <xsd:element ref="resourceParameterBinding" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="resourceRef" type="xsd:QName" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="adHocSubProcess" type="tAdHocSubProcess" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tAdHocSubProcess">
+ <xsd:complexContent>
+ <xsd:extension base="tSubProcess">
+ <xsd:sequence>
+ <xsd:element name="completionCondition" type="tExpression" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="cancelRemainingInstances" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="ordering" type="tAdHocOrdering"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:simpleType name="tAdHocOrdering">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="parallel"/>
+ <xsd:enumeration value="sequential"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:element name="artifact" type="tArtifact"/>
+ <xsd:complexType name="tArtifact" abstract="true">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="assignment" type="tAssignment" />
+ <xsd:complexType name="tAssignment">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element name="from" type="tBaseElementWithMixedContent" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="to" type="tBaseElementWithMixedContent" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="language" type="xsd:anyURI"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="association" type="tAssociation" substitutionGroup="artifact"/>
+ <xsd:complexType name="tAssociation">
+ <xsd:complexContent>
+ <xsd:extension base="tArtifact">
+ <xsd:attribute name="sourceRef" type="xsd:QName" use="required"/>
+ <xsd:attribute name="targetRef" type="xsd:QName" use="required"/>
+ <xsd:attribute name="associationDirection" type="tAssociationDirection" default="none"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:simpleType name="tAssociationDirection">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="one"/>
+ <xsd:enumeration value="both"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:element name="auditing" type="tAuditing"/>
+ <xsd:complexType name="tAuditing">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="baseElement" type="tBaseElement"/>
+ <xsd:complexType name="tBaseElement" abstract="true">
+ <xsd:sequence>
+ <xsd:element ref="documentation" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID" use="optional"/>
+ <xsd:anyAttribute namespace="##other" processContents="lax"/>
+ </xsd:complexType>
+
+ <xsd:element name="baseElementWithMixedContent" type="tBaseElementWithMixedContent"/>
+ <xsd:complexType name="tBaseElementWithMixedContent" abstract="true" mixed="true">
+ <xsd:sequence>
+ <xsd:element ref="documentation" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="category" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID" use="optional"/>
+ <xsd:anyAttribute namespace="##other" processContents="lax"/>
+ </xsd:complexType>
+
+ <xsd:element name="boundaryEvent" type="tBoundaryEvent" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tBoundaryEvent">
+ <xsd:complexContent>
+ <xsd:extension base="tCatchEvent">
+ <xsd:attribute name="cancelActivity" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="attachedToRef" type="xsd:QName" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="businessRuleTask" type="tBusinessRuleTask" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tBusinessRuleTask">
+ <xsd:complexContent>
+ <xsd:extension base="tTask"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="callableElement" type="tCallableElement"/>
+ <xsd:complexType name="tCallableElement">
+ <xsd:complexContent>
+ <xsd:extension base="tRootElement">
+ <xsd:sequence>
+ <xsd:element name="supportedInterfaceRef" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="ioSpecification" minOccurs="0" maxOccurs="1"/>
+ <xsd:element ref="ioBinding" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="callActivity" type="tCallActivity" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tCallActivity">
+ <xsd:complexContent>
+ <xsd:extension base="tActivity">
+ <xsd:attribute name="calledElement" type="xsd:QName" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="callChoreographyActivity" type="tCallChoreographyActivity" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tCallChoreographyActivity">
+ <xsd:complexContent>
+ <xsd:extension base="tChoreographyActivity">
+ <xsd:sequence>
+ <xsd:element ref="participantAssociation" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="calledElement" type="xsd:QName" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="callConversation" type="tCallConversation" substitutionGroup="conversationNode"/>
+ <xsd:complexType name="tCallConversation">
+ <xsd:complexContent>
+ <xsd:extension base="tConversationNode">
+ <xsd:sequence>
+ <xsd:element ref="participantAssociation" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="calledElementRef" type="xsd:QName" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="cancelEventDefinition" type="tCancelEventDefinition" substitutionGroup="eventDefinition"/>
+ <xsd:complexType name="tCancelEventDefinition">
+ <xsd:complexContent>
+ <xsd:extension base="tEventDefinition"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="catchEvent" type="tCatchEvent"/>
+ <xsd:complexType name="tCatchEvent" abstract="true">
+ <xsd:complexContent>
+ <xsd:extension base="tEvent">
+ <xsd:sequence>
+ <xsd:element ref="dataOutput" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="dataOutputAssociation" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="outputSet" minOccurs="0" maxOccurs="1"/>
+ <xsd:element ref="eventDefinition" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="eventDefinitionRef" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="parallelMultiple" type="xsd:boolean" default="false"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="category" type="tCategory" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tCategory">
+ <xsd:complexContent>
+ <xsd:extension base="tRootElement">
+ <xsd:sequence>
+ <xsd:element ref="categoryValue" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="categoryValue" type="tCategoryValue"/>
+ <xsd:complexType name="tCategoryValue">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:attribute name="value" type="xsd:string" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="choreography" type="tChoreography" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tChoreography">
+ <xsd:complexContent>
+ <xsd:extension base="tCallableElement">
+ <xsd:sequence>
+ <xsd:element ref="flowElement" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="artifact" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="messageFlow" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="participant" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="conversation" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="conversationAssociation" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="messageFlowAssociation" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="participantAssociation" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="isClosed" type="xsd:boolean" default="false"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="choreographyActivity" type="tChoreographyActivity"/>
+ <xsd:complexType name="tChoreographyActivity" abstract="true">
+ <xsd:complexContent>
+ <xsd:extension base="tFlowNode">
+ <xsd:sequence>
+ <xsd:element name="participantRef" type="xsd:QName" minOccurs="2" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="initiatingParticipantRef" type="xsd:QName" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="choreographySubProcess" type="tChoreographySubProcess" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tChoreographySubProcess">
+ <xsd:complexContent>
+ <xsd:extension base="tChoreographyActivity">
+ <xsd:sequence>
+ <xsd:element ref="flowElement" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="artifact" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="choreographyTask" type="tChoreographyTask" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tChoreographyTask">
+ <xsd:complexContent>
+ <xsd:extension base="tChoreographyActivity">
+ <xsd:sequence>
+ <xsd:element name="messageFlowRef" type="xsd:QName" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="collaboration" type="tCollaboration" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tCollaboration">
+ <xsd:complexContent>
+ <xsd:extension base="tRootElement">
+ <xsd:sequence>
+ <xsd:element ref="participant" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="messageFlow" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="artifact" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="conversation" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="conversationAssociation" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="participantAssociation" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="messageFlowAssociation" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="isClosed" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="choreographyRef" type="xsd:QName" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="communication" type="tCommunication" substitutionGroup="conversationNode"/>
+ <xsd:complexType name="tCommunication">
+ <xsd:complexContent>
+ <xsd:extension base="tConversationNode">
+ <xsd:sequence>
+ <xsd:element name="messageFlowRef" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="correlationKeyRef" type="xsd:QName" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="compensateEventDefinition" type="tCompensateEventDefinition" substitutionGroup="eventDefinition"/>
+ <xsd:complexType name="tCompensateEventDefinition">
+ <xsd:complexContent>
+ <xsd:extension base="tEventDefinition">
+ <xsd:attribute name="waitForCompletion" type="xsd:boolean"/>
+ <xsd:attribute name="activityRef" type="xsd:QName"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="complexBehaviorDefinition" type="tComplexBehaviorDefinition"/>
+ <xsd:complexType name="tComplexBehaviorDefinition">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element name="condition" type="tFormalExpression" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="event" type="tImplicitThrowEvent" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="complexGateway" type="tComplexGateway" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tComplexGateway">
+ <xsd:complexContent>
+ <xsd:extension base="tGateway">
+ <xsd:sequence>
+ <xsd:element name="activationCondition" type="tExpression" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="default" type="xsd:IDREF"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="conditionalEventDefinition" type="tConditionalEventDefinition" substitutionGroup="eventDefinition"/>
+ <xsd:complexType name="tConditionalEventDefinition">
+ <xsd:complexContent>
+ <xsd:extension base="tEventDefinition">
+ <xsd:sequence>
+ <xsd:element name="condition" type="tExpression"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="conversation" type="tConversation" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tConversation">
+ <xsd:complexContent>
+ <xsd:extension base="tCallableElement">
+ <xsd:sequence>
+ <xsd:element ref="conversationNode" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="participant" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="artifact" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="messageFlow" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="messageFlowRef" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="correlationKey" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="conversationAssociation" type="tConversationAssociation"/>
+ <xsd:complexType name="tConversationAssociation">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element name="messageFlowRef" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="conversationRef" type="xsd:QName"/>
+ <xsd:attribute name="correlationKeyRef" type="xsd:QName"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="conversationNode" type="tConversationNode"/>
+ <xsd:complexType name="tConversationNode" abstract="true">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element name="participantRef" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="correlationKey" type="tCorrelationKey"/>
+ <xsd:complexType name="tCorrelationKey">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element name="correlationPropertyRef" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="correlationProperty" type="tCorrelationProperty" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tCorrelationProperty">
+ <xsd:complexContent>
+ <xsd:extension base="tRootElement">
+ <xsd:sequence>
+ <xsd:element ref="correlationPropertyRetrievalExpression" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="correlationPropertyBinding" type="tCorrelationPropertyBinding"/>
+ <xsd:complexType name="tCorrelationPropertyBinding">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element name="dataPath" type="tFormalExpression" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="correlationPropertyRef" type="xsd:QName" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="correlationPropertyRetrievalExpression" type="tCorrelationPropertyRetrievalExpression"/>
+ <xsd:complexType name="tCorrelationPropertyRetrievalExpression">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element name="messagePath" type="tFormalExpression" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="messageRef" type="xsd:QName" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="correlationSubscription" type="tCorrelationSubscription"/>
+ <xsd:complexType name="tCorrelationSubscription">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element ref="correlationPropertyBinding" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="process" type="xsd:QName" use="required"/>
+ <xsd:attribute name="correlationKeyRef" type="xsd:QName" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="dataAssociation" type="tDataAssociation" />
+ <xsd:complexType name="tDataAssociation" abstract="true">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element name="transformation" type="tFormalExpression" minOccurs="0" maxOccurs="1"/>
+ <xsd:element ref="assignment" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="dataInput" type="tDataInput" />
+ <xsd:complexType name="tDataInput">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element ref="dataState" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="itemSubjectRef" type="xsd:QName" />
+ <xsd:attribute name="isCollection" type="xsd:boolean" default="false"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="dataInputAssociation" type="tDataInputAssociation" />
+ <xsd:complexType name="tDataInputAssociation">
+ <xsd:complexContent>
+ <xsd:extension base="tDataAssociation">
+ <xsd:sequence>
+ <xsd:element name="sourceRef" type="xsd:QName" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element name="targetRef" type="xsd:QName" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="dataObject" type="tDataObject" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tDataObject">
+ <xsd:complexContent>
+ <xsd:extension base="tFlowElement">
+ <xsd:sequence>
+ <xsd:element ref="dataState" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="itemSubjectRef" type="xsd:QName"/>
+ <xsd:attribute name="isCollection" type="xsd:boolean" default="false"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="dataOutput" type="tDataOutput" />
+ <xsd:complexType name="tDataOutput">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element ref="dataState" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="optional" />
+ <xsd:attribute name="itemSubjectRef" type="xsd:QName"/>
+ <xsd:attribute name="isCollection" type="xsd:boolean" default="false"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="dataOutputAssociation" type="tDataOutputAssociation" />
+ <xsd:complexType name="tDataOutputAssociation">
+ <xsd:complexContent>
+ <xsd:extension base="tDataAssociation">
+ <xsd:sequence>
+ <xsd:element name="sourceRef" type="xsd:QName" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element name="targetRef" type="xsd:QName" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="dataState" type="tDataState" />
+ <xsd:complexType name="tDataState">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:attribute name="name" type="xsd:string"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="dataStore" type="tDataStore" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tDataStore">
+ <xsd:complexContent>
+ <xsd:extension base="tRootElement">
+ <xsd:sequence>
+ <xsd:element ref="dataState" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="capacity" type="xsd:integer"/>
+ <xsd:attribute name="isUnlimited" type="xsd:boolean" default="true"/>
+ <xsd:attribute name="itemSubjectRef" type="xsd:QName"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="dataStoreReference" type="tDataStoreReference" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tDataStoreReference">
+ <xsd:complexContent>
+ <xsd:extension base="tFlowElement">
+ <xsd:sequence>
+ <xsd:element ref="dataState" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="itemSubjectRef" type="xsd:QName"/>
+ <xsd:attribute name="dataStoreRef" type="xsd:QName"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="documentation" type="tDocumentation"/>
+ <xsd:complexType name="tDocumentation" mixed="true">
+ <xsd:sequence>
+ <xsd:any namespace="##any" processContents="lax" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID" use="optional"/>
+ </xsd:complexType>
+
+ <xsd:element name="endEvent" type="tEndEvent" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tEndEvent">
+ <xsd:complexContent>
+ <xsd:extension base="tThrowEvent"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="endPoint" type="tEndPoint" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tEndPoint">
+ <xsd:complexContent>
+ <xsd:extension base="tRootElement"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="error" type="tError" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tError">
+ <xsd:complexContent>
+ <xsd:extension base="tRootElement">
+ <xsd:attribute name="structureRef" type="xsd:QName"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="errorEventDefinition" type="tErrorEventDefinition" substitutionGroup="eventDefinition"/>
+ <xsd:complexType name="tErrorEventDefinition">
+ <xsd:complexContent>
+ <xsd:extension base="tEventDefinition">
+ <xsd:attribute name="errorCode" type="xsd:string"/>
+ <xsd:attribute name="errorRef" type="xsd:QName"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="escalation" type="tEscalation" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tEscalation">
+ <xsd:complexContent>
+ <xsd:extension base="tRootElement">
+ <xsd:attribute name="structureRef" type="xsd:QName"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="escalationEventDefinition" type="tEscalationEventDefinition" substitutionGroup="eventDefinition"/>
+ <xsd:complexType name="tEscalationEventDefinition">
+ <xsd:complexContent>
+ <xsd:extension base="tEventDefinition">
+ <xsd:attribute name="escalationCode" type="xsd:string"/>
+ <xsd:attribute name="escalationRef" type="xsd:QName"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="event" type="tEvent" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tEvent" abstract="true">
+ <xsd:complexContent>
+ <xsd:extension base="tFlowNode"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="eventBasedGateway" type="tEventBasedGateway" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tEventBasedGateway">
+ <xsd:complexContent>
+ <xsd:extension base="tGateway">
+ <xsd:attribute name="instantiate" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="eventGatewayType" type="tEventBasedGatewayType" default="Exclusive"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:simpleType name="tEventBasedGatewayType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Exclusive"/>
+ <xsd:enumeration value="Parallel"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:element name="eventDefinition" type="tEventDefinition" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tEventDefinition" abstract="true">
+ <xsd:complexContent>
+ <xsd:extension base="tRootElement"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="exclusiveGateway" type="tExclusiveGateway" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tExclusiveGateway">
+ <xsd:complexContent>
+ <xsd:extension base="tGateway">
+ <xsd:attribute name="default" type="xsd:IDREF" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="expression" type="tExpression"/>
+ <xsd:complexType name="tExpression">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElementWithMixedContent"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="extension" type="tExtension"/>
+ <xsd:complexType name="tExtension">
+ <xsd:sequence>
+ <xsd:element ref="documentation" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="definition" type="xsd:QName"/>
+ <xsd:attribute name="mustUnderstand" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+
+ <xsd:element name="flowElement" type="tFlowElement"/>
+ <xsd:complexType name="tFlowElement" abstract="true">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element ref="auditing" minOccurs="0" maxOccurs="1"/>
+ <xsd:element ref="monitoring" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="categoryValueRef" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="flowNode" type="tFlowNode"/>
+ <xsd:complexType name="tFlowNode" abstract="true">
+ <xsd:complexContent>
+ <xsd:extension base="tFlowElement">
+ <xsd:sequence>
+ <xsd:element name="incoming" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="outgoing" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="formalExpression" type="tFormalExpression" substitutionGroup="expression"/>
+ <xsd:complexType name="tFormalExpression" mixed="true">
+ <xsd:complexContent>
+ <xsd:extension base="tExpression">
+ <xsd:attribute name="language" type="xsd:anyURI" use="optional"/>
+ <xsd:attribute name="evaluatesToTypeRef" type="xsd:QName"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="gateway" type="tGateway" abstract="true"/>
+ <xsd:complexType name="tGateway">
+ <xsd:complexContent>
+ <xsd:extension base="tFlowNode">
+ <xsd:attribute name="gatewayDirection" type="tGatewayDirection" default="unspecified"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:simpleType name="tGatewayDirection">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="unspecified"/>
+ <xsd:enumeration value="converging"/>
+ <xsd:enumeration value="diverging"/>
+ <xsd:enumeration value="mixed"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:element name="globalBusinessRuleTask" type="tGlobalBusinessRuleTask" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tGlobalBusinessRuleTask">
+ <xsd:complexContent>
+ <xsd:extension base="tGlobalTask"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="globalChoreographyTask" type="tGlobalChoreographyTask" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tGlobalChoreographyTask">
+ <xsd:complexContent>
+ <xsd:extension base="tCallableElement">
+ <xsd:sequence>
+ <xsd:element ref="participant" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="messageFlow" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="initiatingParticipantRef" type="xsd:QName"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="globalCommunication" type="tGlobalCommunication" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tGlobalCommunication">
+ <xsd:complexContent>
+ <xsd:extension base="tCallableElement">
+ <xsd:sequence>
+ <xsd:element ref="participant" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="messageFlow" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="correlationKey" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="globalManualTask" type="tGlobalManualTask" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tGlobalManualTask">
+ <xsd:complexContent>
+ <xsd:extension base="tGlobalTask"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="globalScriptTask" type="tGlobalScriptTask" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tGlobalScriptTask">
+ <xsd:complexContent>
+ <xsd:extension base="tGlobalTask">
+ <xsd:sequence>
+ <xsd:element ref="script" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="scriptLanguage" type="xsd:anyURI"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="globalTask" type="tGlobalTask" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tGlobalTask">
+ <xsd:complexContent>
+ <xsd:extension base="tCallableElement">
+ <xsd:sequence>
+ <xsd:element ref="performer" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="globalUserTask" type="tGlobalUserTask" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tGlobalUserTask">
+ <xsd:complexContent>
+ <xsd:extension base="tGlobalTask">
+ <xsd:sequence>
+ <xsd:element ref="rendering" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="implementation" type="tUserTaskImplementation" default="unspecified"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="group" type="tGroup" substitutionGroup="artifact"/>
+ <xsd:complexType name="tGroup">
+ <xsd:complexContent>
+ <xsd:extension base="tArtifact">
+ <xsd:attribute name="categoryRef" type="xsd:QName" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="humanPerformer" type="tHumanPerformer" substitutionGroup="performer"/>
+ <xsd:complexType name="tHumanPerformer">
+ <xsd:complexContent>
+ <xsd:extension base="tPerformer"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="implicitThrowEvent" type="tImplicitThrowEvent" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tImplicitThrowEvent">
+ <xsd:complexContent>
+ <xsd:extension base="tThrowEvent"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="inclusiveGateway" type="tInclusiveGateway" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tInclusiveGateway">
+ <xsd:complexContent>
+ <xsd:extension base="tGateway">
+ <xsd:attribute name="default" type="xsd:IDREF" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="inputSet" type="tInputSet" />
+ <xsd:complexType name="tInputSet">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element name="dataInputRefs" type="xsd:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="optionalInputRefs" type="xsd:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="whileExecutingInputRefs" type="xsd:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="outputSetRefs" type="xsd:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="interface" type="tInterface" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tInterface">
+ <xsd:complexContent>
+ <xsd:extension base="tRootElement">
+ <xsd:sequence>
+ <xsd:element ref="operation" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="intermediateCatchEvent" type="tIntermediateCatchEvent" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tIntermediateCatchEvent">
+ <xsd:complexContent>
+ <xsd:extension base="tCatchEvent"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="intermediateThrowEvent" type="tIntermediateThrowEvent" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tIntermediateThrowEvent">
+ <xsd:complexContent>
+ <xsd:extension base="tThrowEvent"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="ioBinding" type="tInputOutputBinding" />
+ <xsd:complexType name="tInputOutputBinding">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:attribute name="operationRef" type="xsd:QName" use="required"/>
+ <xsd:attribute name="inputDataRef" type="xsd:IDREF" use="required"/>
+ <xsd:attribute name="outputDataRef" type="xsd:IDREF" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="ioSpecification" type="tInputOutputSpecification" />
+ <xsd:complexType name="tInputOutputSpecification">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element ref="dataInput" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="dataOutput" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="inputSet" minOccurs="1" maxOccurs="unbounded"/>
+ <xsd:element ref="outputSet" minOccurs="1" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="itemDefinition" type="tItemDefinition" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tItemDefinition">
+ <xsd:complexContent>
+ <xsd:extension base="tRootElement">
+ <xsd:attribute name="structureRef" type="xsd:QName"/>
+ <xsd:attribute name="isCollection" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="itemKind" type="tItemKind" default="Information"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:simpleType name="tItemKind">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Information"/>
+ <xsd:enumeration value="Physical"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:element name="lane" type="tLane"/>
+ <xsd:complexType name="tLane">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element name="partitionElement" type="tBaseElement" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="flowElementRef" type="xsd:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="childLaneSet" type="tLaneSet" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="partitionElementRef" type="xsd:IDREF"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="laneSet" type="tLaneSet"/>
+ <xsd:complexType name="tLaneSet">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element ref="lane" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="linkEventDefinition" type="tLinkEventDefinition" substitutionGroup="eventDefinition"/>
+ <xsd:complexType name="tLinkEventDefinition">
+ <xsd:complexContent>
+ <xsd:extension base="tEventDefinition">
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="loopCharacteristics" type="tLoopCharacteristics"/>
+ <xsd:complexType name="tLoopCharacteristics" abstract="true">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="manualTask" type="tManualTask" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tManualTask">
+ <xsd:complexContent>
+ <xsd:extension base="tTask"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="message" type="tMessage" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tMessage">
+ <xsd:complexContent>
+ <xsd:extension base="tRootElement">
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="structureRef" type="xsd:QName"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="messageEventDefinition" type="tMessageEventDefinition" substitutionGroup="eventDefinition"/>
+ <xsd:complexType name="tMessageEventDefinition">
+ <xsd:complexContent>
+ <xsd:extension base="tEventDefinition">
+ <xsd:sequence>
+ <xsd:element name="operationRef" type="xsd:QName" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="messageRef" type="xsd:QName"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="messageFlow" type="tMessageFlow"/>
+ <xsd:complexType name="tMessageFlow">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:attribute name="name" type="xsd:string" use="optional"/>
+ <xsd:attribute name="sourceRef" type="xsd:QName" use="required"/>
+ <xsd:attribute name="targetRef" type="xsd:QName" use="required"/>
+ <xsd:attribute name="messageRef" type="xsd:QName"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="messageFlowAssociation" type="tMessageFlowAssociation"/>
+ <xsd:complexType name="tMessageFlowAssociation">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:attribute name="innerMessageFlowRef" type="xsd:QName" use="required"/>
+ <xsd:attribute name="outerMessageFlowRef" type="xsd:QName" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="monitoring" type="tMonitoring"/>
+ <xsd:complexType name="tMonitoring">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="multiInstanceLoopCharacteristics" type="tMultiInstanceLoopCharacteristics" substitutionGroup="loopCharacteristics"/>
+ <xsd:complexType name="tMultiInstanceLoopCharacteristics">
+ <xsd:complexContent>
+ <xsd:extension base="tLoopCharacteristics">
+ <xsd:sequence>
+ <xsd:element name="loopCardinality" type="tExpression" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="loopDataInput" type="tDataInput" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="loopDataOutput" type="tDataOutput" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="inputDataItem" type="tProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="outputDataItem" type="tProperty" minOccurs="0" maxOccurs="1"/>
+ <xsd:element ref="complexBehaviorDefinition" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="completionCondition" type="tExpression" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="isSequential" type="xsd:boolean" default="false"/>
+ <xsd:attribute name="behavior" type="tMultiInstanceFlowCondition" default="all"/>
+ <xsd:attribute name="oneBehaviorEventRef" type="xsd:QName" use="optional"/>
+ <xsd:attribute name="noneBehaviorEventRef" type="xsd:QName" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:simpleType name="tMultiInstanceFlowCondition">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+ <xsd:enumeration value="one"/>
+ <xsd:enumeration value="all"/>
+ <xsd:enumeration value="complex"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <xsd:element name="operation" type="tOperation"/>
+ <xsd:complexType name="tOperation">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element name="inMessageRef" type="xsd:QName" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="outMessageRef" type="xsd:QName" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="errorRef" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="outputSet" type="tOutputSet" />
+ <xsd:complexType name="tOutputSet">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element name="dataOutputRefs" type="xsd:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="optionalOutputRefs" type="xsd:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="whileExecutingOutputRefs" type="xsd:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="inputSetRefs" type="xsd:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="parallelGateway" type="tParallelGateway" substitutionGroup="flowElement"/>
+ <xsd:complexType name="tParallelGateway">
+ <xsd:complexContent>
+ <xsd:extension base="tGateway"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="participant" type="tParticipant"/>
+ <xsd:complexType name="tParticipant">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element name="interfaceRef" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="endPointRef" type="xsd:QName" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element ref="participantMultiplicity" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="partnerRoleRef" type="xsd:QName" use="optional"/>
+ <xsd:attribute name="partnerEntityRef" type="xsd:QName" use="optional"/>
+ <xsd:attribute name="processRef" type="xsd:QName" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="participantAssociation" type="tParticipantAssociation"/>
+ <xsd:complexType name="tParticipantAssociation">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:sequence>
+ <xsd:element name="innerParticipantRef" type="xsd:QName" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="outerParticipantRef" type="xsd:QName" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="participantMultiplicity" type="tParticipantMultiplicity"/>
+ <xsd:complexType name="tParticipantMultiplicity">
+ <xsd:complexContent>
+ <xsd:extension base="tBaseElement">
+ <xsd:attribute name="minimum" type="xsd:int"/>
+ <xsd:attribute name="maximum" type="xsd:int"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="partnerEntity" type="tPartnerEntity" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tPartnerEntity">
+ <xsd:complexContent>
+ <xsd:extension base="tRootElement">
+ <xsd:attribute name="name" type="xsd:string"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="partnerRole" type="tPartnerRole" substitutionGroup="rootElement"/>
+ <xsd:complexType name="tPartnerRole">
+ <xsd:complexContent>
+ <xsd:extension base="tRootElement">
+ <xsd:attribute name="name" type="xsd:string"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:element name="performer" type="tPerformer" substitutionGroup="activityResource"/>
+ <xsd:complexType name="tPerformer">
+ <xsd:complexContent>
+ <xsd:extension base="tActivityResource"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+