<?xml version="1.0" encoding="UTF-8"?>
<!--
	Copyright (c) OASIS Open 2003-2006. All Rights Reserved.
-->
<xsd:schema targetNamespace="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
			xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
			xmlns:xsd="http://www.w3.org/2001/XMLSchema"
			elementFormDefault="qualified"
			blockDefault="#all">
	
	<xsd:annotation>
		<xsd:documentation>
			Partner Link Type Schema for WS-BPEL 2.0
			Last modified date: 17th August, 2006

			2004-03-24: YIU-OSS: Alex Yiu: Extracted from wsbpel-specification-draft.doc (Rev 1.22 - Modified on 24 March, 2004)
			2004-03-24: YIU-OSS: Alex Yiu: Updated targetNamespace with "2004/03"
			2004-10-21: YIU-OSS: Alex Yiu: Applied Issue 129
			2005-07-30: Rev 1.4: YIU-OSS: Alex Yiu: Applied Issue 192
			2006-08-07: Rev 1.5: Thomas Schulze
				Minor formatting changes. Reviewed the comments.
				Removed the default namespace.
				Moved minOccurs="0" maxOccurs="unbounded" in element documentation from sequence to any.
				Added GED for role.
				Changed prefix "tns:" to "plnk:".
				
			*****************************************
				
			2006-08-08: Rev 1.1: Alex Yiu
				Rename the file from wsbpel_plinkType.xsd (rev 1.5) to ws-bpel_plinktype.xsd
				Change the targetNamespace URI to:
				http://docs.oasis-open.org/ws-bpel/2.0/plnktype
			2006-08-09: Rev 1.2: Alex Yiu
				Adding blockDefault="#all" as requested by Thomas Schulze and etc
			2006-08-16: Rev 1.3: Thomas Schulze
				Minor formatting changes.
				Apply AI 152: change the targetNamespace from "http://docs.oasis-open.org/ws-bpel/2.0/plnktype"
				to "http://docs.oasis-open.org/wsbpel/2.0/plnktype".
				Add a copyright statement.
			2006-08-17: Rev 1.4: Alex Yiu
				Adding last modified date and small reformatting for copyright statement
			
		</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="partnerLinkType" type="plnk:tPartnerLinkType"/>
	<xsd:complexType name="tPartnerLinkType">
		<xsd:complexContent>
			<xsd:extension base="plnk:tExtensibleElements">
				<xsd:sequence>
					<xsd:element ref="plnk:role" minOccurs="1" maxOccurs="2"/>
				</xsd:sequence>
				<xsd:attribute name="name" type="xsd:NCName" 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="plnk: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">
		<xsd:complexType mixed="true">
			<xsd:sequence>
				<xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
			</xsd:sequence>
			<xsd:attribute name="source" type="xsd:anyURI"/>
			<xsd:attribute ref="xml:lang"/>
		</xsd:complexType>
	</xsd:element>
	
	<xsd:element name="role" type="plnk:tRole"/>
	<xsd:complexType name="tRole">
		<xsd:complexContent>
			<xsd:extension base="plnk:tExtensibleElements">
				<xsd:attribute name="name" type="xsd:NCName" use="required"/>
				<xsd:attribute name="portType" type="xsd:QName" use="required"/>
			</xsd:extension>
		</xsd:complexContent>
	</xsd:complexType>
	
</xsd:schema>