OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-bp message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [ebBP] 11/30/2004: Working Annotated Schema


The element/type annotations in this schema (18 Nov) are still in draft. 
I encourage everyone's comments on them as I get them ready to hand over 
to JJ Dubray for technical specification integration. If you have any 
questions, please advise the team this week if at all possible. Thank you.

Regards.
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Monica J. Martin (Web Services Choreography WG) -->
<xsd:schema targetNamespace="http://www.oasis-open.org/committees/ebBP/BPS/2.0"; xmlns:xi="http://www.w3.org/2001/XInclude"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns="http://www.oasis-open.org/committees/ebBP/BPS/2.0"; elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xsd:import namespace="http://www.w3.org/XML/1998/namespace"; schemaLocation="http://www.w3.org/2001/xml.xsd"/>
	<xsd:element name="ProcessSpecification">
		<xsd:annotation>
			<xsd:documentation>Root element of a process specification document that has a globally unique identity. The process specification element can specify the version of the technical specification used and the BPSS instance version related to the target BPSS (schema). </xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="ProcessSpecificationType">
					<xsd:attribute name="specificationVersion" type="xsd:NMTOKEN" use="optional"/>
					<xsd:attribute name="instanceVersion" type="xsd:string" use="optional"/>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
		<xsd:unique name="ProcessSpecification-ID">
			<xsd:selector xpath="."/>
			<xsd:field xpath="nameID"/>
		</xsd:unique>
	</xsd:element>
	<xsd:complexType name="ProcessSpecificationType">
		<xsd:annotation>
			<xsd:documentation>Type for the root element of a process specification document.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="AttributeSubstitution" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="ExternalRoles" minOccurs="0"/>
			<xsd:element ref="Signal" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Variable" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:choice minOccurs="0" maxOccurs="unbounded">
				<xsd:element ref="Package" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="BusinessDocument" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="BusinessTransactionHead" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="BinaryCollaboration" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="MultiPartyCollaboration" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="BusinessCollaboration" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="OperationMapping" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:choice>
		</xsd:sequence>
		<xsd:attributeGroup ref="name"/>
		<xsd:attribute name="uuid" type="xsd:string" use="required"/>
	</xsd:complexType>
	<xsd:element name="Package">
		<xsd:annotation>
			<xsd:documentation>Defines a hierarchical name scope containing reusable elements.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="PackageType"/>
			</xsd:complexContent>
		</xsd:complexType>
		<xsd:unique name="Package-ID">
			<xsd:selector xpath="."/>
			<xsd:field xpath="nameID"/>
		</xsd:unique>
	</xsd:element>
	<xsd:complexType name="PackageType">
		<xsd:annotation>
			<xsd:documentation>Type for a hierarchical name scope containing reusable elements.</xsd:documentation>
		</xsd:annotation>
		<xsd:choice maxOccurs="unbounded">
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="AttributeSubstitution" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="ExternalRoles" minOccurs="0"/>
			<xsd:element ref="Signal" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Variable" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:choice minOccurs="0" maxOccurs="unbounded">
				<xsd:element ref="Package" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="BusinessDocument" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="BusinessTransactionHead" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="BinaryCollaboration" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="MultiPartyCollaboration" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="BusinessCollaboration" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="OperationMapping" minOccurs="0"/>
			</xsd:choice>
		</xsd:choice>
		<xsd:attributeGroup ref="name"/>
		<xsd:attribute name="parentRef" type="xsd:IDREF" use="optional"/>
	</xsd:complexType>
	<xsd:element name="Documentation" type="DocumentationType">
		<xsd:annotation>
			<xsd:documentation>Defines user documentation for any element. Must be the first element of its container. Note: xml:lang added in v2.0.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="DocumentationType">
		<xsd:annotation>
			<xsd:documentation>Type for the user documentation for any element.</xsd:documentation>
		</xsd:annotation>
		<xsd:simpleContent>
			<xsd:extension base="xsd:string">
				<xsd:attribute name="uri" type="xsd:anyURI"/>
				<xsd:attribute ref="xml:lang"/>
			</xsd:extension>
		</xsd:simpleContent>
	</xsd:complexType>
	<!--AtributeSubstitution allowed to "edit" references (IDREFS)  or other attribute values. -->
	<xsd:element name="AttributeSubstitution">
		<xsd:annotation>
			<xsd:documentation>Attribute or document value should be used in place of some value in an existing process specification. Attribute substitution can be used for document substitution in v2.0.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="AttributeSubstitutionType"/>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="AttributeSubstitutionType">
		<xsd:annotation>
			<xsd:documentation>Type for the attribute or document value used for substitution.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="nameIDRef" type="xsd:IDREF" use="required"/>
		<xsd:attribute name="attributeName" type="xsd:NMTOKEN" use="required"/>
		<xsd:attribute name="value" type="xsd:string" use="required"/>
	</xsd:complexType>
	<!--Include element is replaced by XInclude's include element. This include element is not imported into our schema, but should be processed (and replaced by the referenced XML) prior to validation of instances-->
	<xsd:element name="ExternalRoles" type="ExternalRolesType">
		<xsd:annotation>
			<xsd:documentation>External role element maps to the actual roles used in a collaboration (for example, an external role maps to a Business Collaboration).</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="ExternalRolesType">
		<xsd:annotation>
			<xsd:documentation>Types for the external role that maps to actual roles in a collaboration.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="BusinessPartnerRole" minOccurs="2" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element ref="Documentation" minOccurs="0"/>
						<xsd:element name="Performs" type="PerformsType" maxOccurs="unbounded"/>
					</xsd:sequence>
					<xsd:attributeGroup ref="name"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:group name="collaborationGroup">
		<xsd:annotation>
			<xsd:documentation>The group that includes the various types of Collaborations. Note: In v2.0, the Business Collaboration is introduced and will replace Binary and MultiParty Collaboration in a future version.</xsd:documentation>
		</xsd:annotation>
		<xsd:choice>
			<xsd:element ref="BusinessTransactionActivity" minOccurs="0"/>
			<xsd:element ref="CollaborationActivity" minOccurs="0"/>
			<xsd:element ref="ComplexBusinessTransactionActivity" minOccurs="0"/>
			<xsd:element ref="Success" minOccurs="0"/>
			<xsd:element ref="Failure" minOccurs="0"/>
			<xsd:element ref="Transition" minOccurs="0"/>
			<xsd:element ref="Fork" minOccurs="0"/>
			<xsd:element ref="Join" minOccurs="0"/>
			<xsd:element ref="Decision" minOccurs="0"/>
		</xsd:choice>
	</xsd:group>
	<xsd:element name="BinaryCollaboration" type="BinaryCollaborationType">
		<xsd:annotation>
			<xsd:documentation>Two roles - Defines the interaction between two roles. Binary Collaboration is a choreographed state of two collaboration roles. This collaboration is being deprecated.</xsd:documentation>
		</xsd:annotation>
		<xsd:unique name="BinaryCollaboration-ID">
			<xsd:selector xpath="."/>
			<xsd:field xpath="nameID"/>
		</xsd:unique>
		<xsd:unique name="BinaryCollaborationRole-ID">
			<xsd:selector xpath=".//Role"/>
			<xsd:field xpath="nameID"/>
		</xsd:unique>
	</xsd:element>
	<xsd:complexType name="BinaryCollaborationType">
		<xsd:annotation>
			<xsd:documentation>The type related to Binary Collaboration.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="Role" type="RoleType" minOccurs="2" maxOccurs="2"/>
			<xsd:element ref="TimeToPerform"/>
			<xsd:element ref="Start"/>
			<xsd:group ref="collaborationGroup" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="name"/>
		<xsd:attribute name="pattern" type="xsd:anyURI"/>
		<xsd:attribute name="isInnerCollaboration" type="xsd:boolean" default="false"/>
	</xsd:complexType>
	<xsd:element name="MultiPartyCollaboration" type="MultiPartyCollaborationType">
		<xsd:annotation>
			<xsd:documentation>More than two roles - Two roles - Defines the interaction between more than two roles. Binary Collaboration is a choreographed state of more than two collaboration roles. This collaboration is being deprecated.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="MultiPartyCollaborationType">
		<xsd:annotation>
			<xsd:documentation>The type related to MultiParty Collaboration.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="Role" type="RoleType" minOccurs="3" maxOccurs="unbounded"/>
			<xsd:element ref="TimeToPerform"/>
			<xsd:element ref="Start"/>
			<xsd:group ref="collaborationGroup" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="name"/>
		<xsd:attribute name="pattern" type="xsd:anyURI"/>
		<xsd:attribute name="isInnerCollaboration" type="xsd:boolean" default="false"/>
	</xsd:complexType>
	<xsd:element name="BusinessCollaboration" type="BusinessCollaborationType">
		<xsd:annotation>
			<xsd:documentation>Two or more roles - Two or more roles - Defines the interaction between two or more roles. Binary Collaboration is a choreographed state of two or more collaboration roles. This element will replace Binary and MultiParty collaboration elements in a future version.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="BusinessCollaborationType">
		<xsd:annotation>
			<xsd:documentation>The type related to Business Collaboration.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="Role" type="RoleType" minOccurs="2" maxOccurs="unbounded"/>
			<xsd:element ref="TimeToPerform"/>
			<xsd:element ref="Start"/>
			<xsd:group ref="collaborationGroup" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="name"/>
		<xsd:attribute name="pattern" type="xsd:anyURI"/>
		<xsd:attribute name="isInnerCollaboration" type="xsd:boolean" default="false"/>
	</xsd:complexType>
	<xsd:element name="DocumentEnvelope" type="DocumentEnvelopeType">
		<xsd:annotation>
			<xsd:documentation>Conveys business information between two roles in a business transaction.  One document envelope conveys the request from the requesting to the responding role and another the response from the responding role back to the requesting one (where applicable).</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="DocumentEnvelopeType">
		<xsd:annotation>
			<xsd:documentation>The Type related to envelope that conveys business information.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Attachment" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="name"/>
		<xsd:attribute name="businessDocumentRef" type="xsd:IDREF" use="required"/>
		<xsd:attribute name="isPositiveResponse" type="xsd:boolean"/>
		<xsd:attributeGroup ref="documentSecurity"/>
	</xsd:complexType>
	<xsd:element name="BusinessDocument" type="BusinessDocumentType">
		<xsd:annotation>
			<xsd:documentation>A generic name of a document.  A Business Document may have 0...n Condition Expressions.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="BusinessDocumentType">
		<xsd:annotation>
			<xsd:documentation>The type related to a Business Document.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="ConditionExpression" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Specification" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="name"/>
	</xsd:complexType>
	<xsd:element name="Attachment">
		<xsd:annotation>
			<xsd:documentation>An optional unstructured document associated with a Business Document.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
				<xsd:element ref="Specification" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attributeGroup ref="name"/>
			<xsd:attributeGroup ref="documentSecurity"/>
			<xsd:attribute name="businessDocumentRef" type="xsd:IDREF" use="required"/>
			<xsd:attribute name="mimeType" type="xsd:string" use="optional"/>
			<xsd:attribute name="minOccurs" type="xsd:integer" use="optional"/>
			<xsd:attribute name="maxOccurs" type="xsd:integer" use="optional"/>
		</xsd:complexType>
		<xsd:unique name="Attachment-ID">
			<xsd:selector xpath="."/>
			<xsd:field xpath="nameID"/>
		</xsd:unique>
	</xsd:element>
	<xsd:element name="Specification">
		<xsd:annotation>
			<xsd:documentation>A specification element that can associate many references to a particular BPSS element. For example, multiple specifications associated with a logical Business Document.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:attribute name="type" type="DocumentSpecificationType" use="optional" default="schema"/>
			<xsd:attribute name="location" type="xsd:anyURI" use="required"/>
			<xsd:attribute name="targetNamespace" type="xsd:anyURI" use="optional"/>
			<xsd:attributeGroup ref="name"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="BusinessTransactionActivity">
		<xsd:annotation>
			<xsd:documentation>Defines a business transaction activity within a collaboration. A business transaction activity is a business activity that executes a business transaction. Note in v2.0, isLegallyBinding has been replaced by hasLegalIntent.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="BusinessTransactionActivityType"/>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="BusinessTransactionActivityType">
		<xsd:annotation>
			<xsd:documentation>The type related to a Business Transaction Activity. Note: In v2.0, isConcurrent removed. See ComplexBTA instead.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="BusinessActivityType">
				<xsd:sequence>
					<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="TimeToPerform"/>
					<xsd:element ref="Performs" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element name="BeginsWhen" type="ConditionExpressionType" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element name="PreCondition" type="ConditionExpressionType" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element name="PostCondition" type="ConditionExpressionType" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element name="EndsWhen" type="ConditionExpressionType" minOccurs="0" maxOccurs="unbounded"/>
				</xsd:sequence>
				<xsd:attribute name="businessTransactionRef" type="xsd:IDREF" use="required"/>
				<xsd:attribute name="hasLegalIntent" type="xsd:boolean" default="true"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="ComplexBusinessTransactionActivity">
		<xsd:annotation>
			<xsd:documentation>Defines a new descriptive element that holds an embedded activity that allows recursive embedded activities. This construct is restricted to 'black box' visibility (i.e. the embedded activity is used for visibilty only not a multiparty collaboration). The subparties in the cBTA are auxiliary partners (not constrained by the Business Collaboration). Note: In v2.0, cBTA and other linking constructs replace the onInitiation flag.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="BusinessTransactionActivityType">
					<xsd:choice minOccurs="0" maxOccurs="unbounded">
						<xsd:sequence>
							<xsd:element ref="ComplexBusinessTransactionActivity"/>
							<xsd:element ref="StatusVisibility"/>
						</xsd:sequence>
						<xsd:sequence>
							<xsd:element ref="BusinessTransactionActivity"/>
							<xsd:element ref="StatusVisibility"/>
						</xsd:sequence>
					</xsd:choice>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="StatusVisibility">
		<xsd:annotation>
			<xsd:documentation>Information (which can be aggregated) returned by the subparties of an embedded Business Transaction Activity for visibility purposes to the cBTA. For example, a subparty (requester in an embedded BTA that is responder in cBTA) returns aggregated supplier information to the cBTA prior to the responder issuing an order response. The Status Visibility element specifies which status values of the embedded processes are considered, if any, when returning the status value to the context of the cBTA. Note, this element was added in v2.0.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="BusinessDocumentList" type="BusinessDocumentValueList"/>
				<xsd:element name="SubstateVisibility" type="ConditionGuardValueList"/>
				<xsd:any/>
			</xsd:sequence>
			<xsd:attributeGroup ref="name"/>
			<xsd:anyAttribute namespace="##any"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="CollaborationActivity" type="CollaborationActivityType">
		<xsd:annotation>
			<xsd:documentation>The activity of performing a Business Collaboration within another Business Collaboration.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="CollaborationActivityType">
		<xsd:annotation>
			<xsd:documentation>The type related to a Collaboration Activity.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="BusinessActivityType">
				<xsd:sequence>
					<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="Performs" minOccurs="0" maxOccurs="unbounded"/>
				</xsd:sequence>
				<xsd:attribute name="collaborationRef" type="xsd:IDREF" use="required"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="FromLink">
		<xsd:annotation>
			<xsd:documentation>A linking construct (or pseudo state) on a transition FROM a Business Transaction Activity that connects states along a labelled path. The linking construct, such as a Completion State) can have 0..n Condition Expression associated with it. Multiple sides of ConditionExpressions in a Transition are viewed as conjoined in the link label. Note: In v2.0, the linking constructs on a transition and other elements replace the onInitiation flag.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="BusinessStateLinkType">
					<xsd:attribute name="fromBusinessStateRef" type="xsd:IDREF" use="required"/>
					<xsd:attribute name="conditionGuard" type="ConditionGuardValue" use="optional"/>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ToLink">
		<xsd:annotation>
			<xsd:documentation>A linking construct (or pseudo state) on a transition TO another Business Transaction Activity that connects states along a labelled path. The linking construct, such as a Completion State) can have 0..n Condition Expression associated with it. Multiple sides of ConditionExpressions in a Transition are viewed as conjoined in the link label. Note: In v2.0, the linking constructs on a transition replace the onInitiation flag.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="BusinessStateLinkType">
					<xsd:attribute name="toBusinessStateRef" type="xsd:IDREF" use="required"/>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="BusinessStateLinkType">
		<xsd:annotation>
			<xsd:documentation>The type related to the linking constructs (TO and FROM). The type can have 0..n Condition Expression associated with it. Note: In v2.0, the linking constructs on a transition replace the onInitiation flag.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0"/>
			<xsd:element ref="ConditionExpression" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="ConditionExpression">
		<xsd:annotation>
			<xsd:documentation>An expression element that can be evaluated and provide a TRUE or FALSE.  Note: In v2.0,  multiple Condition Expression languages and expressions can be used.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="ConditionExpressionType"/>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="ConditionExpressionType">
		<xsd:annotation>
			<xsd:documentation>The type related to the expression element.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="expressionLanguage" type="xsd:string" use="required"/>
		<xsd:attribute name="expression" type="xsd:string" use="required"/>
		<xsd:attribute name="defaultValue" type="xsd:string" use="optional"/>
	</xsd:complexType>
	<xsd:element name="Start" type="StartType">
		<xsd:annotation>
			<xsd:documentation>The specific Collaboration started with to traverse a path through a graph to a Completion State.</xsd:documentation>
		</xsd:annotation>
		<xsd:unique name="Start-ID">
			<xsd:selector xpath="."/>
			<xsd:field xpath="nameID"/>
		</xsd:unique>
	</xsd:element>
	<xsd:complexType name="StartType">
		<xsd:annotation>
			<xsd:documentation>The type related to the Start of a specific Collaboration type within the Collaboration Group.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="ToLink" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="name"/>
	</xsd:complexType>
	<xsd:element name="Transition" type="TransitionType">
		<xsd:annotation>
			<xsd:documentation>The traverse between two business states in a Business Collaboration. Choreography is expressed as transitions between business states. Transition to the same business state is allowed.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="TransitionType">
		<xsd:annotation>
			<xsd:documentation>The type related to the traverse between business states.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="FromLink"/>
			<xsd:element ref="ToLink"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="Decision" type="DecisionType">
		<xsd:annotation>
			<xsd:documentation>A business state (pseudo-state) on a transition. For example, a choice. This is equivalent to a Decision in a UML activity diagram although the semantics may differ. A Business Activity may have many incoming transitions but only one outgoing one.</xsd:documentation>
		</xsd:annotation>
		<xsd:unique name="Decision-ID">
			<xsd:selector xpath="."/>
			<xsd:field xpath="nameID"/>
		</xsd:unique>
	</xsd:element>
	<xsd:complexType name="DecisionType">
		<xsd:annotation>
			<xsd:documentation>The type related to a Decision business state (pseudo-state).</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="FromLink"/>
			<xsd:element ref="ToLink" minOccurs="2" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="name"/>
	</xsd:complexType>
	<xsd:element name="Fork" type="ForkType">
		<xsd:annotation>
			<xsd:documentation>A business state with one incoming transition and many outgoing transitions. All outgoing transitions are considered to happen in parallel or exclusive OR.</xsd:documentation>
		</xsd:annotation>
		<xsd:unique name="Fork-ID">
			<xsd:selector xpath="."/>
			<xsd:field xpath="nameID"/>
		</xsd:unique>
	</xsd:element>
	<xsd:complexType name="ForkType">
		<xsd:annotation>
			<xsd:documentation>The type related to the Fork business state (pseudo-state).</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="TimeToPerform" minOccurs="0"/>
			<xsd:element ref="FromLink"/>
			<xsd:element ref="ToLink" minOccurs="2" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="name"/>
		<xsd:attribute name="type" use="optional" default="OR">
			<xsd:simpleType>
				<xsd:restriction base="xsd:NMTOKEN">
					<xsd:enumeration value="OR"/>
					<xsd:enumeration value="XOR"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:complexType>
	<xsd:element name="Join" type="JoinType">
		<xsd:annotation>
			<xsd:documentation>A business state where the activity is waiting for the completion of one or more activities.  Defines the point where one or more forked activities join.</xsd:documentation>
		</xsd:annotation>
		<xsd:unique name="Join-ID">
			<xsd:selector xpath="."/>
			<xsd:field xpath="nameID"/>
		</xsd:unique>
	</xsd:element>
	<xsd:complexType name="JoinType">
		<xsd:annotation>
			<xsd:documentation>The type related to the Join business state (pseudo-state).</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="FromLink" minOccurs="2" maxOccurs="unbounded"/>
			<xsd:element ref="ToLink" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="name"/>
		<xsd:attribute name="waitForAll" type="xsd:boolean" default="true"/>
	</xsd:complexType>
	<xsd:element name="Success" type="CompletionType">
		<xsd:annotation>
			<xsd:documentation>Defines a successful completion of a Collaboration as a transition from an activity.</xsd:documentation>
		</xsd:annotation>
		<xsd:unique name="Success-ID">
			<xsd:selector xpath="."/>
			<xsd:field xpath="nameID"/>
		</xsd:unique>
	</xsd:element>
	<xsd:element name="Failure" type="CompletionType">
		<xsd:annotation>
			<xsd:documentation>Defines a failure completion of a Collaboration as a transition from an activity.</xsd:documentation>
		</xsd:annotation>
		<xsd:unique name="Failure-ID">
			<xsd:selector xpath="."/>
			<xsd:field xpath="nameID"/>
		</xsd:unique>
	</xsd:element>
	<xsd:complexType name="CompletionType">
		<xsd:annotation>
			<xsd:documentation>The type related to the Success for Failure completion of a Collaboration as a transition from an activity.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="FromLink" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="name"/>
	</xsd:complexType>
	<xsd:element name="BusinessAction" type="BusinessActionType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>An abstract superclass that holds the attributes common to the Requesting and Responding Business Activity.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="BusinessActionType">
		<xsd:annotation>
			<xsd:documentation>The type related to the Business Action.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="DocumentEnvelope" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element name="ReceiptAcknowledgement" type="ReceiptAcknowledgementType" minOccurs="0"/>
			<xsd:element name="ReceiptAcknowledgementException" type="ReceiptAcknowledgementExceptionType" minOccurs="0"/>
			<xsd:element name="AcceptanceAcknowledgement" type="AcceptanceAcknowledgementType" minOccurs="0"/>
			<xsd:element name="AcceptanceAcknowledgementException" type="AcceptanceAcknowledgementExceptionType" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="name"/>
		<xsd:attributeGroup ref="quality"/>
	</xsd:complexType>
	<xsd:element name="RequestingBusinessActivity" type="RequestingBusinessActivityType">
		<xsd:annotation>
			<xsd:documentation>A Business Action performed by the requesting role within a Business Transaction. </xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="RequestingBusinessActivityType">
		<xsd:annotation>
			<xsd:documentation>The type related to the requesting Business Action.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="BusinessActionType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="RespondingBusinessActivity" type="RespondingBusinessActivityType">
		<xsd:annotation>
			<xsd:documentation>A Business Action performed by the responding role within a Business Transaction.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="RespondingBusinessActivityType">
		<xsd:annotation>
			<xsd:documentation>The type related to the responding Business Action.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="BusinessActionType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="BusinessActivityType">
		<xsd:annotation>
			<xsd:documentation>The type related to the Business Transaction Activity or Collaboration Activity types (and business state).</xsd:documentation>
		</xsd:annotation>
		<xsd:attributeGroup ref="name"/>
	</xsd:complexType>
	<xsd:element name="Performs">
		<xsd:annotation>
			<xsd:documentation>A descriptive element that allows role bindings between roles. Note: In v2.0, the Performs element is required when more than two roles are used; otherwise, it is optional.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="PerformsType"/>
			</xsd:complexContent>
		</xsd:complexType>
		<xsd:unique name="Performs-ID">
			<xsd:selector xpath="."/>
			<xsd:field xpath="nameID"/>
		</xsd:unique>
	</xsd:element>
	<xsd:complexType name="PerformsType">
		<xsd:annotation>
			<xsd:documentation>The type related to the role binding Performs element.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="currentRoleRef" type="xsd:IDREF" use="required"/>
		<xsd:attribute name="performsRoleRef" type="xsd:IDREF" use="optional"/>
		<xsd:attribute name="initiatingRoleRef" type="xsd:IDREF" use="optional"/>
		<xsd:attribute name="respondingRoleRef" type="xsd:IDREF" use="optional"/>
	</xsd:complexType>
	<xsd:complexType name="RoleType">
		<xsd:annotation>
			<xsd:documentation>The type related to the Role of a Collaboration. For example, in a Business Collaboration, two or more roles apply. The Role Type is a global element, that allows local Role elements to be defined of Role Type.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
		<xsd:attribute name="nameID" type="xsd:ID" use="required"/>
	</xsd:complexType>
	<xsd:element name="BusinessTransactionHead" type="BusinessTransactionType" abstract="true">
		<xsd:annotation>
			<xsd:documentation>The abstract superclass associated with the concrete set of defined Business Transaction patterns. Note, in v2.0, the Business Transaction Head replaces the Business Transaction element.   A Business Transaction is a set of business information and business signal exchanges amongst partners that occurs in an agreed upon format and sequence.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="BusinessTransactionType">
		<xsd:annotation>
			<xsd:documentation>The type related to the abstract superclass associated with Business Transactions.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="name"/>
		<xsd:attribute name="pattern" type="xsd:anyURI"/>
		<xsd:attribute name="isGuaranteedDeliveryRequired" type="xsd:boolean" default="false"/>
	</xsd:complexType>
	<xsd:element name="CommercialTransaction" substitutionGroup="BusinessTransactionHead">
		<xsd:annotation>
			<xsd:documentation>A concrete Business Transaction Pattern where there is a formal obligation between parties.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="BusinessTransactionType">
					<xsd:sequence>
						<xsd:element name="RequestingBusinessActivity">
							<xsd:complexType>
								<xsd:complexContent>
									<xsd:restriction base="RequestingBusinessActivityType">
										<xsd:sequence>
											<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
											<xsd:element ref="DocumentEnvelope"/>
											<xsd:element name="ReceiptAcknowledgement" type="ReceiptAcknowledgementType"/>
											<xsd:element name="ReceiptAcknowledgementException" type="ReceiptAcknowledgementExceptionType"/>
											<xsd:element name="AcceptanceAcknowledgement" type="AcceptanceAcknowledgementType"/>
											<xsd:element name="AcceptanceAcknowledgementException" type="AcceptanceAcknowledgementExceptionType"/>
										</xsd:sequence>
										<xsd:attribute name="isAuthorizationRequired" type="xsd:boolean" default="true"/>
										<xsd:attribute name="isIntelligibleCheckRequired" type="xsd:boolean" default="true"/>
										<xsd:attribute name="isNonRepudiationReceiptRequired" type="xsd:boolean" default="true"/>
										<xsd:attribute name="isNonRepudiationRequired" type="xsd:boolean" default="true"/>
										<xsd:attribute name="timeToAcknowledgeAcceptance" type="xsd:duration" default="PT6H"/>
										<xsd:attribute name="timeToAcknowledgeReceipt" type="xsd:duration" default="PT2H"/>
										<xsd:attribute name="retryCount" type="xsd:int" use="optional"/>
									</xsd:restriction>
								</xsd:complexContent>
							</xsd:complexType>
						</xsd:element>
						<xsd:element name="RespondingBusinessActivity">
							<xsd:complexType>
								<xsd:complexContent>
									<xsd:restriction base="RespondingBusinessActivityType">
										<xsd:sequence>
											<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
											<xsd:element ref="DocumentEnvelope" maxOccurs="unbounded"/>
											<xsd:element name="ReceiptAcknowledgement" type="ReceiptAcknowledgementType"/>
											<xsd:element name="ReceiptAcknowledgementException" type="ReceiptAcknowledgementExceptionType"/>
											<xsd:element name="AcceptanceAcknowledgement" type="AcceptanceAcknowledgementType"/>
											<xsd:element name="AcceptanceAcknowledgementException" type="AcceptanceAcknowledgementExceptionType"/>
										</xsd:sequence>
										<xsd:attribute name="isAuthorizationRequired" type="xsd:boolean" default="true"/>
										<xsd:attribute name="isIntelligibleCheckRequired" type="xsd:boolean" default="true"/>
										<xsd:attribute name="isNonRepudiationRequired" type="xsd:boolean" default="true"/>
										<xsd:attribute name="isNonRepudiationReceiptRequired" type="xsd:boolean" default="true"/>
										<xsd:attribute name="timeToAcknowledgeReceipt" type="xsd:duration" default="PT2H"/>
										<xsd:attribute name="timeToAcknowledgeAcceptance" type="xsd:duration" default="PT6H"/>
									</xsd:restriction>
								</xsd:complexContent>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="RequestConfirm" substitutionGroup="BusinessTransactionHead">
		<xsd:annotation>
			<xsd:documentation>A concrete Business Transaction Pattern where an initiating partner requests information about their status of a previous request or a responder's business rules.  Typically no residual obligation between parties applies. For example, an initiating party could request authorization to sell specific products where a confirmation response is expected.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="BusinessTransactionType">
					<xsd:sequence>
						<xsd:element name="RequestingBusinessActivity">
							<xsd:complexType>
								<xsd:complexContent>
									<xsd:restriction base="RequestingBusinessActivityType">
										<xsd:sequence>
											<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
											<xsd:element ref="DocumentEnvelope"/>
											<xsd:element name="ReceiptAcknowledgement" type="ReceiptAcknowledgementType"/>
											<xsd:element name="ReceiptAcknowledgementException" type="ReceiptAcknowledgementExceptionType"/>
										</xsd:sequence>
										<xsd:attribute name="isAuthorizationRequired" type="xsd:boolean" default="true"/>
										<xsd:attribute name="isIntelligibleCheckRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="timeToAcknowledgeReceipt" type="xsd:duration" default="PT0H"/>
										<xsd:attribute name="isNonRepudiationReceiptRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="isNonRepudiationRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="retryCount" type="xsd:int" use="optional"/>
									</xsd:restriction>
								</xsd:complexContent>
							</xsd:complexType>
						</xsd:element>
						<xsd:element name="RespondingBusinessActivity">
							<xsd:complexType>
								<xsd:complexContent>
									<xsd:restriction base="RespondingBusinessActivityType">
										<xsd:sequence>
											<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
											<xsd:element ref="DocumentEnvelope" maxOccurs="unbounded"/>
											<xsd:element name="ReceiptAcknowledgement" type="ReceiptAcknowledgementType"/>
											<xsd:element name="ReceiptAcknowledgementException" type="ReceiptAcknowledgementExceptionType"/>
										</xsd:sequence>
										<xsd:attribute name="isAuthorizationRequired" type="xsd:boolean" default="true"/>
										<xsd:attribute name="isIntelligibleCheckRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="isNonRepudiationRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="isNonRepudiationReceiptRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="timeToAcknowledgeReceipt" type="xsd:duration" default="PT2H"/>
									</xsd:restriction>
								</xsd:complexContent>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="RequestResponse" substitutionGroup="BusinessTransactionHead">
		<xsd:annotation>
			<xsd:documentation>A concrete Business Transaction Pattern where there is typically no residual obligation between the parties. The Request-Response Business Transaction Pattern can be used when an initiating party requests information the responding party already has. This pattern is used when a complex set of interrelated results are required; otherwise use Query-Response. Typically no residual obligation between parties applies. For example, a request for price and availability.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="BusinessTransactionType">
					<xsd:sequence>
						<xsd:element name="RequestingBusinessActivity">
							<xsd:complexType>
								<xsd:complexContent>
									<xsd:restriction base="RequestingBusinessActivityType">
										<xsd:sequence>
											<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
											<xsd:element ref="DocumentEnvelope"/>
										</xsd:sequence>
										<xsd:attribute name="isAuthorizationRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="isIntelligibleCheckRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="isNonRepudiationRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="retryCount" type="xsd:int" use="optional"/>
									</xsd:restriction>
								</xsd:complexContent>
							</xsd:complexType>
						</xsd:element>
						<xsd:element name="RespondingBusinessActivity">
							<xsd:complexType>
								<xsd:complexContent>
									<xsd:restriction base="RespondingBusinessActivityType">
										<xsd:sequence>
											<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
											<xsd:element ref="DocumentEnvelope" maxOccurs="unbounded"/>
										</xsd:sequence>
										<xsd:attribute name="isAuthorizationRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="isIntelligibleCheckRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="isNonRepudiationRequired" type="xsd:boolean" default="false"/>
									</xsd:restriction>
								</xsd:complexContent>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="QueryResponse" substitutionGroup="BusinessTransactionHead">
		<xsd:annotation>
			<xsd:documentation>A concrete Business Transaction Pattern where the requester queries for information the responder already has. The response meets the specified constraining criteria.  If a complex set of interrelated results are required, use Request-Response Business Transaction Pattern. Typically no residual obligation between parties applies.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="BusinessTransactionType">
					<xsd:sequence>
						<xsd:element name="RequestingBusinessActivity">
							<xsd:complexType>
								<xsd:complexContent>
									<xsd:restriction base="RequestingBusinessActivityType">
										<xsd:sequence>
											<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
											<xsd:element ref="DocumentEnvelope"/>
										</xsd:sequence>
										<xsd:attribute name="isAuthorizationRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="isIntelligibleCheckRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="isNonRepudiationRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="retryCount" type="xsd:int" use="optional"/>
									</xsd:restriction>
								</xsd:complexContent>
							</xsd:complexType>
						</xsd:element>
						<xsd:element name="RespondingBusinessActivity">
							<xsd:complexType>
								<xsd:complexContent>
									<xsd:restriction base="RespondingBusinessActivityType">
										<xsd:sequence>
											<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
											<xsd:element ref="DocumentEnvelope" maxOccurs="unbounded"/>
										</xsd:sequence>
										<xsd:attribute name="isAuthorizationRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="isIntelligibleCheckRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="isNonRepudiationRequired" type="xsd:boolean" default="false"/>
									</xsd:restriction>
								</xsd:complexContent>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="InformationDistribution" substitutionGroup="BusinessTransactionHead">
		<xsd:annotation>
			<xsd:documentation>A concrete Business Transaction Pattern where an informal exchange occurs between parties.  Typically no residual obligation between parties applies. No response applies.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="BusinessTransactionType">
					<xsd:sequence>
						<xsd:element name="RequestingBusinessActivity">
							<xsd:complexType>
								<xsd:complexContent>
									<xsd:restriction base="RequestingBusinessActivityType">
										<xsd:sequence>
											<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
											<xsd:element ref="DocumentEnvelope"/>
											<xsd:element name="ReceiptAcknowledgement" type="ReceiptAcknowledgementType"/>
											<xsd:element name="ReceiptAcknowledgementException" type="ReceiptAcknowledgementExceptionType"/>
										</xsd:sequence>
										<xsd:attribute name="isAuthorizationRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="isIntelligibleCheckRequired" type="xsd:boolean" use="optional"/>
										<xsd:attribute name="isNonRepudiationRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="isNonRepudiationReceiptRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="timeToAcknowledgeReceipt" type="xsd:duration" default="PT24H"/>
										<xsd:attribute name="timeToAcknowledgeAcceptance" use="prohibited"/>
										<xsd:attribute name="retryCount" type="xsd:int" use="optional"/>
									</xsd:restriction>
								</xsd:complexContent>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Notification" substitutionGroup="BusinessTransactionHead">
		<xsd:annotation>
			<xsd:documentation>A concrete Business Transaction Pattern where there is a formal information exchange between parties that affects the previous completion of a Commercial Transaction.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="BusinessTransactionType">
					<xsd:sequence>
						<xsd:element name="RequestingBusinessActivity">
							<xsd:complexType>
								<xsd:complexContent>
									<xsd:restriction base="RequestingBusinessActivityType">
										<xsd:sequence>
											<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
											<xsd:element ref="DocumentEnvelope"/>
											<xsd:element name="ReceiptAcknowledgement" type="ReceiptAcknowledgementType"/>
											<xsd:element name="ReceiptAcknowledgementException" type="ReceiptAcknowledgementExceptionType"/>
										</xsd:sequence>
									</xsd:restriction>
								</xsd:complexContent>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="DataExchange" substitutionGroup="BusinessTransactionHead">
		<xsd:annotation>
			<xsd:documentation>The new element is open and allows definition of other patterns unspecified in the concrete set of Business Transaction patterns.  Note, in v2.0, the new DataExchange is not constrained to support state alignment. The semantics related to DataExchange are partner-specific and left unspecified.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="BusinessTransactionType">
					<xsd:choice minOccurs="0" maxOccurs="2">
						<xsd:element name="RequestingBusinessActivity" minOccurs="0">
							<xsd:complexType>
								<xsd:complexContent>
									<xsd:restriction base="RequestingBusinessActivityType">
										<xsd:sequence>
											<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
											<xsd:element ref="DocumentEnvelope"/>
											<xsd:element name="ReceiptAcknowledgement" type="ReceiptAcknowledgementType" minOccurs="0"/>
											<xsd:element name="ReceiptAcknowledgementException" type="ReceiptAcknowledgementExceptionType" minOccurs="0"/>
										</xsd:sequence>
									</xsd:restriction>
								</xsd:complexContent>
							</xsd:complexType>
						</xsd:element>
						<xsd:element name="RespondingBusinessActivity" minOccurs="0">
							<xsd:complexType>
								<xsd:complexContent>
									<xsd:restriction base="RespondingBusinessActivityType">
										<xsd:sequence>
											<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
											<xsd:element ref="DocumentEnvelope" minOccurs="0" maxOccurs="unbounded"/>
										</xsd:sequence>
										<xsd:attribute name="isAuthorizationRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="isIntelligibleCheckRequired" type="xsd:boolean" default="false"/>
										<xsd:attribute name="isNonRepudiationRequired" type="xsd:boolean" default="false"/>
									</xsd:restriction>
								</xsd:complexContent>
							</xsd:complexType>
						</xsd:element>
					</xsd:choice>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="BusinessTransaction" substitutionGroup="BusinessTransactionHead">
		<xsd:annotation>
			<xsd:documentation>Note: In v2.0, Business Transaction is being retained for conversions. The Business Transaction element is being replaced by the Business Transaction Head abstract superclass and the concrete set of Business Transaction Patterns.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="BusinessTransactionType">
					<xsd:sequence>
						<xsd:element name="RequestingBusinessActivity">
							<xsd:complexType>
								<xsd:complexContent>
									<xsd:restriction base="RequestingBusinessActivityType">
										<xsd:sequence>
											<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
											<xsd:element ref="DocumentEnvelope"/>
											<xsd:element name="ReceiptAcknowledgement" type="ReceiptAcknowledgementType"/>
											<xsd:element name="ReceiptAcknowledgementException" type="ReceiptAcknowledgementExceptionType"/>
											<xsd:element name="AcceptanceAcknowledgement" type="AcceptanceAcknowledgementType" minOccurs="0"/>
											<xsd:element name="AcceptanceAcknowledgementException" type="AcceptanceAcknowledgementExceptionType" minOccurs="0"/>
										</xsd:sequence>
										<xsd:attribute name="isAuthorizationRequired" type="xsd:boolean" default="true"/>
										<xsd:attribute name="isIntelligibleCheckRequired" type="xsd:boolean" default="true"/>
										<xsd:attribute name="isNonRepudiationReceiptRequired" type="xsd:boolean" default="true"/>
										<xsd:attribute name="isNonRepudiationRequired" type="xsd:boolean" default="true"/>
										<xsd:attribute name="timeToAcknowledgeAcceptance" type="xsd:duration" default="PT6H"/>
										<xsd:attribute name="timeToAcknowledgeReceipt" type="xsd:duration" default="PT2H"/>
										<xsd:attribute name="retryCount" type="xsd:int" use="optional"/>
									</xsd:restriction>
								</xsd:complexContent>
							</xsd:complexType>
						</xsd:element>
						<xsd:element name="RespondingBusinessActivity" minOccurs="0">
							<xsd:complexType>
								<xsd:complexContent>
									<xsd:restriction base="RespondingBusinessActivityType">
										<xsd:sequence>
											<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
											<xsd:element ref="DocumentEnvelope" maxOccurs="unbounded"/>
											<xsd:element name="ReceiptAcknowledgement" type="ReceiptAcknowledgementType"/>
											<xsd:element name="ReceiptAcknowledgementException" type="ReceiptAcknowledgementExceptionType"/>
											<xsd:element name="AcceptanceAcknowledgement" type="AcceptanceAcknowledgementType"/>
											<xsd:element name="AcceptanceAcknowledgementException" type="AcceptanceAcknowledgementExceptionType"/>
										</xsd:sequence>
										<xsd:attribute name="isAuthorizationRequired" type="xsd:boolean" default="true"/>
										<xsd:attribute name="isIntelligibleCheckRequired" type="xsd:boolean" default="true"/>
										<xsd:attribute name="isNonRepudiationRequired" type="xsd:boolean" default="true"/>
										<xsd:attribute name="isNonRepudiationReceiptRequired" type="xsd:boolean" default="true"/>
										<xsd:attribute name="timeToAcknowledgeReceipt" type="xsd:duration" default="PT2H"/>
										<xsd:attribute name="timeToAcknowledgeAcceptance" type="xsd:duration" default="PT6H"/>
									</xsd:restriction>
								</xsd:complexContent>
							</xsd:complexType>
						</xsd:element>
					</xsd:sequence>
				</xsd:extension>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<!--NotificationOfFailure,ReceiptOfResponseAcknowledgement,General Exception-->
	<xsd:element name="Signal" type="SignalType">
		<xsd:annotation>
			<xsd:documentation>As a Business Action, this element defines the identification structure for business signal messages to be sent to a trading partner Note, this element was explicitly added in v2.0 for signals to mirror structure of the Business Document specification. This Business Action is non-substantive. A signal is used for state alignment.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="SignalEnvelopeType">
		<xsd:annotation>
			<xsd:documentation>The type of a Signal Envelope definition that conveys Business Action information. Note, this type was added in v2.0 for signals to mirror the Document Envelope structure (where applicable). A signal is used for state alignment.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="name"/>
		<xsd:attribute name="signalDefinitionRef" type="xsd:IDREF" use="required"/>
	</xsd:complexType>
	<xsd:complexType name="SignalType">
		<xsd:annotation>
			<xsd:documentation>The type of a Signal element. Note, this type was added in v2.0. A signal is used for state alignment. This construct allows specification references (such as those used for context), and a Signal Type may have 0..n Condition Expression.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="ConditionExpression" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="Specification" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="name"/>
	</xsd:complexType>
	<xsd:complexType name="ReceiptAcknowledgementType">
		<xsd:annotation>
			<xsd:documentation>The type of Business Action signal of positive Receipt Acknowledgement. Note, this type was added in v2.0. A signal is used for state alignment.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="SignalEnvelopeType">
				<xsd:attribute name="isPositiveReceipt" type="xsd:boolean" fixed="true"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="ReceiptAcknowledgementExceptionType">
		<xsd:annotation>
			<xsd:documentation>The type of a BusinessAction signal of exception Receipt Acknowledgement. Note, this type was added in v2.0. A signal is used for state alignment.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="SignalEnvelopeType">
				<xsd:attribute name="isPositiveSignal" fixed="false"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="AcceptanceAcknowledgementType">
		<xsd:annotation>
			<xsd:documentation>The type of Business Action signal of positive Acceptance Acknowledgement. Note, this type was added in v2.0. A signal is used for state alignment.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="SignalEnvelopeType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="AcceptanceAcknowledgementExceptionType">
		<xsd:annotation>
			<xsd:documentation>The type of a BusinessAction signal of exception Acceptance Acknowledgement. Note, this type was added in v2.0. A signal is used for state alignment.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="SignalEnvelopeType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="GeneralExceptionType">
		<xsd:annotation>
			<xsd:documentation>The type of a Business Action of general exception (exceptions other than Receipt and Acceptance Acknowledgement). Note, this type was added in v2.0.  During an interaction, the general exception can be used when a party must trigger an exception, for example, for a general communication failure. A signal is used for state alignment.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexContent>
			<xsd:extension base="SignalEnvelopeType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="TimeToPerform">
		<xsd:annotation>
			<xsd:documentation>The expected time available to successfully complete a specified activity such as a substantive response to a request. Note, in v2.0, this element was added (previously was an attribute on specific elements). Also, in v2.0, the TTP can be variable, i.e. it can be specified at different points during the process lifecycle.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="Variable" minOccurs="0"/>
			</xsd:sequence>
			<xsd:attribute name="duration" type="xsd:duration" use="optional"/>
			<xsd:attribute name="type" type="TimeToPerformType" use="optional" default="design"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="Variable">
		<xsd:annotation>
			<xsd:documentation>A semantic element that supports the effective use of conditional constraints.  The variable can be accessed by external elements.  businessTransactionActivityRef and businessDocumentRef point to what context and documents are relevant to ConditionExpression evaluation. Variable assumes type, if any, from expression evaluation. Note, this element was added in v2.0. This element, for example, could be associated with a logical Business Document. Note: This element was added in v2.0.</xsd:documentation>
		</xsd:annotation>
		<xsd:complexType>
			<xsd:sequence>
				<xsd:annotation>
					<xsd:documentation>Exactly one ConditionExpression is used to provide values. If multiple ConditionExpressions are listed, each expressionLanguage value must be different from others in the sequence.</xsd:documentation>
				</xsd:annotation>
				<xsd:element ref="ConditionExpression" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attributeGroup ref="name"/>
			<xsd:attribute name="businessTransactionActivityRef" type="xsd:IDREF" use="optional"/>
			<xsd:attribute name="businessDocumentRef" type="xsd:IDREF" use="optional"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="OperationMapping" type="OperationMappingType">
		<xsd:annotation>
			<xsd:documentation>An abstract element that allows mapping a BTA and its BusinessDocuments to Interface/Operation messages.  Must specify input, output, fault, interface, operation, role, BTA and document envelope or signal reference. Note: This element was added in v2.0.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="OperationMappingType">
		<xsd:annotation>
			<xsd:documentation>The type related to the abstract element mapping Operations to Business Actions, either business messages or signals. Note: This complexType was added in v2.0.</xsd:documentation>
		</xsd:annotation>
		<xsd:sequence>
			<xsd:element name="MessageMap" maxOccurs="unbounded">
				<xsd:complexType>
					<xsd:attributeGroup ref="map"/>
				</xsd:complexType>
			</xsd:element>
			<xsd:element name="SignalMap" minOccurs="0" maxOccurs="8">
				<xsd:complexType>
					<xsd:attributeGroup ref="map"/>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attributeGroup ref="name"/>
		<xsd:attribute name="roleRef" type="xsd:IDREF" use="required"/>
		<xsd:attribute name="businessTransactionActivityRef" type="xsd:IDREF" use="required"/>
	</xsd:complexType>
	<xsd:simpleType name="TimeToPerformType">
		<xsd:annotation>
			<xsd:documentation>The simpleType related to the definition of Time To Perform during the process lifecycle. Note, this simpleType was added in v2.0.</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:NMTOKEN">
			<xsd:enumeration value="design"/>
			<xsd:enumeration value="configuration"/>
			<xsd:enumeration value="runtime"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="TrueFalseNull">
		<xsd:annotation>
			<xsd:documentation>The simpleType related to the enumerated list of default, fixed or boolean values. These relate to labeled constraints on state transitions.  Note: This simpleType was added in v2.0.</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:string">
			<xsd:enumeration value="true"/>
			<xsd:enumeration value="false"/>
			<xsd:enumeration value="null"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="BusinessDocumentValueList">
		<xsd:annotation>
			<xsd:documentation>The simpleType related to the (future) enumerated list for the business document list associated with the Status Visibility element.  Note: This simpleType was added in v2.0.</xsd:documentation>
		</xsd:annotation>
		<xsd:list itemType="xsd:NMTOKEN"/>
	</xsd:simpleType>
	<xsd:simpleType name="ConditionGuardValueList">
		<xsd:annotation>
			<xsd:documentation>The simpleType related to the content model for Status Visibility. Note: This simpleType was added in v2.0.</xsd:documentation>
		</xsd:annotation>
		<xsd:list itemType="ConditionGuardValue"/>
	</xsd:simpleType>
	<xsd:simpleType name="ConditionGuardValue">
		<xsd:annotation>
			<xsd:documentation>The simpleType related to the enumerated list for the guard values associated with the FromLink in a Completion State. Each of the FromLinks in a Completion State can be specified to transition as a result of the ConditionGuardValues. This check is made everytime a transition occurs from the real states. Because the FromLinks generally are from a specific  state, only when that state has been reached is the check of conditionGuards from that state checked. Note, this simpleType was added in v2.0.</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:NMTOKEN">
			<xsd:enumeration value="ProtocolSuccess"/>
			<xsd:enumeration value="AnyProtocolFailure"/>
			<xsd:enumeration value="RequestReceiptFailure"/>
			<xsd:enumeration value="RequestAcceptanceFailure"/>
			<xsd:enumeration value="ResponseReceiptFailure"/>
			<xsd:enumeration value="ResponseAcceptanceFailure"/>
			<xsd:enumeration value="SignalTimeout"/>
			<xsd:enumeration value="ResponseTimeout"/>
			<xsd:enumeration value="BusinessSuccess"/>
			<xsd:enumeration value="BusinessFailure"/>
			<xsd:enumeration value="Success"/>
			<xsd:enumeration value="Failure"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="DocumentSpecificationType">
		<xsd:annotation>
			<xsd:documentation>The simpleType related to the enumerated list of specification types for the Specification element. Note: This simpleType was added in v2.0.</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:NMTOKEN">
			<xsd:enumeration value="schema"/>
			<xsd:enumeration value="dtd"/>
			<xsd:enumeration value="wsdl"/>
			<xsd:enumeration value="relaxng"/>
			<xsd:enumeration value="other"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:simpleType name="StepType">
		<xsd:annotation>
			<xsd:documentation>The simpleType related to the enumerated list of operation types supported by OperationMapping and OperationMappingType. This simpleType was added in v2.0.</xsd:documentation>
		</xsd:annotation>
		<xsd:restriction base="xsd:NMTOKEN">
			<xsd:enumeration value="input"/>
			<xsd:enumeration value="output"/>
			<xsd:enumeration value="fault"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:attributeGroup name="documentSecurity">
		<xsd:annotation>
			<xsd:documentation>The attributeGroup related to document security, quality of service attributes. </xsd:documentation>
		</xsd:annotation>
		<xsd:attribute name="isAuthenticated">
			<xsd:simpleType>
				<xsd:restriction base="xsd:NMTOKEN">
					<xsd:enumeration value="none"/>
					<xsd:enumeration value="transient"/>
					<xsd:enumeration value="persistent"/>
					<xsd:enumeration value="transient-and-persistent"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="isConfidential">
			<xsd:simpleType>
				<xsd:restriction base="xsd:NMTOKEN">
					<xsd:enumeration value="none"/>
					<xsd:enumeration value="transient"/>
					<xsd:enumeration value="persistent"/>
					<xsd:enumeration value="transient-and-persistent"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
		<xsd:attribute name="isTamperDetectable">
			<xsd:simpleType>
				<xsd:restriction base="xsd:NMTOKEN">
					<xsd:enumeration value="none"/>
					<xsd:enumeration value="transient"/>
					<xsd:enumeration value="persistent"/>
					<xsd:enumeration value="transient-and-persistent"/>
				</xsd:restriction>
			</xsd:simpleType>
		</xsd:attribute>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="map">
		<xsd:annotation>
			<xsd:documentation>The attributeGroup related to interface/operation types supported by OperationMapping and OperationMappingType. The map includes the interface (portType), operation, the step (see StepType) and the document reference. Note, this attributeGroup was added in v2.0.</xsd:documentation>
		</xsd:annotation>
		<xsd:attribute name="interfaceName" type="xsd:NMTOKEN" use="required">
			<xsd:annotation>
				<xsd:documentation>interface is called portType in WSDL 1.1</xsd:documentation>
			</xsd:annotation>
		</xsd:attribute>
		<xsd:attribute name="operationName" type="xsd:NMTOKEN" use="required"/>
		<xsd:attribute name="operationStep" type="StepType" use="required"/>
		<xsd:attribute name="documentEnvelopeRef" type="xsd:IDREF" use="required"/>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="name">
		<xsd:annotation>
			<xsd:documentation>The attributeGroup related to the identification information for most elements.  Note, in v2.0, this group was enhanced to include not only name but nameID.</xsd:documentation>
		</xsd:annotation>
		<xsd:attribute name="name" type="xsd:string" use="required"/>
		<xsd:attribute name="nameID" type="xsd:ID" use="required"/>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="quality">
		<xsd:annotation>
			<xsd:documentation>The attributeGroup related to quality of service attributes. Note: This attributeGroup was added in v2.0.</xsd:documentation>
		</xsd:annotation>
		<xsd:attribute name="isAuthorizationRequired" type="xsd:boolean"/>
		<xsd:attribute name="isIntelligibleCheckRequired" type="xsd:boolean"/>
		<xsd:attribute name="isNonRepudiationRequired" type="xsd:boolean"/>
		<xsd:attribute name="isNonRepudiationReceiptRequired" type="xsd:boolean"/>
		<xsd:attribute name="timeToAcknowledgeReceipt" type="xsd:duration"/>
		<xsd:attribute name="timeToAcknowledgeAcceptance" type="xsd:duration"/>
		<xsd:attribute name="retryCount" type="xsd:int"/>
	</xsd:attributeGroup>
</xsd:schema>


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]