The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Tim Stephenson, Wojciech Zurek (TIBCO Software Inc.) -->
<!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by Marin, Mike (FileNet Corporation) -->
<!-- edited with XML Spy v4.0 U (http://www.xmlspy.com) by Robert M Shapiro (Cape Visions) -->
<xsd:schema targetNamespace="http://www.wfmc.org/2004/XPDL2.0alpha" xmlns:xpdl="http://www.wfmc.org/2004/XPDL2.0alpha" xmlns:deprecated="http://www.wfmc.org/2002/XPDL1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xsd:import namespace="http://www.wfmc.org/2002/XPDL1.0" schemaLocation="http://www.wfmc.org/standards/docs/TC-1025_schema_10_xpdl.xsd"/>
	<xsd:element name="Activities">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Activity" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Activity">
		<xsd:annotation>
			<xsd:documentation>BPMN extension</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Description" minOccurs="0"/>
				<xsd:element ref="xpdl:Limit" minOccurs="0"/>
				<xsd:choice minOccurs="0">
					<xsd:element ref="xpdl:Route"/>
					<xsd:element ref="xpdl:Implementation"/>
					<xsd:choice minOccurs="0">
						<xsd:element ref="deprecated:BlockActivity"/>
						<xsd:element ref="xpdl:BlockActivity"/>
					</xsd:choice>
					<xsd:element ref="xpdl:Event"/>
				</xsd:choice>
				<xsd:element ref="xpdl:Transaction" minOccurs="0"/>
				<xsd:element ref="xpdl:Performer" minOccurs="0"/>
				<xsd:element ref="xpdl:Performers" minOccurs="0"/>
				<xsd:element ref="deprecated:StartMode" minOccurs="0"/>
				<xsd:element ref="deprecated:FinishMode" minOccurs="0"/>
				<xsd:element ref="xpdl:Priority" minOccurs="0"/>
				<xsd:choice minOccurs="0">
					<xsd:element ref="deprecated:Deadline" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="xpdl:Deadline" minOccurs="0" maxOccurs="unbounded"/>
				</xsd:choice>
				<xsd:element ref="xpdl:SimulationInformation" minOccurs="0"/>
				<xsd:element ref="xpdl:Icon" minOccurs="0"/>
				<xsd:element ref="xpdl:Documentation" minOccurs="0"/>
				<xsd:element ref="xpdl:TransitionRestrictions" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
				<xsd:element ref="xpdl:DataFields" minOccurs="0"/>
				<xsd:element ref="xpdl:Properties" minOccurs="0"/>
				<xsd:element ref="xpdl:InputSets" minOccurs="0"/>
				<xsd:element ref="xpdl:OutputSets" minOccurs="0"/>
				<xsd:element ref="xpdl:IORules" minOccurs="0"/>
				<xsd:element ref="xpdl:Loop" minOccurs="0"/>
				<xsd:element ref="xpdl:Assignments" minOccurs="0"/>
				<xsd:element ref="xpdl:Object" minOccurs="0"/>
				<xsd:element ref="xpdl:NodeGraphicsInfo" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:attribute name="StartActivity" type="xsd:boolean" use="optional">
				<xsd:annotation>
					<xsd:documentation>Designates the first activity to be executed when the process
						is instantiated. Used when there is no other way to determine this Conflicts
						with BPMN StartEvent and no process definition should use
					both.</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:attribute name="Status" use="optional" default="None">
				<xsd:annotation>
					<xsd:documentation>BPMN: Status values are assigned during execution. Status can
						be treated as a property and used in expressions local to an Activity. It is
						unclear that status belongs in the XPDL document.</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="None"/>
						<xsd:enumeration value="Ready"/>
						<xsd:enumeration value="Active"/>
						<xsd:enumeration value="Cancelled"/>
						<xsd:enumeration value="Aborting"/>
						<xsd:enumeration value="Aborted"/>
						<xsd:enumeration value="Completing"/>
						<xsd:enumeration value="Completed"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name="StartMode">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="Automatic"/>
						<xsd:enumeration value="Manual"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name="FinishMode">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="Automatic"/>
						<xsd:enumeration value="Manual"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name="StartQuantity" type="xsd:integer" use="optional" default="1"/>
			<xsd:attribute name="IsATransaction" type="xsd:boolean" use="optional" default="false"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ActivitySet">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Activities" minOccurs="0"/>
				<xsd:element ref="xpdl:Transitions" minOccurs="0"/>
				<xsd:element ref="xpdl:Object" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional">
				<xsd:annotation>
					<xsd:documentation source="added to XPDL 2.0"/>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:attribute name="AdHoc" type="xsd:boolean" use="optional" default="false">
				<xsd:annotation>
					<xsd:documentation>BPMN: for Embedded subprocess</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:attribute name="AdHocOrdering" use="optional" default="Parallel">
				<xsd:annotation>
					<xsd:documentation>BPMN: for Embedded subprocess</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="Sequential"/>
						<xsd:enumeration value="Parallel"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name="AdHocCompletionCondition" type="xsd:string" use="optional">
				<xsd:annotation>
					<xsd:documentation>BPMN: for Embedded subprocess</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ActivitySets">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:ActivitySet" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ActualParameters">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ActualParameter" type="xpdl:ExpressionType" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Application">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Description" minOccurs="0"/>
				<xsd:element name="Type" type="xpdl:ApplicationType" minOccurs="0"/>
				<xsd:choice>
					<xsd:element ref="xpdl:FormalParameters"/>
					<xsd:element ref="xpdl:ExternalReference" minOccurs="0"/>
				</xsd:choice>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Applications">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Application" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ArrayType">
		<xsd:complexType>
			<xsd:group ref="xpdl:DataTypes"/>
			<xsd:attribute name="LowerIndex" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="UpperIndex" type="xsd:NMTOKEN" use="required"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Artifact">
		<xsd:annotation>
			<xsd:documentation>BPMN: Not further defined here.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence minOccurs="0">
				<xsd:element ref="xpdl:Object" minOccurs="0"/>
				<xsd:element ref="xpdl:DataObject" minOccurs="0"/>
				<xsd:element ref="xpdl:NodeGraphicsInfo" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:attribute name="ArtifactType" use="required">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="DataObject"/>
						<xsd:enumeration value="Group"/>
						<xsd:enumeration value="Annotation"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name="TextAnnotation" type="xsd:string" use="optional"/>
			<xsd:attribute name="Group" type="xsd:string" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Artifacts">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence maxOccurs="unbounded">
				<xsd:element ref="xpdl:Artifact"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Assignment">
		<xsd:annotation>
			<xsd:documentation>BPMN and XPDL</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="Target" type="xpdl:ExpressionType">
					<xsd:annotation>
						<xsd:documentation>lvalue expression of the assignment, in XPDL may be the
							name of a DataField, in BPMN name of a Property, in XPATH a
						reference</xsd:documentation>
					</xsd:annotation>
				</xsd:element>
				<xsd:element name="Expression" type="xpdl:ExpressionType">
					<xsd:annotation>
						<xsd:documentation>rvalue expression of the assignment</xsd:documentation>
					</xsd:annotation>
				</xsd:element>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="AssignTime" use="optional" default="Start">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="Start"/>
						<xsd:enumeration value="End"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Assignments">
		<xsd:annotation>
			<xsd:documentation>BPMN and XPDL</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Assignment" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Association">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence minOccurs="0">
				<xsd:element ref="xpdl:Object"/>
				<xsd:element ref="xpdl:ConnectorGraphicsInfo" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Source" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Target" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:attribute name="AssociationDirection" use="optional" default="None">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="None"/>
						<xsd:enumeration value="To"/>
						<xsd:enumeration value="From"/>
						<xsd:enumeration value="Both"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Associations">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence maxOccurs="unbounded">
				<xsd:element ref="xpdl:Association"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Author">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="BasicType">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Length" minOccurs="0"/>
				<xsd:element ref="xpdl:Precision" minOccurs="0"/>
				<xsd:element ref="xpdl:Scale" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Type" use="required">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="STRING"/>
						<xsd:enumeration value="FLOAT"/>
						<xsd:enumeration value="INTEGER"/>
						<xsd:enumeration value="REFERENCE"/>
						<xsd:enumeration value="DATETIME"/>
						<xsd:enumeration value="BOOLEAN"/>
						<xsd:enumeration value="PERFORMER"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="BlockActivity">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="ActivitySetId" type="xsd:NMTOKEN" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Category">
		<xsd:annotation>
			<xsd:documentation>BPMN (and XPDL??Allows arbitrary grouping of various types of
				elements, for reporting.)</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Categories">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Category" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Codepage">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Condition">
		<xsd:complexType mixed="true">
			<xsd:choice minOccurs="0">
				<xsd:element ref="deprecated:Xpression" minOccurs="0"/>
				<xsd:element name="Expression" type="xpdl:ExpressionType" minOccurs="0"/>
			</xsd:choice>
			<xsd:attribute name="Type">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="CONDITION"/>
						<xsd:enumeration value="OTHERWISE"/>
						<xsd:enumeration value="EXCEPTION"/>
						<xsd:enumeration value="DEFAULTEXCEPTION"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ConformanceClass">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="GraphConformance" use="optional" default="NON_BLOCKED">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="FULL_BLOCKED"/>
						<xsd:enumeration value="LOOP_BLOCKED"/>
						<xsd:enumeration value="NON_BLOCKED"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ConnectorGraphicsInfo">
		<xsd:annotation>
			<xsd:documentation>BPMN and XPDL</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence minOccurs="0">
				<xsd:element ref="xpdl:CoordinatesList" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="ToolId" type="xsd:NMTOKEN" use="optional"/>
			<xsd:attribute name="IsVisible" type="xsd:boolean" use="optional" default="true"/>
			<xsd:attribute name="Page" type="xsd:NMTOKEN" use="optional"/>
			<xsd:attribute name="Style" type="xsd:string" use="optional"/>
			<xsd:attribute name="BorderColor" type="xsd:string" use="optional"/>
			<xsd:attribute name="FillColor" type="xsd:string" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Coordinates">
		<xsd:annotation>
			<xsd:documentation>BPMN and XPDL</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="XCoordinate" type="xsd:double" use="optional"/>
			<xsd:attribute name="YCoordinate" type="xsd:double" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="CoordinatesList">
		<xsd:complexType>
			<xsd:sequence maxOccurs="unbounded">
				<xsd:element ref="xpdl:Coordinates"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Cost">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="CostUnit">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Countrykey">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Created">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="DataField">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:DataType"/>
				<xsd:element name="InitialValue" type="xpdl:ExpressionType" minOccurs="0"/>
				<xsd:element ref="xpdl:Length" minOccurs="0"/>
				<xsd:element ref="xpdl:Description" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:attribute name="IsArray" use="optional" default="FALSE">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="TRUE"/>
						<xsd:enumeration value="FALSE"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name="Correlation" type="xsd:boolean" use="optional" default="false">
				<xsd:annotation>
					<xsd:documentation>Used in BPMN to support mapping to BPEL</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="DataFields">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:DataField" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="DataMappings">
		<xsd:annotation>
			<xsd:documentation>XPDL and BPMN:Maps fields or properties between calling and called
				processes or subprocesses</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:DataMapping" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="DataMapping">
		<xsd:annotation>
			<xsd:documentation>XPDL and BPMN:Maps fields or properties between calling and called
				processes or subprocesses</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Actual" type="xsd:string" use="required"/>
			<xsd:attribute name="Formal" type="xsd:string" use="required"/>
			<xsd:attribute name="Direction" default="IN">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="IN"/>
						<xsd:enumeration value="OUT"/>
						<xsd:enumeration value="INOUT"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="DataObject">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Properties"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:attribute name="State" type="xsd:string" use="optional"/>
			<xsd:attribute name="RequiredForStart" type="xsd:boolean" use="required"/>
			<xsd:attribute name="ProducedAtCompletion" type="xsd:boolean" use="required"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="DataType">
		<xsd:complexType>
			<xsd:group ref="xpdl:DataTypes"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:group name="DataTypes">
		<xsd:choice>
			<xsd:element ref="xpdl:BasicType"/>
			<xsd:element ref="xpdl:DeclaredType"/>
			<xsd:element ref="xpdl:SchemaType"/>
			<xsd:element ref="xpdl:ExternalReference"/>
			<xsd:element ref="xpdl:RecordType"/>
			<xsd:element ref="xpdl:UnionType"/>
			<xsd:element ref="xpdl:EnumerationType"/>
			<xsd:element ref="xpdl:ArrayType"/>
			<xsd:element ref="xpdl:ListType"/>
		</xsd:choice>
	</xsd:group>
	<xsd:element name="Deadline">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="DeadlineDuration" type="xpdl:ExpressionType" minOccurs="0"/>
				<xsd:element name="ExceptionName" minOccurs="0">
					<xsd:annotation>
						<xsd:documentation>This name should match that specified in
							Transition/Condition/Expression</xsd:documentation>
					</xsd:annotation>
					<xsd:complexType>
						<xsd:simpleContent>
							<xsd:extension base="xsd:string">
								<xsd:anyAttribute namespace="##other" processContents="lax"/>
							</xsd:extension>
						</xsd:simpleContent>
					</xsd:complexType>
				</xsd:element>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Execution">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="ASYNCHR"/>
						<xsd:enumeration value="SYNCHR"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="DeclaredType">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:IDREF" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Description">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Documentation">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Duration">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="EndEvent">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:choice>
				<xsd:element ref="xpdl:TriggerResultMessage" minOccurs="0"/>
				<xsd:element ref="xpdl:ResultError" minOccurs="0"/>
				<xsd:element ref="xpdl:ResultCompensation" minOccurs="0"/>
				<xsd:element ref="xpdl:TriggerResultLink" minOccurs="0"/>
				<xsd:element ref="xpdl:ResultMultiple" minOccurs="0"/>
			</xsd:choice>
			<xsd:attribute name="Result" use="optional" default="None">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="None"/>
						<xsd:enumeration value="Message"/>
						<xsd:enumeration value="Error"/>
						<xsd:enumeration value="Cancel"/>
						<xsd:enumeration value="Compensation"/>
						<xsd:enumeration value="Link"/>
						<xsd:enumeration value="Terminate"/>
						<xsd:enumeration value="Multiple"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name="Implementation" use="optional" default="WebService">
				<xsd:annotation>
					<xsd:documentation>Required if the Trigger or Result is
					Message</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="WebService"/>
						<xsd:enumeration value="Other"/>
						<xsd:enumeration value="Unspecified"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="EnumerationType">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:EnumerationValue" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="EnumerationValue">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Name" type="xsd:NMTOKEN" use="required"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Event">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:choice>
				<xsd:element ref="xpdl:StartEvent" minOccurs="0"/>
				<xsd:element ref="xpdl:IntermediateEvent" minOccurs="0"/>
				<xsd:element ref="xpdl:EndEvent" minOccurs="0"/>
			</xsd:choice>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="ExpressionType" mixed="true">
		<xsd:choice minOccurs="0" maxOccurs="unbounded">
			<xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:choice>
		<xsd:attribute name="ScriptGrammar" type="xsd:anyURI" use="optional"/>
		<xsd:anyAttribute namespace="##other" processContents="lax"/>
	</xsd:complexType>
	<xsd:element name="ExtendedAttribute">
		<xsd:complexType mixed="true">
			<xsd:choice minOccurs="0" maxOccurs="unbounded">
				<xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:choice>
			<xsd:attribute name="Name" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Value" type="xsd:string"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="ExtendedAttributesType">
		<xsd:sequence>
			<xsd:element ref="xpdl:ExtendedAttribute" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:anyAttribute namespace="##other" processContents="lax"/>
	</xsd:complexType>
	<xsd:element name="ExternalPackage">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="href" type="xsd:string"/>
			<xsd:attribute name="Id" type="xsd:NMTOKEN"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ExternalPackages">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:ExternalPackage" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ExternalReference">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="xref" type="xsd:NMTOKEN" use="optional"/>
			<xsd:attribute name="location" type="xsd:anyURI" use="required"/>
			<xsd:attribute name="namespace" type="xsd:anyURI" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="FormalParameter">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:DataType"/>
				<xsd:element ref="xpdl:Description" minOccurs="0"/>
				<xsd:element ref="xpdl:Length" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Mode" default="IN">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="IN"/>
						<xsd:enumeration value="OUT"/>
						<xsd:enumeration value="INOUT"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:attribute name="IsArray" type="xsd:boolean" use="optional" default="false"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="FormalParameters">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:choice minOccurs="0">
					<xsd:element ref="deprecated:FormalParameter" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="xpdl:FormalParameter" minOccurs="0" maxOccurs="unbounded"/>
				</xsd:choice>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Icon">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:attribute name="XCOORD" type="xsd:integer" use="optional"/>
					<xsd:attribute name="YCOORD" type="xsd:integer" use="optional"/>
					<xsd:attribute name="WIDTH" type="xsd:integer" use="optional"/>
					<xsd:attribute name="HEIGHT" type="xsd:integer" use="optional"/>
					<xsd:attribute name="SHAPE" use="optional" default="RoundRectangle">
						<xsd:simpleType>
							<xsd:restriction base="xsd:NMTOKEN">
								<xsd:enumeration value="RoundRectangle"/>
								<xsd:enumeration value="Rectangle"/>
								<xsd:enumeration value="Ellipse"/>
								<xsd:enumeration value="Diamond"/>
								<xsd:enumeration value="Ellipse"/>
								<xsd:enumeration value="UpTriangle"/>
								<xsd:enumeration value="DownTriangle"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Implementation">
		<xsd:complexType>
			<xsd:choice minOccurs="0">
				<xsd:element ref="xpdl:No" minOccurs="0"/>
				<xsd:element ref="deprecated:Tool" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="xpdl:Task" minOccurs="0"/>
				<xsd:choice minOccurs="0">
					<xsd:element ref="deprecated:SubFlow"/>
					<xsd:element ref="xpdl:ProcessRef"/>
				</xsd:choice>
				<xsd:element ref="xpdl:Reference" minOccurs="0"/>
			</xsd:choice>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Input">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="ArtifactId" type="xsd:NMTOKEN" use="required"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="InputSet">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Input" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="InputSets">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:InputSet" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="IntermediateEvent">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:choice minOccurs="0">
				<xsd:element ref="xpdl:TriggerResultMessage" minOccurs="0"/>
				<xsd:element ref="xpdl:TriggerTimer" minOccurs="0"/>
				<xsd:element ref="xpdl:ResultError" minOccurs="0"/>
				<xsd:element ref="xpdl:ResultCompensation" minOccurs="0"/>
				<xsd:element ref="xpdl:TriggerRule" minOccurs="0"/>
				<xsd:element ref="xpdl:TriggerResultLink" minOccurs="0"/>
				<xsd:element ref="xpdl:TriggerIntermediateMultiple" minOccurs="0"/>
			</xsd:choice>
			<xsd:attribute name="Trigger" use="required">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="None"/>
						<xsd:enumeration value="Message"/>
						<xsd:enumeration value="Timer"/>
						<xsd:enumeration value="Error"/>
						<xsd:enumeration value="Cancel"/>
						<xsd:enumeration value="Rule"/>
						<xsd:enumeration value="Link"/>
						<xsd:enumeration value="Compensation"/>
						<xsd:enumeration value="Multiple"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name="Implementation" use="optional" default="WebService">
				<xsd:annotation>
					<xsd:documentation>Required if the Trigger is Message</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="WebService"/>
						<xsd:enumeration value="Other"/>
						<xsd:enumeration value="Unspecified"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name="Target" type="xsd:NMTOKEN" use="optional">
				<xsd:annotation>
					<xsd:documentation>A Target MAY be included for the Intermediate Event. The
						Target MUST be an activity (Sub-Process or Task). This means that the
						Intermediate Event is attached to the boundary of the activity and is used
						to signify an exception or compensation for that
					activity.</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="IORules">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="Expression" type="xpdl:ExpressionType" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Join">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Type">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="AND"/>
						<xsd:enumeration value="XOR"/>
						<xsd:enumeration value="XOREVENT"/>
						<xsd:enumeration value="OR"/>
						<xsd:enumeration value="COMPLEX"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name="IncomingCondtion" type="xsd:string"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Lane">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence minOccurs="0">
				<xsd:element ref="xpdl:Object" minOccurs="0"/>
				<xsd:element ref="xpdl:NodeGraphicsInfo" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:attribute name="ParentLane" type="xsd:NMTOKEN" use="optional"/>
			<xsd:attribute name="ParentPool" type="xsd:NMTOKEN" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Lanes">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Lane" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Length">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Limit">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ListType">
		<xsd:complexType>
			<xsd:group ref="xpdl:DataTypes"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Loop">
		<xsd:annotation>
			<xsd:documentation>BPMN (and possibly XPDL)</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:choice>
				<xsd:element ref="xpdl:LoopStandard"/>
				<xsd:element ref="xpdl:LoopMultiInstance"/>
			</xsd:choice>
			<xsd:attribute name="LoopType" use="required">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="Standard"/>
						<xsd:enumeration value="MultiInstance"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="LoopMultiInstance">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="MI_Condition" type="xsd:string" use="required"/>
			<xsd:attribute name="LoopCounter" type="xsd:integer">
				<xsd:annotation>
					<xsd:documentation>This is updated at run time to count the number of executions
						of the loop and is available as a property to be used in expressions. Does
						this belong in the XPDL?</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:attribute name="MI_Ordering" use="required">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="Sequential"/>
						<xsd:enumeration value="Parallel"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name="MI_FlowCondition" use="optional" default="All">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="None"/>
						<xsd:enumeration value="One"/>
						<xsd:enumeration value="All"/>
						<xsd:enumeration value="Complex"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name="ComplexMI_FlowCondition" type="xsd:string" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="LoopStandard">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="LoopCondition" type="xsd:string" use="required"/>
			<xsd:attribute name="LoopCounter" type="xsd:integer">
				<xsd:annotation>
					<xsd:documentation>This is updated at run time to count the number of executions
						of the loop and is available as a property to be used in expressions. Does
						this belong in the XPDL?</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:attribute name="LoopMaximum" type="xsd:integer" use="optional"/>
			<xsd:attribute name="TestTime" use="required">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="Before"/>
						<xsd:enumeration value="After"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Member">
		<xsd:complexType>
			<xsd:group ref="xpdl:DataTypes"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Message">
		<xsd:annotation>
			<xsd:documentation>BPMN: From and To designate the participants</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence minOccurs="0">
				<xsd:element ref="xpdl:Properties"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:attribute name="From" type="xsd:NMTOKEN" use="required">
				<xsd:annotation>
					<xsd:documentation>This must be the name of a Participant</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:attribute name="To" type="xsd:NMTOKEN" use="required">
				<xsd:annotation>
					<xsd:documentation>This must be the name of a participant</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="MessageFlow">
		<xsd:annotation>
			<xsd:documentation>:BPMN: </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence minOccurs="0">
				<xsd:element ref="xpdl:Message" minOccurs="0"/>
				<xsd:element ref="xpdl:Object" minOccurs="0"/>
				<xsd:element ref="xpdl:ConnectorGraphicsInfo" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:attribute name="Source" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Target" type="xsd:NMTOKEN" use="required"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="MessageFlows">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence minOccurs="0" maxOccurs="unbounded">
				<xsd:element ref="xpdl:MessageFlow"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="MessageIn">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Message"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="MessageOut">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Message"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="No">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="NodeGraphicsInfo">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Coordinates" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="ToolId" type="xsd:string" use="optional"/>
			<xsd:attribute name="IsVisible" type="xsd:boolean" use="optional" default="true"/>
			<xsd:attribute name="Page" type="xsd:NMTOKEN" use="optional"/>
			<xsd:attribute name="LaneId" type="xsd:NMTOKEN" use="optional"/>
			<xsd:attribute name="Height" type="xsd:double" use="optional"/>
			<xsd:attribute name="Width" type="xsd:double" use="optional"/>
			<xsd:attribute name="BorderColor" type="xsd:string" use="optional"/>
			<xsd:attribute name="FillColor" type="xsd:string" use="optional"/>
			<xsd:attribute name="Shape" type="xsd:string" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Object">
		<xsd:annotation>
			<xsd:documentation>BPMN: This is used to identify the Activity in an EndEvent
				Compensation???Also used to associate categories and ocumentation with a variety of
				elements</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence minOccurs="0">
				<xsd:element ref="xpdl:Categories" minOccurs="0"/>
				<xsd:element ref="xpdl:Documentation" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required">
				<xsd:annotation>
					<xsd:documentation>This identifies any Object in the BPMN diagram.
					</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Output">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="ArtifactId" type="xsd:NMTOKEN" use="required"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="OutputSet">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Output" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="OutputSets">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:OutputSet" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Package">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:PackageHeader"/>
				<xsd:element ref="xpdl:RedefinableHeader" minOccurs="0"/>
				<xsd:element ref="xpdl:ConformanceClass" minOccurs="0"/>
				<xsd:element ref="xpdl:Script" minOccurs="0"/>
				<xsd:element ref="xpdl:ExternalPackages" minOccurs="0"/>
				<xsd:element ref="xpdl:TypeDeclarations" minOccurs="0"/>
				<xsd:element ref="xpdl:Participants" minOccurs="0"/>
				<xsd:element ref="xpdl:Applications" minOccurs="0"/>
				<xsd:element ref="xpdl:DataFields" minOccurs="0"/>
				<xsd:element ref="xpdl:Pools" minOccurs="0"/>
				<xsd:element ref="xpdl:MessageFlows" minOccurs="0"/>
				<xsd:element ref="xpdl:Associations" minOccurs="0"/>
				<xsd:element ref="xpdl:Artifacts" minOccurs="0"/>
				<xsd:element ref="xpdl:WorkflowProcesses" minOccurs="0"/>
				<xsd:element ref="xpdl:Processes" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="PackageHeader">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:XPDLVersion"/>
				<xsd:element ref="xpdl:Vendor"/>
				<xsd:element ref="xpdl:Created"/>
				<xsd:element ref="xpdl:Description" minOccurs="0"/>
				<xsd:element ref="xpdl:Documentation" minOccurs="0"/>
				<xsd:element ref="xpdl:PriorityUnit" minOccurs="0"/>
				<xsd:element ref="xpdl:CostUnit" minOccurs="0"/>
				<xsd:element ref="xpdl:VendorExtensions" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Participant">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:ParticipantType"/>
				<xsd:element ref="xpdl:Description" minOccurs="0"/>
				<xsd:element ref="xpdl:ExternalReference" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ParticipantType">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Type" use="required">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="RESOURCE_SET"/>
						<xsd:enumeration value="RESOURCE"/>
						<xsd:enumeration value="ROLE"/>
						<xsd:enumeration value="ORGANIZATIONAL_UNIT"/>
						<xsd:enumeration value="HUMAN"/>
						<xsd:enumeration value="SYSTEM"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Participants">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Participant" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Performer">
		<xsd:annotation>
			<xsd:documentation>A String or Expression designating the Performer</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Performers">
		<xsd:annotation>
			<xsd:documentation>BPMN and XPDL</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Performer" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Pool">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Lanes" minOccurs="0"/>
				<xsd:element ref="xpdl:Object" minOccurs="0"/>
				<xsd:element ref="xpdl:NodeGraphicsInfo" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:attribute name="Orientation" use="optional" default="HORIZONTAL">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="HORIZONTAL"/>
						<xsd:enumeration value="VERTICAL"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name="Process" type="xsd:NMTOKEN" use="optional"/>
			<xsd:attribute name="Participant" type="xsd:NMTOKEN" use="optional"/>
			<xsd:attribute name="BoundaryVisible" type="xsd:boolean" use="required"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Pools">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Pool" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Precision" type="xsd:short"/>
	<xsd:element name="Priority">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="PriorityUnit">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Process" type="xpdl:ProcessType"/>
	<xsd:element name="Processes">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Process" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ProcessHeader">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Created" minOccurs="0"/>
				<xsd:element ref="xpdl:Description" minOccurs="0"/>
				<xsd:element ref="xpdl:Priority" minOccurs="0"/>
				<xsd:element ref="xpdl:Limit" minOccurs="0"/>
				<xsd:element ref="xpdl:ValidFrom" minOccurs="0"/>
				<xsd:element ref="xpdl:ValidTo" minOccurs="0"/>
				<xsd:element ref="xpdl:TimeEstimation" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="DurationUnit">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="Y"/>
						<xsd:enumeration value="M"/>
						<xsd:enumeration value="D"/>
						<xsd:enumeration value="h"/>
						<xsd:enumeration value="m"/>
						<xsd:enumeration value="s"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="ProcessType">
		<xsd:sequence>
			<xsd:element ref="xpdl:ProcessHeader"/>
			<xsd:element ref="xpdl:RedefinableHeader" minOccurs="0"/>
			<xsd:element ref="xpdl:FormalParameters" minOccurs="0"/>
			<xsd:choice minOccurs="0">
				<xsd:annotation>
					<xsd:documentation>changes xpdl 1.0 order</xsd:documentation>
				</xsd:annotation>
				<xsd:sequence minOccurs="0">
					<xsd:element ref="xpdl:Participants" minOccurs="0"/>
					<xsd:element ref="xpdl:Applications" minOccurs="0"/>
					<xsd:element ref="xpdl:DataFields" minOccurs="0"/>
				</xsd:sequence>
				<xsd:sequence minOccurs="0">
					<xsd:element ref="deprecated:DataFields" minOccurs="0"/>
					<xsd:element ref="deprecated:Participants" minOccurs="0"/>
					<xsd:element ref="deprecated:Applications" minOccurs="0"/>
				</xsd:sequence>
			</xsd:choice>
			<xsd:element ref="xpdl:ActivitySets" minOccurs="0"/>
			<xsd:element ref="xpdl:Activities" minOccurs="0"/>
			<xsd:element ref="xpdl:Transitions" minOccurs="0"/>
			<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			<xsd:element ref="xpdl:Assignments" minOccurs="0"/>
			<xsd:element ref="xpdl:Properties" minOccurs="0"/>
			<xsd:element ref="xpdl:Object" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
		<xsd:attribute name="Name" type="xsd:string" use="optional"/>
		<xsd:attribute name="AccessLevel" use="optional" default="PUBLIC">
			<xsd:simpleType>
				<xsd:restriction base="xsd:NMTOKEN">
					<xsd:enumeration value="PUBLIC"/>
					<xsd:enumeration value="PRIVATE"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="ProcessType" use="optional" default="None">
			<xsd:annotation>
				<xsd:documentation>BPMN:</xsd:documentation>
			</xsd:annotation>
			<xsd:simpleType>
				<xsd:restriction base="xsd:NMTOKEN">
					<xsd:enumeration value="None"/>
					<xsd:enumeration value="Private"/>
					<xsd:enumeration value="Abstract"/>
					<xsd:enumeration value="Collaboration"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="Status" use="optional" default="None">
			<xsd:annotation>
				<xsd:documentation>BPMN: Status values are assigned during execution. Status can be
					treated as a property and used in expressions local to a Process. It is unclear
					that status belongs in the XPDL document.</xsd:documentation>
			</xsd:annotation>
			<xsd:simpleType>
				<xsd:restriction base="xsd:NMTOKEN">
					<xsd:enumeration value="None"/>
					<xsd:enumeration value="Ready"/>
					<xsd:enumeration value="Active"/>
					<xsd:enumeration value="Cancelled"/>
					<xsd:enumeration value="Aborting"/>
					<xsd:enumeration value="Aborted"/>
					<xsd:enumeration value="Completing"/>
					<xsd:enumeration value="Completed"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="SuppressJoinFailure" type="xsd:boolean" use="optional" default="false"/>
		<xsd:attribute name="EnableInstanceCompensation" type="xsd:boolean" use="optional" default="false"/>
		<xsd:attribute name="AdHoc" type="xsd:boolean" use="optional" default="false">
			<xsd:annotation>
				<xsd:documentation>BPMN: for Embedded subprocess</xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="AdHocOrdering" use="optional" default="Parallel">
			<xsd:annotation>
				<xsd:documentation>BPMN: for Embedded subprocess</xsd:documentation>
			</xsd:annotation>
			<xsd:simpleType>
				<xsd:restriction base="xsd:NMTOKEN">
					<xsd:enumeration value="Sequential"/>
					<xsd:enumeration value="Parallel"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="AdHocCompletionCondition" type="xsd:string" use="optional">
			<xsd:annotation>
				<xsd:documentation>BPMN: for Embedded subprocess</xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:anyAttribute namespace="##other" processContents="lax"/>
	</xsd:complexType>
	<xsd:element name="Property">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:attribute name="Type" type="xsd:string" use="required"/>
			<xsd:attribute name="Correlation" type="xsd:boolean" use="optional" default="false"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Properties">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Property" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="RecordType">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Member" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="RedefinableHeader">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Author" minOccurs="0"/>
				<xsd:element ref="xpdl:Version" minOccurs="0"/>
				<xsd:element ref="xpdl:Codepage" minOccurs="0"/>
				<xsd:element ref="xpdl:Countrykey" minOccurs="0"/>
				<xsd:element ref="xpdl:Responsibles" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="PublicationStatus">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="UNDER_REVISION"/>
						<xsd:enumeration value="RELEASED"/>
						<xsd:enumeration value="UNDER_TEST"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Reference">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="ActivityId" type="xsd:NMTOKEN" use="required">
				<xsd:annotation>
					<xsd:documentation>Should be the Id of an activity which invokes a subflow
						(independent or embedded) or a task. In the BPMN speck this atribute is
						called SubProcessRef</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Responsible">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Responsibles">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Responsible" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ResultCompensation">
		<xsd:annotation>
			<xsd:documentation>BPMN: Must be present if if Trigger or ResultType is
			Compensation.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="ActivityId" type="xsd:NMTOKEN" use="optional">
				<xsd:annotation>
					<xsd:documentation>This supplies the Id of the Activity to be Compensated. Used
						only for intermediate events or end events in the seuence flow. Events
						attached to the boundary of an activity already know the
					Id.</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ResultError">
		<xsd:annotation>
			<xsd:documentation>BPMN: Must be present if Trigger or ResultType is
			error.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="ErrorCode" type="xsd:string" use="required"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ResultMultiple">
		<xsd:annotation>
			<xsd:documentation>BPMN: Must be present if ResultType is Multiple.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:annotation>
					<xsd:documentation>at least two results must be present</xsd:documentation>
				</xsd:annotation>
				<xsd:element ref="xpdl:TriggerResultMessage" minOccurs="0"/>
				<xsd:element ref="xpdl:TriggerResultLink" minOccurs="0"/>
				<xsd:element ref="xpdl:ResultCompensation" minOccurs="0"/>
				<xsd:element ref="xpdl:ResultError" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Route">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="GatewayType" use="optional" default="XOR">
				<xsd:annotation>
					<xsd:documentation>Used when needed for BPMN Gateways. Gate and sequence
						information is associated with the Transition Element.</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="XOR"/>
						<xsd:enumeration value="OR"/>
						<xsd:enumeration value="Complex"/>
						<xsd:enumeration value="AND"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name="Instantiate" type="xsd:boolean" use="optional" default="false"/>
			<xsd:attribute name="MarkerVisible" type="xsd:boolean" use="optional" default="false">
				<xsd:annotation>
					<xsd:documentation>Applicable only to XOR Gateways</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Rule">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="Expression" type="xpdl:ExpressionType"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Scale" type="xsd:short"/>
	<xsd:element name="SchemaType">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Script">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Type" type="xsd:string" use="required"/>
			<xsd:attribute name="Version" type="xsd:string" use="optional"/>
			<xsd:attribute name="Grammar" type="xsd:anyURI" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="SimulationInformation">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Cost"/>
				<xsd:element ref="xpdl:TimeEstimation"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Instantiation">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="ONCE"/>
						<xsd:enumeration value="MULTIPLE"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Split">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:TransitionRefs" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Type">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="AND"/>
						<xsd:enumeration value="XOR"/>
						<xsd:enumeration value="XOREVENT"/>
						<xsd:enumeration value="OR"/>
						<xsd:enumeration value="COMPLEX"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name="OutgoingCondition" type="xsd:string"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="StartEvent">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:choice minOccurs="0">
				<xsd:element ref="xpdl:TriggerResultMessage" minOccurs="0"/>
				<xsd:element ref="xpdl:TriggerTimer" minOccurs="0"/>
				<xsd:element ref="xpdl:TriggerRule" minOccurs="0"/>
				<xsd:element ref="xpdl:TriggerResultLink" minOccurs="0"/>
				<xsd:element ref="xpdl:TriggerMultiple" minOccurs="0"/>
			</xsd:choice>
			<xsd:attribute name="Trigger" use="required">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="None"/>
						<xsd:enumeration value="Message"/>
						<xsd:enumeration value="Timer"/>
						<xsd:enumeration value="Rule"/>
						<xsd:enumeration value="Link"/>
						<xsd:enumeration value="Multiple"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name="Implementation" use="optional" default="WebService">
				<xsd:annotation>
					<xsd:documentation>Required if the Trigger is Message</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="WebService"/>
						<xsd:enumeration value="Other"/>
						<xsd:enumeration value="Unspecified"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ProcessRef">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:choice minOccurs="0">
					<xsd:element ref="xpdl:ActualParameters"/>
					<xsd:element ref="xpdl:DataMappings"/>
				</xsd:choice>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:string" use="required">
				<xsd:annotation>
					<xsd:documentation>Used in XPDL and BPMN. In BPMN is equivalent to ProcessRef
						attribute.</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:attribute name="Execution" use="optional" default="SYNCHR">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="ASYNCHR"/>
						<xsd:enumeration value="SYNCHR"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name="PackageRef" type="xsd:NMTOKEN" use="optional">
				<xsd:annotation>
					<xsd:documentation>BPMN: needed for independent subprocess</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:attribute name="InstanceDataField" type="xsd:string" use="optional">
				<xsd:annotation>
					<xsd:documentation>Used to store the instance id of the subflow instantiated by
						the activity. This is then available later on (e.g. for correlation,
						messaging etc.) especially in the case of asynchronous
					invocation.</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Task">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:choice>
				<xsd:element ref="xpdl:TaskService"/>
				<xsd:element ref="xpdl:TaskReceive"/>
				<xsd:element ref="xpdl:TaskManual"/>
				<xsd:element ref="xpdl:TaskReference"/>
				<xsd:element ref="xpdl:TaskScript"/>
				<xsd:element ref="xpdl:TaskSend"/>
				<xsd:element ref="xpdl:TaskUser"/>
				<xsd:element ref="xpdl:TaskApplication"/>
			</xsd:choice>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TaskManual">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Performers"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TaskReceive">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Message"/>
				<xsd:element ref="xpdl:WebService" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Instantiate" type="xsd:boolean" use="required"/>
			<xsd:attribute name="Implementation" use="optional" default="WebService">
				<xsd:annotation>
					<xsd:documentation>Required if the Task is Receive</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="WebService"/>
						<xsd:enumeration value="Other"/>
						<xsd:enumeration value="Unspecified"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TaskReference">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="TaskRef" type="xsd:NMTOKEN" use="required"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TaskSend">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Message"/>
				<xsd:element ref="xpdl:WebService" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Implementation" use="optional" default="WebService">
				<xsd:annotation>
					<xsd:documentation>Required if the Task is Send</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="WebService"/>
						<xsd:enumeration value="Other"/>
						<xsd:enumeration value="Unspecified"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TaskService">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:MessageIn"/>
				<xsd:element ref="xpdl:MessageOut"/>
				<xsd:element ref="xpdl:WebService" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Implementation" use="optional" default="WebService">
				<xsd:annotation>
					<xsd:documentation>Required if the Task is Service</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="WebService"/>
						<xsd:enumeration value="Other"/>
						<xsd:enumeration value="Unspecified"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TaskScript">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="Script" type="xpdl:ExpressionType">
					<xsd:annotation>
						<xsd:documentation>BPMN</xsd:documentation>
					</xsd:annotation>
				</xsd:element>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TaskUser">
		<xsd:annotation>
			<xsd:documentation>BPMN</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Performers"/>
				<xsd:element ref="xpdl:MessageIn"/>
				<xsd:element ref="xpdl:MessageOut"/>
				<xsd:element ref="xpdl:WebService" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Implementation" use="optional" default="WebService">
				<xsd:annotation>
					<xsd:documentation>Required if the Task is User</xsd:documentation>
				</xsd:annotation>
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="WebService"/>
						<xsd:enumeration value="Other"/>
						<xsd:enumeration value="Unspecified"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TimeEstimation">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:WaitingTime" minOccurs="0"/>
				<xsd:element ref="xpdl:WorkingTime" minOccurs="0"/>
				<xsd:element ref="xpdl:Duration" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TaskApplication">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:choice minOccurs="0">
					<xsd:element ref="xpdl:ActualParameters"/>
					<xsd:element ref="xpdl:DataMappings"/>
				</xsd:choice>
				<xsd:element ref="xpdl:Description" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:attribute name="PackageRef" type="xsd:NMTOKEN" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Transaction">
		<xsd:annotation>
			<xsd:documentation>BPMN: If SubProcess is a transaction then this is
			required.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="TransactionId" type="xsd:string" use="required"/>
			<xsd:attribute name="TransactionProtocol" type="xsd:string" use="required"/>
			<xsd:attribute name="TransactionMethod" use="required">
				<xsd:simpleType>
					<xsd:restriction base="xsd:NMTOKEN">
						<xsd:enumeration value="Compensate"/>
						<xsd:enumeration value="Store"/>
						<xsd:enumeration value="Image"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Transition">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Condition" minOccurs="0"/>
				<xsd:element ref="xpdl:Description" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
				<xsd:element ref="xpdl:Assignments" minOccurs="0"/>
				<xsd:element ref="xpdl:Object" minOccurs="0"/>
				<xsd:element ref="xpdl:ConnectorGraphicsInfo" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="From" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="To" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:attribute name="Quantity" type="xsd:int" use="optional" default="1">
				<xsd:annotation>
					<xsd:documentation>Used only in BPMN. Specifies number of tokens on outgoing
						transition.</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TransitionRef">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TransitionRefs">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:TransitionRef" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TransitionRestriction">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Join" minOccurs="0"/>
				<xsd:element ref="xpdl:Split" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TransitionRestrictions">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:TransitionRestriction" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Transitions">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Transition" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TriggerResultLink">
		<xsd:annotation>
			<xsd:documentation>BPMN: if the Trigger or Result Type is Link then this must be
				present.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="LinkId" type="xsd:NMTOKEN" use="required"/>
			<xsd:attribute name="ProcessRef" type="xsd:NMTOKEN" use="required">
				<xsd:annotation>
					<xsd:documentation>This must identify a Process. Should be the Id of a
					process.</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TriggerResultMessage">
		<xsd:annotation>
			<xsd:documentation>BPMN: If the Trigger or Result Type is Message then this must be
				present</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Message"/>
				<xsd:element ref="xpdl:WebService" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TriggerIntermediateMultiple">
		<xsd:annotation>
			<xsd:documentation>BPMN: if the TriggerType is Multiple then this must be
			present.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:annotation>
					<xsd:documentation>BPMN: For Multiple, at least two triggers must be
					present.</xsd:documentation>
				</xsd:annotation>
				<xsd:element ref="xpdl:TriggerResultMessage" minOccurs="0"/>
				<xsd:element ref="xpdl:TriggerTimer" minOccurs="0"/>
				<xsd:element ref="xpdl:ResultError" minOccurs="0"/>
				<xsd:element ref="xpdl:ResultCompensation" minOccurs="0"/>
				<xsd:element ref="xpdl:TriggerRule" minOccurs="0"/>
				<xsd:element ref="xpdl:TriggerResultLink" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TriggerMultiple">
		<xsd:annotation>
			<xsd:documentation>BPMN: if the TriggerType is Multiple then this must be
			present.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:annotation>
					<xsd:documentation>BPMN: For Multiple, at least two triggers must be
					present.</xsd:documentation>
				</xsd:annotation>
				<xsd:element ref="xpdl:TriggerResultMessage" minOccurs="0"/>
				<xsd:element ref="xpdl:TriggerTimer" minOccurs="0"/>
				<xsd:element ref="xpdl:TriggerRule" minOccurs="0"/>
				<xsd:element ref="xpdl:TriggerResultLink" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TriggerRule">
		<xsd:annotation>
			<xsd:documentation>BPMN: if the TriggerType is Rule then this must be
			present.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="RuleName" type="xsd:string" use="required">
				<xsd:annotation>
					<xsd:documentation>This is the nameof a Rule element.</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TriggerTimer">
		<xsd:annotation>
			<xsd:documentation>BPMN: If the Trigger Type is Timer then this must be
			present</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="TimeDate" type="xsd:string" use="optional">
				<xsd:annotation>
					<xsd:documentation>One of TimeDate or TimeCycle must be
					present</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:attribute name="TimeCycle" type="xsd:string" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TypeDeclaration">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:group ref="xpdl:DataTypes"/>
				<xsd:element ref="xpdl:Description" minOccurs="0"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Id" type="xsd:ID" use="required"/>
			<xsd:attribute name="Name" type="xsd:string" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="TypeDeclarations">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:TypeDeclaration" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="UnionType">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:Member" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ValidFrom">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ValidTo">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Vendor">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="VendorExtension">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="ToolId" type="xsd:string" use="required"/>
			<xsd:attribute name="schemaLocation" type="xsd:anyURI" use="required"/>
			<xsd:attribute name="extensionDescription" type="xsd:anyURI" use="optional"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="VendorExtensions">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:VendorExtension" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Version">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="WaitingTime">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="WebService">
		<xsd:annotation>
			<xsd:documentation>BPMN:: If the Implementation is a WebService this is
			required.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="Participant" type="xsd:NMTOKEN" use="required">
				<xsd:annotation>
					<xsd:documentation>Must be the name of a Participant: Note, this will map to the
						BPEL4WS partnerLink.</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:attribute name="Interface" type="xsd:string" use="required">
				<xsd:annotation>
					<xsd:documentation>(aka portType)</xsd:documentation>
				</xsd:annotation>
			</xsd:attribute>
			<xsd:attribute name="Operation" type="xsd:string" use="required"/>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="WorkflowProcess" type="xpdl:ProcessType"/>
	<xsd:element name="WorkflowProcesses">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="xpdl:WorkflowProcess" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
			</xsd:sequence>
			<xsd:anyAttribute namespace="##other" processContents="lax"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="WorkingTime">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="XPDLVersion">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base="xsd:string">
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="ApplicationType">
		<xsd:choice>
			<xsd:element name="Ejb">
				<xsd:annotation>
					<xsd:documentation>Call EJB component -- There can be max one formal parameter
						that is OUT, if it exists it has to be the last formal parameter. no INOUT
						formal parameters</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="JndiName" type="xsd:string"/>
						<xsd:element name="HomeClass" type="xsd:string"/>
						<xsd:element name="Method" type="xsd:string"/>
						<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
					</xsd:sequence>
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Pojo">
				<xsd:annotation>
					<xsd:documentation>Call method on Java class -- There can be max one formal
						parameter that is OUT, if it exists it has to be the last formal parameter.
						no INOUT formal parameters</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="Class" type="xsd:string"/>
						<xsd:element name="Method" type="xsd:string"/>
						<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
					</xsd:sequence>
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Xslt">
				<xsd:annotation>
					<xsd:documentation>Execute Tranformation -- Formal Parameters restrictions: one
						IN and one OUT formal parameters or only one INOUT formal
					parameter</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
					</xsd:sequence>
					<xsd:attribute name="location" type="xsd:anyURI"/>
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Script">
				<xsd:annotation>
					<xsd:documentation>Execute Script -- No additional restrictions for formal
						parameters. The suggestion: every Formal Parameter should be registered in
						the script scope as a global variable</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="Expression" type="xpdl:ExpressionType" minOccurs="0"/>
						<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
					</xsd:sequence>
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="WebService">
				<xsd:annotation>
					<xsd:documentation>For WSDL 1.2 -- Invoke WebSerivce, all IN Fprmal Parameters
						will be mapped to input message, all OUT Formal Parameters will be maped
						from output message</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="WSDLLocation" type="xsd:anyURI">
							<xsd:annotation>
								<xsd:documentation>The URI of the WSDL file for the Web
								service</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
						<xsd:element name="ServiceName" type="xsd:string">
							<xsd:annotation>
								<xsd:documentation>The service Name which is specified in the WSDL
									document</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
						<xsd:element name="PortName" type="xsd:string">
							<xsd:annotation>
								<xsd:documentation>The name of Port which needs to be
								connected</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
						<xsd:element name="OperationName" type="xsd:string">
							<xsd:annotation>
								<xsd:documentation>The name of Operation which needs to be
								invoked</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
						<xsd:element name="InputMsgName" type="xsd:string">
							<xsd:annotation>
								<xsd:documentation>The name of inputMessage as defined in the WSDL
									which will help in uniquely identifying the operation to be
									invoked</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
						<xsd:element name="OutputMsgName" type="xsd:string">
							<xsd:annotation>
								<xsd:documentation>The name of inputMessage as defined in the WSDL
									which will help in uniquely identifying the operation to be
									invoked</xsd:documentation>
							</xsd:annotation>
						</xsd:element>
						<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
					</xsd:sequence>
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="BusinessRule">
				<xsd:annotation>
					<xsd:documentation>Invoke business rule</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="RuleName" type="xsd:string"/>
						<xsd:element name="Location" type="xsd:anyURI"/>
						<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
					</xsd:sequence>
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="Form">
				<xsd:annotation>
					<xsd:documentation>Placeholder for all form related additional information.
					</xsd:documentation>
				</xsd:annotation>
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="FormLayout" type="xsd:anyType" minOccurs="0"/>
						<xsd:element name="ExtendedAttributes" type="xpdl:ExtendedAttributesType" minOccurs="0"/>
					</xsd:sequence>
					<xsd:anyAttribute namespace="##other" processContents="lax"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:choice>
	</xsd:complexType>
</xsd:schema>