blob: af2ff7a62dd5bc2f99622a512c060096f84e3dfb [file] [log] [blame]
<?xml version='1.0' encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
targetNamespace="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
elementFormDefault="qualified">
<import namespace="http://schemas.xmlsoap.org/wsdl/"
schemaLocation="http://schemas.xmlsoap.org/wsdl/"/>
<complexType name="tExtensibleElements">
<annotation>
<documentation>
This type is extended by other component types
to allow elements and attributes from
other namespaces to be added.
</documentation>
</annotation>
<sequence>
<any namespace="##other" minOccurs="0" maxOccurs="unbounded"
processContents="lax"/>
</sequence>
<anyAttribute namespace="##other" processContents="lax"/>
</complexType>
<element name="process" type="bpws:tProcess"/>
<complexType name="tProcess">
<complexContent>
<extension base="bpws:tExtensibleElements">
<sequence>
<element name="partnerLinks" type="bpws:tPartnerLinks"
minOccurs="0"/>
<element name="partners" type="bpws:tPartners"
minOccurs="0"/>
<element name="variables"
type="bpws:tVariables"
minOccurs="0"/>
<element name="correlationSets"
type="bpws:tCorrelationSets" minOccurs="0"/>
<element name="faultHandlers" type="bpws:tFaultHandlers"
minOccurs="0"/>
<element name="compensationHandler"
type="bpws:tCompensationHandler" minOccurs="0"/>
<element name="eventHandlers"
type="bpws:tEventHandlers" minOccurs="0"/>
<group ref="bpws:activity"/>
</sequence>
<attribute name="name" type="NCName"
use="required"/>
<attribute name="targetNamespace" type="anyURI"
use="required"/>
<attribute name="queryLanguage" type="anyURI"
default="http://www.w3.org/TR/1999/REC-xpath-19991116"/>
<attribute name="expressionLanguage" type="anyURI"
default="http://www.w3.org/TR/1999/REC-xpath-19991116"/>
<attribute name="suppressJoinFailure" type="bpws:tBoolean"
default="no"/>
<attribute name="enableInstanceCompensation"
type="bpws:tBoolean" default="no"/>
<attribute name="abstractProcess" type="bpws:tBoolean"
default="no"/>
</extension>
</complexContent>
</complexType>
<group name="activity">
<choice>
<element name="empty" type="bpws:tEmpty"/>
<element name="invoke" type="bpws:tInvoke"/>
<element name="receive" type="bpws:tReceive"/>
<element name="reply" type="bpws:tReply"/>
<element name="assign" type="bpws:tAssign"/>
<element name="wait" type="bpws:tWait"/>
<element name="throw" type="bpws:tThrow"/>
<element name="terminate" type="bpws:tTerminate"/>
<element name="flow" type="bpws:tFlow"/>
<element name="switch" type="bpws:tSwitch"/>
<element name="while" type="bpws:tWhile"/>
<element name="sequence" type="bpws:tSequence"/>
<element name="pick" type="bpws:tPick"/>
<element name="scope" type="bpws:tScope"/>
</choice>
</group>
<complexType name="tPartnerLinks">
<complexContent>
<extension base="bpws:tExtensibleElements">
<sequence>
<element name="partnerLink" type="bpws:tPartnerLink"
minOccurs="1" maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="tPartnerLink">
<complexContent>
<extension base="bpws:tExtensibleElements">
<attribute name="name" type="NCName" use="required"/>
<attribute name="partnerLinkType" type="QName"
use="required"/>
<attribute name="myRole" type="NCName"/>
<attribute name="partnerRole" type="NCName"/>
</extension>
</complexContent>
</complexType>
<complexType name="tPartners">
<complexContent>
<extension base="bpws:tExtensibleElements">
<sequence>
<element name="partner" type="bpws:tPartner"
minOccurs="1" maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="tPartner">
<complexContent>
<extension base="bpws:tExtensibleElements">
<sequence>
<element name="partnerLink" minOccurs="1"
maxOccurs="unbounded">
<complexType>
<complexContent>
<extension base="bpws:tExtensibleElements">
<attribute name="name" type="NCName"
use="required"/>
</extension>
</complexContent>
</complexType>
</element>
</sequence>
<attribute name="name" type="NCName" use="required"/>
</extension>
</complexContent>
</complexType>
<complexType name="tFaultHandlers">
<complexContent>
<extension base="bpws:tExtensibleElements">
<sequence>
<element name="catch" type="bpws:tCatch"
minOccurs="0" maxOccurs="unbounded"/>
<element name="catchAll" type="bpws:tActivityOrCompensateContainer"
minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="tCatch">
<complexContent>
<extension base="bpws:tActivityOrCompensateContainer">
<attribute name="faultName" type="QName"/>
<attribute name="faultVariable" type="NCName"/>
</extension>
</complexContent>
</complexType>
<complexType name="tActivityContainer">
<complexContent>
<extension base="bpws:tExtensibleElements">
<sequence>
<group ref="bpws:activity"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="tActivityOrCompensateContainer">
<complexContent>
<extension base="bpws:tExtensibleElements">
<choice>
<group ref="bpws:activity"/>
<element name="compensate" type="bpws:tCompensate"/>
</choice>
</extension>
</complexContent>
</complexType>
<complexType name="tEventHandlers">
<complexContent>
<extension base="bpws:tExtensibleElements">
<sequence>
<element name="onMessage" type="bpws:tOnMessage"
minOccurs="0" maxOccurs="unbounded"/>
<element name="onAlarm" type="bpws:tOnAlarm"
minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="tOnMessage">
<complexContent>
<extension base="bpws:tExtensibleElements">
<sequence>
<element name="correlations" type="bpws:tCorrelations"
minOccurs="0"/>
<group ref="bpws:activity"/>
</sequence>
<attribute name="partnerLink" type="NCName" use="required"/>
<attribute name="portType" type="QName" use="required"/>
<attribute name="operation" type="NCName" use="required"/>
<attribute name="variable" type="NCName"
use="optional"/>
</extension>
</complexContent>
</complexType>
<complexType name="tOnAlarm">
<complexContent>
<extension base="bpws:tActivityContainer">
<attribute name="for" type="bpws:tDuration-expr"/>
<attribute name="until" type="bpws:tDeadline-expr"/>
</extension>
</complexContent>
</complexType>
<complexType name="tCompensationHandler">
<complexContent>
<extension base="bpws:tActivityOrCompensateContainer"/>
</complexContent>
</complexType>
<complexType name="tVariables">
<complexContent>
<extension base="bpws:tExtensibleElements">
<sequence>
<element name="variable"
type="bpws:tVariable"
maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="tVariable">
<!-- variable does not allow extensibility elements
because otherwise its content model would be non-deterministic -->
<attribute name="name" type="NCName" use="required"/>
<attribute name="messageType" type="QName" use = "optional"/>
<attribute name="type" type="QName" use = "optional"/>
<attribute name="element" type="QName" use = "optional"/>
<anyAttribute namespace="##other" processContents="lax"/>
</complexType>
<complexType name="tCorrelationSets">
<complexContent>
<extension base="bpws:tExtensibleElements">
<sequence>
<element name="correlationSet"
type="bpws:tCorrelationSet"
maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="tCorrelationSet">
<complexContent>
<extension base="bpws:tExtensibleElements">
<attribute name="properties" use="required">
<simpleType>
<list itemType="QName"/>
</simpleType>
</attribute>
<attribute name="name" type="NCName" use="required"/>
</extension>
</complexContent>
</complexType>
<complexType name="tActivity">
<complexContent>
<extension base="bpws:tExtensibleElements">
<sequence>
<element name="target" type="bpws:tTarget"
minOccurs="0" maxOccurs="unbounded"/>
<element name="source" type="bpws:tSource"
minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="name" type="NCName"/>
<attribute name="joinCondition"
type="bpws:tBoolean-expr"/>
<attribute name="suppressJoinFailure"
type="bpws:tBoolean" default="no"/>
</extension>
</complexContent>
</complexType>
<complexType name="tSource">
<complexContent>
<extension base="bpws:tExtensibleElements">
<attribute name="linkName" type="NCName" use="required"/>
<attribute name="transitionCondition"
type="bpws:tBoolean-expr"/>
</extension>
</complexContent>
</complexType>
<complexType name="tTarget">
<complexContent>
<extension base="bpws:tExtensibleElements">
<attribute name="linkName" type="NCName" use="required"/>
</extension>
</complexContent>
</complexType>
<complexType name="tEmpty">
<complexContent>
<extension base="bpws:tActivity"/>
</complexContent>
</complexType>
<complexType name="tCorrelations">
<complexContent>
<extension base="bpws:tExtensibleElements">
<sequence>
<element name="correlation" type="bpws:tCorrelation"
minOccurs="1" maxOccurs="unbounded" />
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="tCorrelation">
<complexContent>
<extension base="bpws:tExtensibleElements">
<attribute name="set" type="NCName" use="required"/>
<attribute name="initiate" type="bpws:tBoolean"
default="no"/>
</extension>
</complexContent>
</complexType>
<complexType name="tCorrelationsWithPattern">
<complexContent>
<extension base="bpws:tExtensibleElements">
<sequence>
<element name="correlation"
type="bpws:tCorrelationWithPattern"
minOccurs="1"
maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="tCorrelationWithPattern">
<complexContent>
<extension base="bpws:tCorrelation">
<attribute name="pattern">
<simpleType>
<restriction base="string">
<enumeration value="in" />
<enumeration value="out" />
<enumeration value="out-in" />
</restriction>
</simpleType>
</attribute>
</extension>
</complexContent>
</complexType>
<complexType name="tInvoke">
<complexContent>
<extension base="bpws:tActivity">
<sequence>
<element name="correlations"
type="bpws:tCorrelationsWithPattern"
minOccurs="0" maxOccurs="1"/>
<element name="catch" type="bpws:tCatch"
minOccurs="0" maxOccurs="unbounded"/>
<element name="catchAll"
type="bpws:tActivityOrCompensateContainer"
minOccurs="0"/>
<element name="compensationHandler"
type="bpws:tCompensationHandler" minOccurs="0"/>
</sequence>
<attribute name="partnerLink" type="NCName" use="required"/>
<attribute name="portType" type="QName" use="required"/>
<attribute name="operation" type="NCName" use="required"/>
<attribute name="inputVariable"
type="NCName" use="optional"/>
<attribute name="outputVariable" type="NCName"
use="optional"/>
</extension>
</complexContent>
</complexType>
<complexType name="tReceive">
<complexContent>
<extension base="bpws:tActivity">
<sequence>
<element name="correlations"
type="bpws:tCorrelations" minOccurs="0"/>
</sequence>
<attribute name="partnerLink" type="NCName" use="required"/>
<attribute name="portType" type="QName" use="required"/>
<attribute name="operation" type="NCName" use="required"/>
<attribute name="variable" type="NCName" use="optional"/>
<attribute name="createInstance" type="bpws:tBoolean"
default="no"/>
</extension>
</complexContent>
</complexType>
<complexType name="tReply">
<complexContent>
<extension base="bpws:tActivity">
<sequence>
<element name="correlations"
type="bpws:tCorrelations" minOccurs="0"/>
</sequence>
<attribute name="partnerLink" type="NCName" use="required"/>
<attribute name="portType" type="QName" use="required"/>
<attribute name="operation" type="NCName" use="required"/>
<attribute name="variable" type="NCName"
use="optional"/>
<attribute name="faultName" type="QName"/>
</extension>
</complexContent>
</complexType>
<complexType name="tAssign">
<complexContent>
<extension base="bpws:tActivity">
<sequence>
<element name="copy" type="bpws:tCopy"
minOccurs="1" maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="tCopy">
<complexContent>
<extension base="bpws:tExtensibleElements">
<sequence>
<element ref="bpws:from"/>
<element ref="bpws:to"/>
</sequence>
</extension>
</complexContent>
</complexType>
<element name="from" type="bpws:tFrom"/>
<complexType name="tFrom">
<complexContent>
<extension base="bpws:tExtensibleElements">
<attribute name="variable" type="NCName"/>
<attribute name="part" type="NCName"/>
<attribute name="query" type="string"/>
<attribute name="property" type="QName"/>
<attribute name="partnerLink" type="NCName"/>
<attribute name="endpointReference" type="bpws:tRoles"/>
<attribute name="expression" type="string"/>
<attribute name="opaque" type="bpws:tBoolean"/>
</extension>
</complexContent>
</complexType>
<element name="to">
<complexType>
<complexContent>
<restriction base="bpws:tFrom">
<attribute name="expression" type="string"
use="prohibited"/>
<attribute name="opaque" type="bpws:tBoolean"
use="prohibited"/>
<attribute name="endpointReference" type="bpws:tRoles"
use="prohibited"/>
</restriction>
</complexContent>
</complexType>
</element>
<complexType name="tWait">
<complexContent>
<extension base="bpws:tActivity">
<attribute name="for"
type="bpws:tDuration-expr"/>
<attribute name="until"
type="bpws:tDeadline-expr"/>
</extension>
</complexContent>
</complexType>
<complexType name="tThrow">
<complexContent>
<extension base="bpws:tActivity">
<attribute name="faultName" type="QName" use="required"/>
<attribute name="faultVariable" type="NCName"/>
</extension>
</complexContent>
</complexType>
<complexType name="tCompensate">
<complexContent>
<extension base="bpws:tActivity">
<attribute name="scope" type="NCName"/>
</extension>
</complexContent>
</complexType>
<complexType name="tTerminate">
<complexContent>
<extension base="bpws:tActivity"/>
</complexContent>
</complexType>
<complexType name="tFlow">
<complexContent>
<extension base="bpws:tActivity">
<sequence>
<element name="links" type="bpws:tLinks" minOccurs="0"/>
<group ref="bpws:activity" maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="tLinks">
<complexContent>
<extension base="bpws:tExtensibleElements">
<sequence>
<element name="link"
type="bpws:tLink"
maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="tLink">
<complexContent>
<extension base="bpws:tExtensibleElements">
<attribute name="name" type="NCName" use="required"/>
</extension>
</complexContent>
</complexType>
<complexType name="tSwitch">
<complexContent>
<extension base="bpws:tActivity">
<sequence>
<element name="case" maxOccurs="unbounded">
<complexType>
<complexContent>
<extension base="bpws:tActivityContainer">
<attribute name="condition"
type="bpws:tBoolean-expr"
use="required"/>
</extension>
</complexContent>
</complexType>
</element>
<element name="otherwise"
type="bpws:tActivityContainer"
minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="tWhile">
<complexContent>
<extension base="bpws:tActivity">
<sequence>
<group ref="bpws:activity"/>
</sequence>
<attribute name="condition"
type="bpws:tBoolean-expr"
use="required"/>
</extension>
</complexContent>
</complexType>
<complexType name="tSequence">
<complexContent>
<extension base="bpws:tActivity">
<sequence>
<group ref="bpws:activity" maxOccurs="unbounded"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="tPick">
<complexContent>
<extension base="bpws:tActivity">
<sequence>
<element name="onMessage"
type="bpws:tOnMessage"
maxOccurs="unbounded"/>
<element name="onAlarm"
type="bpws:tOnAlarm" minOccurs="0"
maxOccurs="unbounded"/>
</sequence>
<attribute name="createInstance"
type="bpws:tBoolean" default="no"/>
</extension>
</complexContent>
</complexType>
<complexType name="tScope">
<complexContent>
<extension base="bpws:tActivity">
<sequence>
<element name="variables"
type="bpws:tVariables"
minOccurs="0"/>
<element name="correlationSets"
type="bpws:tCorrelationSets"
minOccurs="0"/>
<element name="faultHandlers"
type="bpws:tFaultHandlers"
minOccurs="0"/>
<element name="compensationHandler"
type="bpws:tCompensationHandler"
minOccurs="0"/>
<element name="eventHandlers"
type="bpws:tEventHandlers"
minOccurs="0"/>
<group ref="bpws:activity"/>
</sequence>
<attribute name="variableAccessSerializable"
type="bpws:tBoolean"
default="no"/>
</extension>
</complexContent>
</complexType>
<simpleType name="tBoolean-expr">
<restriction base="string"/>
</simpleType>
<simpleType name="tDuration-expr">
<restriction base="string"/>
</simpleType>
<simpleType name="tDeadline-expr">
<restriction base="string"/>
</simpleType>
<simpleType name="tBoolean">
<restriction base="string">
<enumeration value="yes"/>
<enumeration value="no"/>
</restriction>
</simpleType>
<simpleType name="tRoles">
<restriction base="string">
<enumeration value="myRole"/>
<enumeration value="partnerRole"/>
</restriction>
</simpleType>
</schema>