Modified: incubator/ode/trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/WSAEndpoint.java URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/WSAEndpoint.java?view=diff&rev=522657&r1=522656&r2=522657 ============================================================================== --- incubator/ode/trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/WSAEndpoint.java (original) +++ incubator/ode/trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/WSAEndpoint.java Mon Mar 26 16:18:52 2007 @@ -19,14 +19,14 @@ package org.apache.ode.bpel.epr; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.apache.ode.utils.DOMUtils; import org.apache.ode.utils.Namespaces; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import javax.xml.namespace.QName; import java.util.HashMap; @@ -122,7 +122,7 @@ if (elmt.getLocalName().equals(SERVICE_REF_QNAME.getLocalPart()) && elmt.getNamespaceURI().equals(SERVICE_REF_QNAME.getNamespaceURI())) elmt = DOMUtils.getFirstChildElement(elmt); - if (elmt.getLocalName().equals("EndpointReference") + if (elmt != null && elmt.getLocalName().equals("EndpointReference") && elmt.getNamespaceURI().equals(Namespaces.WS_ADDRESSING_NS)) return true; }
Modified: incubator/ode/trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/WSDL11Endpoint.java URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/WSDL11Endpoint.java?view=diff&rev=522657&r1=522656&r2=522657 ============================================================================== --- incubator/ode/trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/WSDL11Endpoint.java (original) +++ incubator/ode/trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/WSDL11Endpoint.java Mon Mar 26 16:18:52 2007 @@ -55,7 +55,9 @@ public boolean accept(Node node) { if (node.getNodeType() == Node.ELEMENT_NODE) { Element elmt = (Element) node; - if (elmt.getLocalName().equals("service-ref") && elmt.getNamespaceURI().equals(Namespaces.WS_BPEL_20_NS)) + if (elmt.getLocalName().equals("service-ref") && + (elmt.getNamespaceURI().equals(Namespaces.WS_BPEL_20_NS) || + elmt.getNamespaceURI().equals(Namespaces.WSBPEL2_0_FINAL_SERVREF))) elmt= DOMUtils.getFirstChildElement(elmt); if (elmt.getLocalName().equals("service") && elmt.getNamespaceURI().equals(Namespaces.WSDL_11)) return true; @@ -73,7 +75,7 @@ public Document toXML() { // Wrapping Document doc = DOMUtils.newDocument(); - Element serviceRef = doc.createElementNS(Namespaces.WS_BPEL_20_NS, "service-ref"); + Element serviceRef = doc.createElementNS(Namespaces.WSBPEL2_0_FINAL_SERVREF, "service-ref"); doc.appendChild(serviceRef); serviceRef.appendChild(doc.importNode(_serviceElmt, true)); return _serviceElmt.getOwnerDocument(); Modified: incubator/ode/trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/WSDL20Endpoint.java URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/WSDL20Endpoint.java?view=diff&rev=522657&r1=522656&r2=522657 ============================================================================== --- incubator/ode/trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/WSDL20Endpoint.java (original) +++ incubator/ode/trunk/bpel-epr/src/main/java/org/apache/ode/bpel/epr/WSDL20Endpoint.java Mon Mar 26 16:18:52 2007 @@ -75,7 +75,9 @@ public boolean accept(Node node) { if (node.getNodeType() == Node.ELEMENT_NODE) { Element elmt = (Element) node; - if (elmt.getLocalName().equals("service-ref") && elmt.getNamespaceURI().equals(Namespaces.WS_BPEL_20_NS)) + if (elmt.getLocalName().equals("service-ref") && + (elmt.getNamespaceURI().equals(Namespaces.WS_BPEL_20_NS) || + elmt.getNamespaceURI().equals(Namespaces.WSBPEL2_0_FINAL_SERVREF))) elmt= DOMUtils.getFirstChildElement(elmt); if (elmt.getLocalName().equals("service") && elmt.getNamespaceURI().equals(Namespaces.WSDL_20)) return true; @@ -93,7 +95,7 @@ public Document toXML() { // Wrapping Document doc = DOMUtils.newDocument(); - Element serviceRef = doc.createElementNS(Namespaces.WS_BPEL_20_NS, "service-ref"); + Element serviceRef = doc.createElementNS(Namespaces.WSBPEL2_0_FINAL_SERVREF, "service-ref"); doc.appendChild(serviceRef); serviceRef.appendChild(doc.importNode(_serviceElmt, true)); return doc; Modified: incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/JaxpFunctionResolver.java URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/JaxpFunctionResolver.java?view=diff&rev=522657&r1=522656&r2=522657 ============================================================================== --- incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/JaxpFunctionResolver.java (original) +++ incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/JaxpFunctionResolver.java Mon Mar 26 16:18:52 2007 @@ -19,22 +19,7 @@ package org.apache.ode.bpel.elang.xpath20.runtime; -import java.io.IOException; -import java.io.StringWriter; -import java.net.URI; -import java.net.URISyntaxException; -import java.util.HashMap; -import java.util.List; - -import javax.xml.namespace.QName; -import javax.xml.transform.dom.DOMSource; -import javax.xml.transform.stream.StreamResult; -import javax.xml.xpath.XPathFunction; -import javax.xml.xpath.XPathFunctionException; -import javax.xml.xpath.XPathFunctionResolver; - import net.sf.saxon.dom.NodeWrapper; - import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.ode.bpel.common.FaultException; @@ -49,12 +34,26 @@ import org.apache.ode.bpel.o.OScope; import org.apache.ode.bpel.o.OXslSheet; import org.apache.ode.utils.DOMUtils; +import org.apache.ode.utils.Namespaces; import org.apache.ode.utils.xsl.XslTransformHandler; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.xml.sax.SAXException; +import javax.xml.namespace.QName; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; +import javax.xml.xpath.XPathFunction; +import javax.xml.xpath.XPathFunctionException; +import javax.xml.xpath.XPathFunctionResolver; +import java.io.IOException; +import java.io.StringWriter; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.HashMap; +import java.util.List; + /** * @author mriou <mriou at apache dot org> */ @@ -64,19 +63,18 @@ private EvaluationContext _ectx; private OXPath20ExpressionBPEL20 _oxpath; - private String _bpelNS; - public JaxpFunctionResolver(EvaluationContext ectx, OXPath20ExpressionBPEL20 oxpath, String bpelNS) { + public JaxpFunctionResolver(EvaluationContext ectx, OXPath20ExpressionBPEL20 oxpath) { _ectx = ectx; _oxpath = oxpath; - _bpelNS = bpelNS; } public XPathFunction resolveFunction(QName functionName, int arity) { __log.debug("Resolving function " + functionName); if (functionName.getNamespaceURI() == null) { throw new WrappedResolverException("Undeclared namespace for " + functionName); - } else if (functionName.getNamespaceURI().equals(_bpelNS)) { + } else if (functionName.getNamespaceURI().equals(Namespaces.WS_BPEL_20_NS) || + functionName.getNamespaceURI().equals(Namespaces.WSBPEL2_0_FINAL_EXEC)) { String localName = functionName.getLocalPart(); if (Constants.EXT_FUNCTION_GETVARIABLEDATA.equals(localName)) { return new GetVariableData(); Modified: incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntime.java URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntime.java?view=diff&rev=522657&r1=522656&r2=522657 ============================================================================== --- incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntime.java (original) +++ incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/elang/xpath20/runtime/XPath20ExpressionRuntime.java Mon Mar 26 16:18:52 2007 @@ -24,7 +24,6 @@ import org.apache.commons.logging.LogFactory; import org.apache.ode.bpel.common.FaultException; import org.apache.ode.bpel.elang.xpath10.o.OXPath10Expression; -import org.apache.ode.bpel.elang.xpath20.compiler.Constants; import org.apache.ode.bpel.elang.xpath20.compiler.WrappedResolverException; import org.apache.ode.bpel.elang.xpath20.o.OXPath20ExpressionBPEL20; import org.apache.ode.bpel.explang.ConfigurationException; @@ -166,7 +165,7 @@ net.sf.saxon.xpath.XPathFactoryImpl xpf = new net.sf.saxon.xpath.XPathFactoryImpl(); OXPath20ExpressionBPEL20 oxpath20 = ((OXPath20ExpressionBPEL20) cexp); - xpf.setXPathFunctionResolver(new JaxpFunctionResolver(ctx, oxpath20, Constants.BPEL20_NS)); + xpf.setXPathFunctionResolver(new JaxpFunctionResolver(ctx, oxpath20)); xpf.setXPathVariableResolver(new JaxpVariableResolver(ctx, oxpath20)); XPathEvaluator xpe = (XPathEvaluator) xpf.newXPath(); xpe.setNamespaceContext(oxpath20.namespaceCtx); Modified: incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ASSIGN.java URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ASSIGN.java?view=diff&rev=522657&r1=522656&r2=522657 ============================================================================== --- incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ASSIGN.java (original) +++ incubator/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/ASSIGN.java Mon Mar 26 16:18:52 2007 @@ -430,7 +430,7 @@ if (rvalue.getNodeType() == Node.TEXT_NODE || (rvalue.getNodeType() == Node.ELEMENT_NODE && !rvalue.getLocalName().equals("service-ref"))) { Document doc = DOMUtils.newDocument(); - Element serviceRef = doc.createElementNS(Namespaces.WS_BPEL_20_NS, "service-ref"); + Element serviceRef = doc.createElementNS(Namespaces.WSBPEL2_0_FINAL_SERVREF, "service-ref"); doc.appendChild(serviceRef); NodeList children = rvalue.getChildNodes(); for (int m = 0; m < children.getLength(); m++) { Added: incubator/ode/trunk/bpel-schemas/src/main/resources/ws-bpel_abstract_common_base.xsd URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-schemas/src/main/resources/ws-bpel_abstract_common_base.xsd?view=auto&rev=522657 ============================================================================== --- incubator/ode/trunk/bpel-schemas/src/main/resources/ws-bpel_abstract_common_base.xsd (added) +++ incubator/ode/trunk/bpel-schemas/src/main/resources/ws-bpel_abstract_common_base.xsd Mon Mar 26 16:18:52 2007 @@ -0,0 +1,1187 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (c) OASIS Open 2006. All Rights Reserved. +--> +<xsd:schema targetNamespace="http://docs.oasis-open.org/wsbpel/2.0/process/abstract" + xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/abstract" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:xsd-derived="http://docs.oasis-open.org/wsbpel/2.0/process/abstract" + elementFormDefault="qualified" + blockDefault="#all"> + + <xsd:annotation> + <xsd:documentation> + Schema for Abstract Process Common Base for WS-BPEL 2.0 + Last modified date: 9th December, 2006 + + NOTE: Here is the changes path from Exec BPEL XSD to this XSD: + (a) have a global replace from minOccurs=1 to minOccurs=0 for element declaration + (b) have a global replace from use=required to use=optional for attribute declaration + (c) change "xsd-derived" from XSD NS to this Abstract BPEL NS and define the corresponding simple types + (d) adding "##opaque" to BPELVariableName, tInitiate, tPattern, tRoles, tBoolean + (e) add abstractProcessProfile to tProcess + (f) add opaqueActivity + (g) add tOpaqueBoolean type and add opaque attribute tExpression, tQuery, tFrom, tTo + (h) add opaqueFrom element and introduce fromGroup + (i) Change the sequence for "tOnAlarmEvent" + <![CDATA[ + From: + --------------------- + <xsd:sequence> + <xsd:choice> + <xsd:sequence> + <xsd:group ref="forOrUntilGroup" minOccurs="1"/> + <xsd:element ref="repeatEvery" minOccurs="0"/> + </xsd:sequence> + <xsd:element ref="repeatEvery" minOccurs="1"/> + </xsd:choice> + <xsd:element ref="scope" minOccurs="1"/> + </xsd:sequence> + --------------------- + To: + --------------------- + <xsd:sequence> + <xsd:group ref="forOrUntilGroup" minOccurs="0"/> + <xsd:element ref="repeatEvery" minOccurs="0"/> + <xsd:element ref="scope" minOccurs="0"/> + </xsd:sequence> + --------------------- + ]]> + + 2006-08-07: Rev 1.1: Alex Yiu + Branching off from wsbpel_main.xsd of Rev 1.48: + by changing targetNamespace + and changing prefix "simple" to "xsd-derived" and its corresponding namespace + 2006-08-08: Rev 1.2: Alex Yiu + Minor cosmetic change + 2006-08-09: Rev 1.3: Alex Yiu + A minor update and clarification in comments and documentation + 2006-08-16: Rev 1.4: Thomas Schulze + Minor formatting changes. + Apply AI 151: change the defaults of queryLanguage and expressionLanguage from "urn:oasis:names:tc:ws2.0:sublang:xpath1.0" + to "urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0". + Apply AI 152: change the targetNamespace from "http://docs.oasis-open.org/ws-bpel/2.0/process/abstract" + to "http://docs.oasis-open.org/wsbpel/2.0/process/abstract". + Apply the two friendly amendments made in today's call. That are: + 1) make the QName list non empty (simpleType QNames) + 2) make fromParts, fromPart, toParts, toPart extensible + Add a copyright statement. + 2006-08-17: Rev 1.5: Alex Yiu + Adding last modified date and small reformatting for copyright statement + 2006-10-18: Rev 1.6: Alex Yiu + Apply changes for public review issue R17 + to correct the definition of "tOnAlarmEvent" + Apply changes for public review issue R9 + to qualify the "LED" comment + 2006-11-15: Rev 1.7: Alex Yiu + Issue R29: Removing the default for "initializePartnerRole" + 2006-11-15: Rev 1.8: Alex Yiu + Issue R33: Adding "ignoreMissingFromData" attribute + 2006-12-09: Rev 1.9: Alex Yiu + Changed the last modified date + </xsd:documentation> + </xsd:annotation> + + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/> + + <xsd:element name="process" type="tProcess"> + <xsd:annotation> + <xsd:documentation> + This is the root element for a WS-BPEL 2.0 process. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:complexType name="tProcess"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element ref="extensions" minOccurs="0"/> + <xsd:element ref="import" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element ref="partnerLinks" minOccurs="0"/> + <xsd:element ref="messageExchanges" minOccurs="0"/> + <xsd:element ref="variables" minOccurs="0"/> + <xsd:element ref="correlationSets" minOccurs="0"/> + <xsd:element ref="faultHandlers" minOccurs="0"/> + <xsd:element ref="eventHandlers" minOccurs="0"/> + <xsd:group ref="activity" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd-derived:NCName" use="optional"/> + <xsd:attribute name="targetNamespace" type="xsd-derived:anyURI" use="optional"/> + <xsd:attribute name="queryLanguage" type="xsd-derived:anyURI" default="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"/> + <xsd:attribute name="expressionLanguage" type="xsd-derived:anyURI" default="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"/> + <xsd:attribute name="suppressJoinFailure" type="tBoolean" default="no"/> + <xsd:attribute name="exitOnStandardFault" type="tBoolean" default="no"/> + <xsd:attribute name="abstractProcessProfile" type="xsd:anyURI" use="required"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:complexType name="tExtensibleElements"> + <xsd:annotation> + <xsd:documentation> + This type is extended by other component types to allow elements and attributes from + other namespaces to be added at the modeled places. + </xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element ref="documentation" minOccurs="0" maxOccurs="unbounded"/> + <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:anyAttribute namespace="##other" processContents="lax"/> + </xsd:complexType> + + <xsd:element name="documentation" type="tDocumentation"/> + <xsd:complexType name="tDocumentation" mixed="true"> + <xsd:sequence> + <xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="source" type="xsd-derived:anyURI"/> + <xsd:attribute ref="xml:lang"/> + </xsd:complexType> + + <xsd:group name="activity"> + <xsd:annotation> + <xsd:documentation> + All standard WS-BPEL 2.0 activities in alphabetical order. Basic activities + and structured activities. + Addtional constraints: + - rethrow activity can be used ONLY within a fault handler + (i.e. "catch" and "catchAll" element) + - compensate or compensateScope activity can be used ONLY + within a fault handler, a compensation handler or a termination handler + </xsd:documentation> + </xsd:annotation> + <xsd:choice> + <xsd:element ref="assign"/> + <xsd:element ref="compensate"/> + <xsd:element ref="compensateScope"/> + <xsd:element ref="empty"/> + <xsd:element ref="exit"/> + <xsd:element ref="extensionActivity"/> + <xsd:element ref="flow"/> + <xsd:element ref="forEach"/> + <xsd:element ref="if"/> + <xsd:element ref="invoke"/> + <xsd:element ref="pick"/> + <xsd:element ref="receive"/> + <xsd:element ref="repeatUntil"/> + <xsd:element ref="reply"/> + <xsd:element ref="rethrow"/> + <xsd:element ref="scope"/> + <xsd:element ref="sequence"/> + <xsd:element ref="throw"/> + <xsd:element ref="validate"/> + <xsd:element ref="wait"/> + <xsd:element ref="while"/> + <xsd:element ref="opaqueActivity"/> + </xsd:choice> + </xsd:group> + + <xsd:element name="extensions" type="tExtensions"/> + <xsd:complexType name="tExtensions"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element ref="extension" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="extension" type="tExtension"/> + <xsd:complexType name="tExtension"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:attribute name="namespace" type="xsd-derived:anyURI" use="optional"/> + <xsd:attribute name="mustUnderstand" type="tBoolean" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="import" type="tImport"/> + <xsd:complexType name="tImport"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:attribute name="namespace" type="xsd-derived:anyURI" use="optional"/> + <xsd:attribute name="location" type="xsd-derived:anyURI" use="optional"/> + <xsd:attribute name="importType" type="xsd-derived:anyURI" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="partnerLinks" type="tPartnerLinks"/> + <xsd:complexType name="tPartnerLinks"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element ref="partnerLink" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="partnerLink" type="tPartnerLink"/> + <xsd:complexType name="tPartnerLink"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:attribute name="name" type="xsd-derived:NCName" use="optional"/> + <xsd:attribute name="partnerLinkType" type="xsd-derived:QName" use="optional"/> + <xsd:attribute name="myRole" type="xsd-derived:NCName"/> + <xsd:attribute name="partnerRole" type="xsd-derived:NCName"/> + <xsd:attribute name="initializePartnerRole" type="tBoolean"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="messageExchanges" type="tMessageExchanges"/> + <xsd:complexType name="tMessageExchanges"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element ref="messageExchange" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="messageExchange" type="tMessageExchange"/> + <xsd:complexType name="tMessageExchange"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:attribute name="name" type="xsd-derived:NCName" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="variables" type="tVariables"/> + <xsd:complexType name="tVariables"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element ref="variable" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="variable" type="tVariable"/> + <xsd:complexType name="tVariable"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:group ref="fromGroup" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" type="BPELVariableName" use="optional"/> + <xsd:attribute name="messageType" type="xsd-derived:QName" use="optional"/> + <xsd:attribute name="type" type="xsd-derived:QName" use="optional"/> + <xsd:attribute name="element" type="xsd-derived:QName" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:simpleType name="BPELVariableName"> + <xsd:union> + <xsd:simpleType> + <xsd:restriction base="xsd:NCName"> + <xsd:pattern value="[^\.]+"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:simpleType> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="##opaque"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:union> + </xsd:simpleType> + + <xsd:element name="correlationSets" type="tCorrelationSets"/> + <xsd:complexType name="tCorrelationSets"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element ref="correlationSet" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="correlationSet" type="tCorrelationSet"/> + <xsd:complexType name="tCorrelationSet"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:attribute name="properties" type="QNames" use="optional"/> + <xsd:attribute name="name" type="xsd-derived:NCName" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:simpleType name="QNames"> + <xsd:restriction> + <xsd:simpleType> + <xsd:list itemType="xsd-derived:QName"/> + </xsd:simpleType> + <xsd:minLength value="1"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:element name="faultHandlers" type="tFaultHandlers"/> + <xsd:complexType name="tFaultHandlers"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element ref="catch" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element ref="catchAll" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="catch" type="tCatch"> + <xsd:annotation> + <xsd:documentation> + This element can contain all activities including the activities + compensate, compensateScope and rethrow. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:complexType name="tCatch"> + <xsd:complexContent> + <xsd:extension base="tActivityContainer"> + <xsd:attribute name="faultName" type="xsd-derived:QName"/> + <xsd:attribute name="faultVariable" type="BPELVariableName"/> + <xsd:attribute name="faultMessageType" type="xsd-derived:QName"/> + <xsd:attribute name="faultElement" type="xsd-derived:QName"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="catchAll" type="tActivityContainer"> + <xsd:annotation> + <xsd:documentation> + This element can contain all activities including the activities + compensate, compensateScope and rethrow. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:complexType name="tActivityContainer"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:group ref="activity" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="eventHandlers" type="tEventHandlers"/> + <xsd:complexType name="tEventHandlers"> + <xsd:annotation> + <xsd:documentation> + XSD Authors: The child element onAlarm needs to be a Local Element Declaration, + because there is another onAlarm element defined for the pick activity. + </xsd:documentation> + </xsd:annotation> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element ref="onEvent" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="onAlarm" type="tOnAlarmEvent" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="onEvent" type="tOnEvent"/> + <xsd:complexType name="tOnEvent"> + <xsd:complexContent> + <xsd:extension base="tOnMsgCommon"> + <xsd:sequence> + <xsd:element ref="scope" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="messageType" type="xsd-derived:QName" use="optional"/> + <xsd:attribute name="element" type="xsd-derived:QName" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:complexType name="tOnMsgCommon"> + <xsd:annotation> + <xsd:documentation> + XSD Authors: The child element correlations needs to be a Local Element Declaration, + because there is another correlations element defined for the invoke activity. + </xsd:documentation> + </xsd:annotation> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element name="correlations" type="tCorrelations" minOccurs="0"/> + <xsd:element ref="fromParts" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="partnerLink" type="xsd-derived:NCName" use="optional"/> + <xsd:attribute name="portType" type="xsd-derived:QName" use="optional"/> + <xsd:attribute name="operation" type="xsd-derived:NCName" use="optional"/> + <xsd:attribute name="messageExchange" type="xsd-derived:NCName" use="optional"/> + <xsd:attribute name="variable" type="BPELVariableName" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:complexType name="tCorrelations"> + <xsd:annotation> + <xsd:documentation> + XSD Authors: The child element correlation needs to be a Local Element Declaration, + because there is another correlation element defined for the invoke activity. + </xsd:documentation> + </xsd:annotation> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element name="correlation" type="tCorrelation" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:complexType name="tCorrelation"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:attribute name="set" type="xsd-derived:NCName" use="optional"/> + <xsd:attribute name="initiate" type="tInitiate" default="no"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:simpleType name="tInitiate"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="yes"/> + <xsd:enumeration value="join"/> + <xsd:enumeration value="no"/> + <xsd:enumeration value="##opaque"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:complexType name="tOnAlarmEvent"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:group ref="forOrUntilGroup" minOccurs="0"/> + <xsd:element ref="repeatEvery" minOccurs="0"/> + <xsd:element ref="scope" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:group name="forOrUntilGroup"> + <xsd:choice> + <xsd:element ref="for" minOccurs="0"/> + <xsd:element ref="until" minOccurs="0"/> + </xsd:choice> + </xsd:group> + + <xsd:element name="for" type="tDuration-expr"/> + + <xsd:element name="until" type="tDeadline-expr"/> + + <xsd:element name="repeatEvery" type="tDuration-expr"/> + + <xsd:complexType name="tActivity"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element ref="targets" minOccurs="0"/> + <xsd:element ref="sources" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="name" type="xsd-derived:NCName"/> + <xsd:attribute name="suppressJoinFailure" type="tBoolean" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="targets" type="tTargets"/> + <xsd:complexType name="tTargets"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element ref="joinCondition" minOccurs="0"/> + <xsd:element ref="target" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="joinCondition" type="tCondition"/> + + <xsd:element name="target" type="tTarget"/> + <xsd:complexType name="tTarget"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:attribute name="linkName" type="xsd-derived:NCName" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="sources" type="tSources"/> + <xsd:complexType name="tSources"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element ref="source" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="source" type="tSource"/> + <xsd:complexType name="tSource"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element ref="transitionCondition" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="linkName" type="xsd-derived:NCName" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="transitionCondition" type="tCondition"/> + + <xsd:element name="assign" type="tAssign"/> + <xsd:complexType name="tAssign"> + <xsd:complexContent> + <xsd:extension base="tActivity"> + <xsd:sequence> + <xsd:choice maxOccurs="unbounded"> + <xsd:element ref="copy" minOccurs="0"/> + <xsd:element ref="extensionAssignOperation" minOccurs="0"/> + </xsd:choice> + </xsd:sequence> + <xsd:attribute name="validate" type="tBoolean" use="optional" default="no"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="copy" type="tCopy"/> + <xsd:complexType name="tCopy"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:group ref="fromGroup" minOccurs="0"/> + <xsd:element ref="to" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="keepSrcElementName" type="tBoolean" use="optional" default="no"/> + <xsd:attribute name="ignoreMissingFromData" type="tBoolean" use="optional" default="no"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:group name="fromGroup"> + <xsd:choice> + <xsd:element ref="opaqueFrom"/> + <xsd:element ref="from"/> + </xsd:choice> + </xsd:group> + + <xsd:element name="opaqueFrom" type="tExtensibleElements"/> + + <xsd:element name="from" type="tFrom"/> + <xsd:complexType name="tFrom" mixed="true"> + <xsd:sequence> + <xsd:element ref="documentation" minOccurs="0" maxOccurs="unbounded"/> + <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + <xsd:choice minOccurs="0"> + <xsd:element ref="literal" minOccurs="0"/> + <xsd:element ref="query" minOccurs="0"/> + </xsd:choice> + </xsd:sequence> + <xsd:attribute name="expressionLanguage" type="xsd-derived:anyURI"/> + <xsd:attribute name="variable" type="BPELVariableName"/> + <xsd:attribute name="part" type="xsd-derived:NCName"/> + <xsd:attribute name="property" type="xsd-derived:QName"/> + <xsd:attribute name="partnerLink" type="xsd-derived:NCName"/> + <xsd:attribute name="endpointReference" type="tRoles"/> + <xsd:attribute name="opaque" type="xsd-derived:tOpaqueBoolean"/> + <xsd:anyAttribute namespace="##other" processContents="lax"/> + </xsd:complexType> + + <xsd:element name="literal" type="tLiteral"/> + <xsd:complexType name="tLiteral" mixed="true"> + <xsd:sequence> + <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="1"/> + </xsd:sequence> + </xsd:complexType> + + <xsd:element name="query" type="tQuery"/> + <xsd:complexType name="tQuery" mixed="true"> + <xsd:sequence> + <xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="queryLanguage" type="xsd-derived:anyURI"/> + <xsd:attribute name="opaque" type="xsd-derived:tOpaqueBoolean"/> + <xsd:anyAttribute namespace="##other" processContents="lax"/> + </xsd:complexType> + + <xsd:simpleType name="tRoles"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="myRole"/> + <xsd:enumeration value="partnerRole"/> + <xsd:enumeration value="##opaque"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:element name="to" type="tTo"/> + <xsd:complexType name="tTo" mixed="true"> + <xsd:sequence> + <xsd:element ref="documentation" minOccurs="0" maxOccurs="unbounded"/> + <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element ref="query" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="opaque" type="xsd-derived:tOpaqueBoolean"/> + <xsd:attribute name="expressionLanguage" type="xsd-derived:anyURI"/> + <xsd:attribute name="variable" type="BPELVariableName"/> + <xsd:attribute name="part" type="xsd-derived:NCName"/> + <xsd:attribute name="property" type="xsd-derived:QName"/> + <xsd:attribute name="partnerLink" type="xsd-derived:NCName"/> + <xsd:anyAttribute namespace="##other" processContents="lax"/> + </xsd:complexType> + + <xsd:element name="extensionAssignOperation" type="tExtensionAssignOperation"/> + <xsd:complexType name="tExtensionAssignOperation"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"/> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="compensate" type="tCompensate"/> + <xsd:complexType name="tCompensate"> + <xsd:complexContent> + <xsd:extension base="tActivity"/> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="compensateScope" type="tCompensateScope"/> + <xsd:complexType name="tCompensateScope"> + <xsd:complexContent> + <xsd:extension base="tActivity"> + <xsd:attribute name="target" type="xsd-derived:NCName" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="empty" type="tEmpty"/> + <xsd:complexType name="tEmpty"> + <xsd:complexContent> + <xsd:extension base="tActivity"/> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="exit" type="tExit"/> + <xsd:complexType name="tExit"> + <xsd:complexContent> + <xsd:extension base="tActivity"/> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="extensionActivity" type="tExtensionActivity"/> + <xsd:complexType name="tExtensionActivity"> + <xsd:sequence> + <xsd:any namespace="##other" processContents="lax"/> + </xsd:sequence> + </xsd:complexType> + + <xsd:element name="flow" type="tFlow"/> + <xsd:complexType name="tFlow"> + <xsd:complexContent> + <xsd:extension base="tActivity"> + <xsd:sequence> + <xsd:element ref="links" minOccurs="0"/> + <xsd:group ref="activity" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="links" type="tLinks"/> + <xsd:complexType name="tLinks"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element ref="link" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="link" type="tLink"/> + <xsd:complexType name="tLink"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:attribute name="name" type="xsd-derived:NCName" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="forEach" type="tForEach"/> + <xsd:complexType name="tForEach"> + <xsd:complexContent> + <xsd:extension base="tActivity"> + <xsd:sequence> + <xsd:element ref="startCounterValue" minOccurs="0"/> + <xsd:element ref="finalCounterValue" minOccurs="0"/> + <xsd:element ref="completionCondition" minOccurs="0"/> + <xsd:element ref="scope" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="counterName" type="BPELVariableName" use="optional"/> + <xsd:attribute name="parallel" type="tBoolean" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="startCounterValue" type="tExpression"/> + + <xsd:element name="finalCounterValue" type="tExpression"/> + + <xsd:element name="completionCondition" type="tCompletionCondition"/> + <xsd:complexType name="tCompletionCondition"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element ref="branches" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="branches" type="tBranches"/> + <xsd:complexType name="tBranches"> + <xsd:complexContent> + <xsd:extension base="tExpression"> + <xsd:attribute name="successfulBranchesOnly" type="tBoolean" default="no"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="if" type="tIf"/> + <xsd:complexType name="tIf"> + <xsd:complexContent> + <xsd:extension base="tActivity"> + <xsd:sequence> + <xsd:element ref="condition" minOccurs="0"/> + <xsd:group ref="activity" minOccurs="0"/> + <xsd:element ref="elseif" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element ref="else" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="elseif" type="tElseif"/> + <xsd:complexType name="tElseif"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element ref="condition" minOccurs="0"/> + <xsd:group ref="activity" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="else" type="tActivityContainer"/> + + <xsd:element name="invoke" type="tInvoke"/> + <xsd:complexType name="tInvoke"> + <xsd:annotation> + <xsd:documentation> + XSD Authors: The child element correlations needs to be a Local Element Declaration, + because there is another correlations element defined for the non-invoke activities. + </xsd:documentation> + </xsd:annotation> + <xsd:complexContent> + <xsd:extension base="tActivity"> + <xsd:sequence> + <xsd:element name="correlations" type="tCorrelationsWithPattern" minOccurs="0"/> + <xsd:element ref="catch" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element ref="catchAll" minOccurs="0"/> + <xsd:element ref="compensationHandler" minOccurs="0"/> + <xsd:element ref="toParts" minOccurs="0"/> + <xsd:element ref="fromParts" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="partnerLink" type="xsd-derived:NCName" use="optional"/> + <xsd:attribute name="portType" type="xsd-derived:QName" use="optional"/> + <xsd:attribute name="operation" type="xsd-derived:NCName" use="optional"/> + <xsd:attribute name="inputVariable" type="BPELVariableName" use="optional"/> + <xsd:attribute name="outputVariable" type="BPELVariableName" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:complexType name="tCorrelationsWithPattern"> + <xsd:annotation> + <xsd:documentation> + XSD Authors: The child element correlation needs to be a Local Element Declaration, + because there is another correlation element defined for the non-invoke activities. + </xsd:documentation> + </xsd:annotation> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element name="correlation" type="tCorrelationWithPattern" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:complexType name="tCorrelationWithPattern"> + <xsd:complexContent> + <xsd:extension base="tCorrelation"> + <xsd:attribute name="pattern" type="tPattern"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:simpleType name="tPattern"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="request"/> + <xsd:enumeration value="response"/> + <xsd:enumeration value="request-response"/> + <xsd:enumeration value="##opaque"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:element name="fromParts" type="tFromParts"/> + <xsd:complexType name="tFromParts"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element ref="fromPart" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="fromPart" type="tFromPart"/> + <xsd:complexType name="tFromPart"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:attribute name="part" type="xsd-derived:NCName" use="optional"/> + <xsd:attribute name="toVariable" type="BPELVariableName" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="toParts" type="tToParts"/> + <xsd:complexType name="tToParts"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:element ref="toPart" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="toPart" type="tToPart"/> + <xsd:complexType name="tToPart"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:attribute name="part" type="xsd-derived:NCName" use="optional"/> + <xsd:attribute name="fromVariable" type="BPELVariableName" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="pick" type="tPick"/> + <xsd:complexType name="tPick"> + <xsd:annotation> + <xsd:documentation> + XSD Authors: The child element onAlarm needs to be a Local Element Declaration, + because there is another onAlarm element defined for event handlers. + </xsd:documentation> + </xsd:annotation> + <xsd:complexContent> + <xsd:extension base="tActivity"> + <xsd:sequence> + <xsd:element ref="onMessage" minOccurs="0" maxOccurs="unbounded"/> + <xsd:element name="onAlarm" type="tOnAlarmPick" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute name="createInstance" type="tBoolean" default="no"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="onMessage" type="tOnMessage"/> + <xsd:complexType name="tOnMessage"> + <xsd:complexContent> + <xsd:extension base="tOnMsgCommon"> + <xsd:sequence> + <xsd:group ref="activity" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:complexType name="tOnAlarmPick"> + <xsd:complexContent> + <xsd:extension base="tExtensibleElements"> + <xsd:sequence> + <xsd:group ref="forOrUntilGroup" minOccurs="0"/> + <xsd:group ref="activity" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="receive" type="tReceive"/> + <xsd:complexType name="tReceive"> + <xsd:annotation> + <xsd:documentation> + XSD Authors: The child element correlations needs to be a Local Element Declaration, + because there is another correlations element defined for the invoke activity. + </xsd:documentation> + </xsd:annotation> + <xsd:complexContent> + <xsd:extension base="tActivity"> + <xsd:sequence> + <xsd:element name="correlations" type="tCorrelations" minOccurs="0"/> + <xsd:element ref="fromParts" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="partnerLink" type="xsd-derived:NCName" use="optional"/> + <xsd:attribute name="portType" type="xsd-derived:QName" use="optional"/> + <xsd:attribute name="operation" type="xsd-derived:NCName" use="optional"/> + <xsd:attribute name="variable" type="BPELVariableName" use="optional"/> + <xsd:attribute name="createInstance" type="tBoolean" default="no"/> + <xsd:attribute name="messageExchange" type="xsd-derived:NCName" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="repeatUntil" type="tRepeatUntil"/> + <xsd:complexType name="tRepeatUntil"> + <xsd:complexContent> + <xsd:extension base="tActivity"> + <xsd:sequence> + <xsd:group ref="activity" minOccurs="0"/> + <xsd:element ref="condition" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="reply" type="tReply"/> + <xsd:complexType name="tReply"> + <xsd:annotation> + <xsd:documentation> + XSD Authors: The child element correlations needs to be a Local Element Declaration, + because there is another correlations element defined for the invoke activity. + </xsd:documentation> + </xsd:annotation> + <xsd:complexContent> + <xsd:extension base="tActivity"> + <xsd:sequence> + <xsd:element name="correlations" type="tCorrelations" minOccurs="0"/> + <xsd:element ref="toParts" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="partnerLink" type="xsd-derived:NCName" use="optional"/> + <xsd:attribute name="portType" type="xsd-derived:QName" use="optional"/> + <xsd:attribute name="operation" type="xsd-derived:NCName" use="optional"/> + <xsd:attribute name="variable" type="BPELVariableName" use="optional"/> + <xsd:attribute name="faultName" type="xsd-derived:QName"/> + <xsd:attribute name="messageExchange" type="xsd-derived:NCName" use="optional"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="rethrow" type="tRethrow"/> + <xsd:complexType name="tRethrow"> + <xsd:complexContent> + <xsd:extension base="tActivity"/> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="scope" type="tScope"/> + <xsd:complexType name="tScope"> + <xsd:annotation> + <xsd:documentation> + There is no schema-level default for "exitOnStandardFault" + at "scope". Because, it will inherit default from enclosing scope + or process. + </xsd:documentation> + </xsd:annotation> + <xsd:complexContent> + <xsd:extension base="tActivity"> + <xsd:sequence> + <xsd:element ref="partnerLinks" minOccurs="0"/> + <xsd:element ref="messageExchanges" minOccurs="0"/> + <xsd:element ref="variables" minOccurs="0"/> + <xsd:element ref="correlationSets" minOccurs="0"/> + <xsd:element ref="faultHandlers" minOccurs="0"/> + <xsd:element ref="compensationHandler" minOccurs="0"/> + <xsd:element ref="terminationHandler" minOccurs="0"/> + <xsd:element ref="eventHandlers" minOccurs="0"/> + <xsd:group ref="activity" minOccurs="0"/> + </xsd:sequence> + <xsd:attribute name="isolated" type="tBoolean" default="no"/> + <xsd:attribute name="exitOnStandardFault" type="tBoolean"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="compensationHandler" type="tActivityContainer"> + <xsd:annotation> + <xsd:documentation> + This element can contain all activities including the activities + compensate and compensateScope. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="terminationHandler" type="tActivityContainer"> + <xsd:annotation> + <xsd:documentation> + This element can contain all activities including the activities + compensate and compensateScope. + </xsd:documentation> + </xsd:annotation> + </xsd:element> + + <xsd:element name="sequence" type="tSequence"/> + <xsd:complexType name="tSequence"> + <xsd:complexContent> + <xsd:extension base="tActivity"> + <xsd:sequence> + <xsd:group ref="activity" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="throw" type="tThrow"/> + <xsd:complexType name="tThrow"> + <xsd:complexContent> + <xsd:extension base="tActivity"> + <xsd:attribute name="faultName" type="xsd-derived:QName" use="optional"/> + <xsd:attribute name="faultVariable" type="BPELVariableName"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="validate" type="tValidate"/> + <xsd:complexType name="tValidate"> + <xsd:complexContent> + <xsd:extension base="tActivity"> + <xsd:attribute name="variables" use="optional" type="BPELVariableNames"/> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:simpleType name="BPELVariableNames"> + <xsd:restriction> + <xsd:simpleType> + <xsd:list itemType="BPELVariableName"/> + </xsd:simpleType> + <xsd:minLength value="1"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:element name="wait" type="tWait"/> + <xsd:complexType name="tWait"> + <xsd:complexContent> + <xsd:extension base="tActivity"> + <xsd:choice> + <xsd:element ref="for" minOccurs="0"/> + <xsd:element ref="until" minOccurs="0"/> + </xsd:choice> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="while" type="tWhile"/> + <xsd:complexType name="tWhile"> + <xsd:complexContent> + <xsd:extension base="tActivity"> + <xsd:sequence> + <xsd:element ref="condition" minOccurs="0"/> + <xsd:group ref="activity" minOccurs="0"/> + </xsd:sequence> + </xsd:extension> + </xsd:complexContent> + </xsd:complexType> + + <xsd:complexType name="tExpression" mixed="true"> + <xsd:sequence> + <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="lax"/> + </xsd:sequence> + <xsd:attribute name="expressionLanguage" type="xsd-derived:anyURI"/> + <xsd:attribute name="opaque" type="xsd-derived:tOpaqueBoolean"/> + <xsd:anyAttribute namespace="##other" processContents="lax"/> + </xsd:complexType> + + <xsd:complexType name="tCondition"> + <xsd:complexContent mixed="true"> + <xsd:extension base="tExpression"/> + </xsd:complexContent> + </xsd:complexType> + + <xsd:element name="condition" type="tBoolean-expr"/> + <xsd:complexType name="tBoolean-expr"> + <xsd:complexContent mixed="true"> + <xsd:extension base="tExpression"/> + </xsd:complexContent> + </xsd:complexType> + + <xsd:complexType name="tDuration-expr"> + <xsd:complexContent mixed="true"> + <xsd:extension base="tExpression"/> + </xsd:complexContent> + </xsd:complexType> + + <xsd:complexType name="tDeadline-expr"> + <xsd:complexContent mixed="true"> + <xsd:extension base="tExpression"/> + </xsd:complexContent> + </xsd:complexType> + + <xsd:simpleType name="tBoolean"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="yes"/> + <xsd:enumeration value="no"/> + <xsd:enumeration value="##opaque"/> + </xsd:restriction> + </xsd:simpleType> + + <!-- SCHEMA NOTE: new types and element introduced for Abstract WS-BPEL --> + + <xsd:simpleType name="tOpaqueStr"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="##opaque"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:simpleType name="QName"> + <xsd:union memberTypes="xsd:QName tOpaqueStr"/> + </xsd:simpleType> + + <xsd:simpleType name="NCName"> + <xsd:union memberTypes="xsd:NCName tOpaqueStr"/> + </xsd:simpleType> + + <xsd:simpleType name="anyURI"> + <xsd:union memberTypes="xsd:anyURI tOpaqueStr"/> + </xsd:simpleType> + + <xsd:simpleType name="tOpaqueBoolean"> + <xsd:restriction base="xsd:string"> + <xsd:enumeration value="yes"/> + </xsd:restriction> + </xsd:simpleType> + + <xsd:element name="opaqueActivity" type="tOpaqueActivity"/> + <xsd:complexType name="tOpaqueActivity"> + <xsd:complexContent> + <xsd:extension base="tActivity"/> + </xsd:complexContent> + </xsd:complexType> + +</xsd:schema> \ No newline at end of file
