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


Reply via email to