| <?xml version='1.0' encoding="UTF-8"?> |
| <!-- |
| ~ Licensed to the Apache Software Foundation (ASF) under one |
| ~ or more contributor license agreements. See the NOTICE file |
| ~ distributed with this work for additional information |
| ~ regarding copyright ownership. The ASF licenses this file |
| ~ to you under the Apache License, Version 2.0 (the |
| ~ "License"); you may not use this file except in compliance |
| ~ with the License. You may obtain a copy of the License at |
| ~ |
| ~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~ |
| ~ Unless required by applicable law or agreed to in writing, |
| ~ software distributed under the License is distributed on an |
| ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ~ KIND, either express or implied. See the License for the |
| ~ specific language governing permissions and limitations |
| ~ under the License. |
| --> |
| |
| <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"/> |
| <!-- ATTENTION: This is modified from the original schema to support simple types. --> |
| <complexType name="tFrom" mixed="true"> |
| <sequence> |
| <any namespace="##other" minOccurs="0" maxOccurs="unbounded" processContents="lax"/> |
| </sequence> |
| <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"/> |
| <anyAttribute namespace="##other" processContents="lax"/> |
| </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> |