<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright (c) OASIS Open 2006.  -->
<xsd:schema targetNamespace="http://docs.oasis-open.org/ws-tx/wscoor/2006/06" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wscoor="http://docs.oasis-open.org/ws-tx/wscoor/2006/06" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
  <xsd:import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="http://www.w3.org/2006/03/addressing/ws-addr.xsd"/>
  <xsd:element name="Expires">
    <xsd:complexType>
      <xsd:simpleContent>
        <xsd:extension base="xsd:unsignedInt">
          <xsd:anyAttribute namespace="##other" />
        </xsd:extension>
      </xsd:simpleContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name="CoordinationContextType">
    <xsd:sequence>
      <xsd:element name="Identifier">
        <xsd:complexType>
          <xsd:simpleContent>
            <xsd:extension base="xsd:anyURI">
              <xsd:anyAttribute namespace="##other" />
            </xsd:extension>
          </xsd:simpleContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element ref="wscoor:Expires" minOccurs="0" />
      <xsd:element name="CoordinationType" type="xsd:anyURI" />
      <xsd:element name="RegistrationService" type="wsa:EndpointReferenceType" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="lax" />
  </xsd:complexType>
  <xsd:element name="CoordinationContext">
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:extension base="wscoor:CoordinationContextType">
          <xsd:sequence>
            <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name="CreateCoordinationContextType">
    <xsd:sequence>
      <xsd:element ref="wscoor:Expires" minOccurs="0" />
      <xsd:element name="CurrentContext" minOccurs="0">
        <xsd:complexType>
          <xsd:complexContent>
            <xsd:extension base="wscoor:CoordinationContextType">
              <xsd:sequence>
                <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
              </xsd:sequence>
            </xsd:extension>
          </xsd:complexContent>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="CoordinationType" type="xsd:anyURI" />
      <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="lax" />
  </xsd:complexType>
  <xsd:element name="CreateCoordinationContext" type="wscoor:CreateCoordinationContextType" />
  <xsd:complexType name="CreateCoordinationContextResponseType">
    <xsd:sequence>
      <xsd:element ref="wscoor:CoordinationContext" />
      <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="lax" />
  </xsd:complexType>
  <xsd:element name="CreateCoordinationContextResponse" type="wscoor:CreateCoordinationContextResponseType" />
  <xsd:complexType name="RegisterType">
    <xsd:sequence>
      <xsd:element name="ProtocolIdentifier" type="xsd:anyURI" />
      <xsd:element name="ParticipantProtocolService" type="wsa:EndpointReferenceType" />
      <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="lax" />
  </xsd:complexType>
  <xsd:element name="Register" type="wscoor:RegisterType" />
  <xsd:complexType name="RegisterResponseType">
    <xsd:sequence>
      <xsd:element name="CoordinatorProtocolService" type="wsa:EndpointReferenceType" />
      <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
    <xsd:anyAttribute namespace="##other" processContents="lax" />
  </xsd:complexType>
  <xsd:element name="RegisterResponse" type="wscoor:RegisterResponseType" />
  <xsd:simpleType name="ErrorCodes">
    <xsd:restriction base="xsd:QName">
      <xsd:enumeration value="wscoor:InvalidParameters" />
      <xsd:enumeration value="wscoor:InvalidProtocol" />
      <xsd:enumeration value="wscoor:InvalidState" />
      <xsd:enumeration value="wscoor:CannotCreateContext" />
      <xsd:enumeration value="wscoor:CannotRegisterParticipant" />
    </xsd:restriction>
  </xsd:simpleType>
</xsd:schema>