<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="urn:uddi-org:custody_v3" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:uddi="urn:uddi-org:api_v3" xmlns:uddi_custody="urn:uddi-org:custody_v3" elementFormDefault="qualified" version="3.0.2" id="uddi_custody">
    <!-- 
    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"/>
    <xsd:element name="transferToken" type="uddi_custody:transferToken" final="restriction"/>
    <xsd:element name="keyBag" type="uddi_custody:keyBag" final="restriction"/>
    <xsd:element name="transferOperationalInfo" type="uddi_custody:transferOperationalInfo" final="restriction"/>
    <xsd:complexType name="keyBag" final="restriction">
        <xsd:sequence>
            <xsd:element name="key" type="uddi:uddiKey" maxOccurs="unbounded"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="transferOperationalInfo" final="restriction">
        <xsd:sequence>
            <xsd:element ref="uddi:authorizedName" minOccurs="0"/>
            <xsd:element ref="uddi:nodeID" minOccurs="0"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:complexType name="transferToken" final="restriction">
        <xsd:sequence>
            <xsd:element ref="uddi:nodeID"/>
            <xsd:element name="expirationTime" type="xsd:dateTime"/>
            <xsd:element name="opaqueToken" type="xsd:base64Binary"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="get_transferToken" type="uddi_custody:get_transferToken" final="restriction"/>
    <xsd:complexType name="get_transferToken" final="restriction">
        <xsd:sequence>
            <xsd:element ref="uddi:authInfo" minOccurs="0"/>
            <xsd:element ref="uddi_custody:keyBag"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="transfer_entities" type="uddi_custody:transfer_entities" final="restriction"/>
    <xsd:complexType name="transfer_entities" final="restriction">
        <xsd:sequence>
            <xsd:element ref="uddi:authInfo" minOccurs="0"/>
            <xsd:element ref="uddi_custody:transferToken"/>
            <xsd:element ref="uddi_custody:keyBag"/>
        </xsd:sequence>
    </xsd:complexType>
    <xsd:element name="discard_transferToken" type="uddi_custody:discard_transferToken" final="restriction"/>
    <xsd:complexType name="discard_transferToken" final="restriction">
        <xsd:sequence>
            <xsd:element ref="uddi:authInfo" minOccurs="0"/>
            <!-- Removed xsd:choice -->
                <xsd:element ref="uddi_custody:transferToken" minOccurs="0"/> <!-- Added minOccurs="0" -->
                <xsd:element ref="uddi_custody:keyBag" minOccurs="0"/> <!-- Added minOccurs="0" -->
        </xsd:sequence>
    </xsd:complexType>
</xsd:schema>

