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/2/2004: Schema #2 - Condition Expressions and ExpressionLanguage


As discussed on 1 November 2004 call, this week we discussed condition 
expression and well-formedness rules surrounding their use in line with 
draft 25 October 2004 working schema: 
http://www.oasis-open.org/archives/ebxml-bp/200410/msg00121.html: More 
than one expression language may be used for Variables on 
ConditionExpression.  If multiple expressions are used, the languages 
need to be distinct and the expressions need to be equivalent.

I've attached the updated schema from Dale and am still soliciting 
everyone's comments. Thank you.

Note:  JJ Dubray and then Dale Moberg asked the original question 
(Reference: 
http://www.oasis-open.org/archives/ebxml-bp/200410/msg00134.html).

<?xml version="1.0" encoding="UTF-8"?>
<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" type="ProcessSpecificationType">
		<xsd:unique name="ProcessSpecification-ID">
			<xsd:selector xpath="."/>
			<xsd:field xpath="nameID"/>
		</xsd:unique>
	</xsd:element>
	<xsd:complexType name="ProcessSpecificationType">
		<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="BusinessTransaction" 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="version" type="xsd:string" use="required"/>
		<xsd:attribute name="uuid" type="xsd:string" use="required"/>
	</xsd:complexType>
	<xsd:element name="Package">
		<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: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="BusinessTransaction" 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> xml:lang added.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="DocumentationType">
		<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:complexType>
			<xsd:complexContent>
				<xsd:extension base="AttributeSubstitutionType"/>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="AttributeSubstitutionType">
		<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:complexType name="ExternalRolesType">
		<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: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</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: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.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="MultiPartyCollaborationType">
		<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.</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="BusinessCollaborationType">
		<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:complexType name="DocumentEnvelopeType">
		<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:complexType name="BusinessDocumentType">
		<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: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: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>isLegallyBinding is deprecated.</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>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="Performs" minOccurs="0" maxOccurs="unbounded"/>
					<xsd:element ref="TimeToPerform"/>
				</xsd:sequence>
				<xsd:attribute name="businessTransactionRef" type="xsd:IDREF" use="required"/>
				<xsd:attribute name="isLegallyBinding" type="xsd:boolean" default="true"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="ComplexBusinessTransactionActivity">
		<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: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:complexType name="CollaborationActivityType">
		<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: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: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:sequence>
			<xsd:element ref="Documentation" minOccurs="0"/>
			<xsd:element ref="ConditionExpression" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="ConditionExpression">
		<xsd:complexType>
			<xsd:complexContent>
				<xsd:extension base="ConditionExpressionType"/>
			</xsd:complexContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="ConditionExpressionType">
		<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:unique name="Start-ID">
			<xsd:selector xpath="."/>
			<xsd:field xpath="nameID"/>
		</xsd:unique>
	</xsd:element>
	<xsd:complexType name="StartType">
		<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:complexType name="TransitionType">
		<xsd:sequence>
			<xsd:element ref="FromLink"/>
			<xsd:element ref="ToLink"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="Decision" type="DecisionType">
		<xsd:unique name="Decision-ID">
			<xsd:selector xpath="."/>
			<xsd:field xpath="nameID"/>
		</xsd:unique>
	</xsd:element>
	<xsd:complexType name="DecisionType">
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="FromLink"/>
			<xsd:element ref="ToLink" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attributeGroup ref="name"/>
	</xsd:complexType>
	<xsd:element name="Fork" type="ForkType">
		<xsd:unique name="Fork-ID">
			<xsd:selector xpath="."/>
			<xsd:field xpath="nameID"/>
		</xsd:unique>
	</xsd:element>
	<xsd:complexType name="ForkType">
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="FromLink"/>
			<xsd:element ref="ToLink" 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:attribute name="timeToPerform" type="xsd:duration" use="optional"/>
	</xsd:complexType>
	<xsd:element name="Join" type="JoinType">
		<xsd:unique name="Join-ID">
			<xsd:selector xpath="."/>
			<xsd:field xpath="nameID"/>
		</xsd:unique>
	</xsd:element>
	<xsd:complexType name="JoinType">
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0" maxOccurs="unbounded"/>
			<xsd:element ref="FromLink" 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:unique name="Success-ID">
			<xsd:selector xpath="."/>
			<xsd:field xpath="nameID"/>
		</xsd:unique>
	</xsd:element>
	<xsd:element name="Failure" type="CompletionType">
		<xsd:unique name="Failure-ID">
			<xsd:selector xpath="."/>
			<xsd:field xpath="nameID"/>
		</xsd:unique>
	</xsd:element>
	<xsd:complexType name="CompletionType">
		<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:complexType name="BusinessActionType">
		<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:complexType name="RequestingBusinessActivityType">
		<xsd:complexContent>
			<xsd:extension base="BusinessActionType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="RespondingBusinessActivity" type="RespondingBusinessActivityType"/>
	<xsd:complexType name="RespondingBusinessActivityType">
		<xsd:complexContent>
			<xsd:extension base="BusinessActionType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="BusinessActivityType">
		<xsd:attributeGroup ref="name"/>
	</xsd:complexType>
	<xsd:element name="Performs">
		<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: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: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="BusinessTransaction" type="BusinessTransactionType"/>
	<xsd:complexType name="BusinessTransactionType">
		<xsd:sequence>
			<xsd:element ref="Documentation" minOccurs="0"/>
			<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: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="BusinessTransaction">
		<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="BusinessTransaction">
		<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="BusinessTransaction">
		<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="BusinessTransaction">
		<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="BusinessTransaction">
		<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="BusinessTransaction">
		<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>
	<!--NotificationOfFailure,ReceiptOfResponseAcknowledgement,General Exception-->
	<xsd:element name="Signal" type="SignalType"/>
	<xsd:complexType name="SignalEnvelopeType">
		<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: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: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:complexContent>
			<xsd:extension base="SignalEnvelopeType">
				<xsd:attribute name="isPositiveSignal" fixed="false"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="AcceptanceAcknowledgementType">
		<xsd:complexContent>
			<xsd:extension base="SignalEnvelopeType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="AcceptanceAcknowledgementExceptionType">
		<xsd:complexContent>
			<xsd:extension base="SignalEnvelopeType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:complexType name="GeneralExceptionType">
		<xsd:complexContent>
			<xsd:extension base="SignalEnvelopeType"/>
		</xsd:complexContent>
	</xsd:complexType>
	<xsd:element name="TimeToPerform">
		<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>businessTransactionActivityRef and businessDocumentRef point to what context and documents are relevant to ConditionExpression evalutation. Variable assumes type, if any, from expression evaluation</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>Maps a BTA and its BusinessDocuments to Interface/Operation messages</xsd:documentation>
		</xsd:annotation>
	</xsd:element>
	<xsd:complexType name="OperationMappingType">
		<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: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: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:list itemType="xsd:NMTOKEN"/>
	</xsd:simpleType>
	<xsd:simpleType name="ConditionGuardValueList">
		<xsd:list itemType="ConditionGuardValue"/>
	</xsd:simpleType>
	<xsd:simpleType name="ConditionGuardValue">
		<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: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: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: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: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:attribute name="name" type="xsd:string" use="required"/>
		<xsd:attribute name="nameID" type="xsd:ID" use="required"/>
	</xsd:attributeGroup>
	<xsd:attributeGroup name="quality">
		<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]