<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="urn:uddi-org:sub_v3" version="3.0.2" id="uddi_sub" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:uddi_sub="urn:uddi-org:sub_v3" xmlns:uddi="urn:uddi-org:api_v3">
	<!-- 
	Copyright (c) 2000-2002 by Accenture, Ariba, Inc., Commerce One, Inc. 
	Fujitsu Limited, Hewlett-Packard Company, i2 Technologies, Inc., 
	Intel Corporation, International Business Machines Corporation,  
	Microsoft Corporation, Oracle Corporation, SAP AG, Sun Microsystems, Inc., 
	and VeriSign, Inc.  All Rights Reserved.
    
	Copyright (c) OASIS Open 2002-2004. All Rights Reserved.
	-->
	<xsd:import namespace="urn:uddi-org:api_v3" schemaLocation="uddi_v3.xsd"/>
	<!-- Attribute type descriptions -->
	<xsd:simpleType name="brief" final="restriction">
		<xsd:restriction base="xsd:boolean"/>
	</xsd:simpleType>
	<xsd:simpleType name="maxEntities" final="restriction">
		<xsd:restriction base="xsd:int"/>
	</xsd:simpleType>
	<!-- Element definitions -->
	<xsd:element name="keyBag" type="uddi_sub:keyBag" final="restriction"/>
	<xsd:complexType name="keyBag" final="restriction">
		<xsd:sequence>
			<xsd:element ref="uddi_sub:deleted"/>
			<xsd:choice>
				<xsd:element ref="uddi:tModelKey" maxOccurs="unbounded"/>
				<xsd:element ref="uddi:businessKey" maxOccurs="unbounded"/>
				<xsd:element ref="uddi:serviceKey" maxOccurs="unbounded"/>
				<xsd:element ref="uddi:bindingKey" maxOccurs="unbounded"/>
			</xsd:choice>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="coveragePeriod" type="uddi_sub:coveragePeriod" final="restriction"/>
	<xsd:complexType name="coveragePeriod" final="restriction">
		<xsd:sequence>
			<xsd:element ref="uddi_sub:startPoint" minOccurs="0"/>
			<xsd:element ref="uddi_sub:endPoint" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="notificationInterval" type="xsd:duration" final="restriction"/>
	<xsd:element name="subscriptionResultsList" type="uddi_sub:subscriptionResultsList" final="restriction"/>
	<xsd:complexType name="subscriptionResultsList" final="restriction">
		<xsd:sequence>
			<xsd:element ref="uddi_sub:chunkToken" minOccurs="0"/>
			<xsd:element ref="uddi_sub:coveragePeriod"/>
			<xsd:element ref="uddi_sub:subscription"/>
			<xsd:choice minOccurs="0">
				<xsd:element ref="uddi:bindingDetail"/>
				<xsd:element ref="uddi:businessDetail"/>
				<xsd:element ref="uddi:serviceDetail"/>
				<xsd:element ref="uddi:tModelDetail"/>
				<xsd:element ref="uddi:businessList"/>
				<xsd:element ref="uddi:relatedBusinessesList"/>
				<xsd:element ref="uddi:serviceList"/>
				<xsd:element ref="uddi:tModelList"/>
				<xsd:element ref="uddi:assertionStatusReport"/>
			</xsd:choice>
			<xsd:element ref="uddi_sub:keyBag" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
		<xsd:attribute name="someResultsUnavailable" type="xsd:boolean" use="optional"/>
	</xsd:complexType>
	<xsd:element name="expiresAfter" type="uddi_sub:expiresAfter" final="restriction"/>
	<xsd:simpleType name="expiresAfter" final="restriction">
		<xsd:restriction base="xsd:dateTime"/>
	</xsd:simpleType>
	<xsd:element name="subscriptionFilter" type="uddi_sub:subscriptionFilter" final="restriction"/>
	<xsd:complexType name="subscriptionFilter" final="restriction">
		<xsd:choice>
			<xsd:element ref="uddi:find_binding"/>
			<xsd:element ref="uddi:find_business"/>
			<xsd:element ref="uddi:find_relatedBusinesses"/>
			<xsd:element ref="uddi:find_service"/>
			<xsd:element ref="uddi:find_tModel"/>
			<xsd:element ref="uddi:get_bindingDetail"/>
			<xsd:element ref="uddi:get_businessDetail"/>
			<xsd:element ref="uddi:get_serviceDetail"/>
			<xsd:element ref="uddi:get_tModelDetail"/>
			<xsd:element ref="uddi:get_assertionStatusReport"/>
		</xsd:choice>
	</xsd:complexType>
	<xsd:element name="subscriptions" type="uddi_sub:subscriptions" final="restriction"/>
	<xsd:complexType name="subscriptions" final="restriction">
		<xsd:sequence>
			<xsd:element ref="uddi_sub:subscription" minOccurs="0" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="subscriptionKey" type="uddi_sub:subscriptionKey" final="restriction"/>
	<xsd:simpleType name="subscriptionKey" final="restriction">
		<xsd:restriction base="uddi:uddiKey"/>
	</xsd:simpleType>
	<xsd:element name="subscription" type="uddi_sub:subscription" final="restriction"/>
	<xsd:complexType name="subscription" final="restriction">
		<xsd:sequence>
			<xsd:element ref="uddi_sub:subscriptionKey" minOccurs="0"/>
			<xsd:element ref="uddi_sub:subscriptionFilter" minOccurs="0"/>
			<xsd:element ref="uddi:bindingKey" minOccurs="0"/>
			<xsd:element ref="uddi_sub:notificationInterval" minOccurs="0"/>
			<xsd:element ref="uddi_sub:maxEntities" minOccurs="0"/>
			<xsd:element ref="uddi_sub:expiresAfter" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="brief" type="uddi_sub:brief" use="optional"/>
	</xsd:complexType>
	<xsd:simpleType name="chunkToken">
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="255"/>
		</xsd:restriction>
	</xsd:simpleType>
	<xsd:element name="chunkToken" type="uddi_sub:chunkToken" final="restriction"/>
	<xsd:element name="maxEntities" type="uddi_sub:maxEntities"/>
	<xsd:element name="deleted" type="xsd:boolean" final="restriction"/>
	<xsd:element name="startPoint" type="xsd:dateTime" final="restriction"/>
	<xsd:element name="endPoint" type="xsd:dateTime"/>
	<!-- Subscription messages -->
	<xsd:element name="delete_subscription" type="uddi_sub:delete_subscription" final="restriction"/>
	<xsd:complexType name="delete_subscription" final="restriction">
		<xsd:sequence>
			<xsd:element ref="uddi:authInfo" minOccurs="0"/>
			<xsd:element ref="uddi_sub:subscriptionKey" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="get_subscriptions" type="uddi_sub:get_subscriptions" final="restriction"/>
	<xsd:complexType name="get_subscriptions" final="restriction">
		<xsd:sequence>
			<xsd:element ref="uddi:authInfo" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="get_subscriptionResults" type="uddi_sub:get_subscriptionResults" final="restriction"/>
	<xsd:complexType name="get_subscriptionResults" final="restriction">
		<xsd:sequence>
			<xsd:element ref="uddi:authInfo" minOccurs="0"/>
			<xsd:element ref="uddi_sub:subscriptionKey"/>
			<xsd:element ref="uddi_sub:coveragePeriod"/>
			<xsd:element ref="uddi_sub:chunkToken" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="save_subscription" type="uddi_sub:save_subscription" final="restriction"/>
	<xsd:complexType name="save_subscription" final="restriction">
		<xsd:sequence>
			<xsd:element ref="uddi:authInfo" minOccurs="0"/>
			<xsd:element ref="uddi_sub:subscription" maxOccurs="unbounded"/>
		</xsd:sequence>
	</xsd:complexType>
</xsd:schema>

