<?xml version="1.0" encoding="UTF-8"?>
<!-- Release 15.2 New Schema -->
<xs:schema 
targetNamespace="http://apply.grants.gov/system/GrantsRelatedDocument-V1.0"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:xmime="http://www.w3.org/2005/05/xmlmime"
    xmlns:GrantsCommonTypes="http://apply.grants.gov/system/GrantsCommonTypes-V1.0"
    xmlns:GrantsCommonElements="http://apply.grants.gov/system/GrantsCommonElements-V1.0"
    xmlns:GrantsRelatedDocument="http://apply.grants.gov/system/GrantsRelatedDocument-V1.0"
	
    elementFormDefault="qualified" 
    attributeFormDefault="qualified" 
    version="1.0">

    <xs:import namespace="http://apply.grants.gov/system/GrantsCommonTypes-V1.0" schemaLocation="https://apply07.grants.gov/apply/system/schemas/GrantsCommonTypes-V1.0.xsd" />
    <xs:import namespace="http://apply.grants.gov/system/GrantsCommonElements-V1.0" schemaLocation="https://apply07.grants.gov/apply/system/schemas/GrantsCommonElements-V1.0.xsd" />
    <!-- ================ -->
    <!-- Input Elements-->
    <!-- ================ -->
    <xs:element name="CreateFolder">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsRelatedDocument:FolderName" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsRelatedDocument:FolderType" minOccurs="1" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="UpdateFolder">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsCommonElements:FolderID" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsRelatedDocument:FolderName" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsRelatedDocument:FolderType" minOccurs="0" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="DeleteFolder">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsCommonElements:FolderID" minOccurs="1" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="AddFile">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsCommonElements:FileName" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsRelatedDocument:FileDescription" minOccurs="1" maxOccurs="1" />
                <xs:element name="DataHandler" type="xs:base64Binary" xmime:expectedContentTypes="application/octet-stream" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:FolderID" minOccurs="1" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="ReplaceFile">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsCommonElements:FileID" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:FileName" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsRelatedDocument:FileDescription" minOccurs="0" maxOccurs="1" />
                <xs:element name="DataHandler" type="xs:base64Binary" xmime:expectedContentTypes="application/octet-stream" minOccurs="0" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="RemoveFile">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsCommonElements:FileID" minOccurs="1" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="CreateLink">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsCommonElements:LinkURL" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:LinkDescription" minOccurs="1" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="UpdateLink">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsCommonElements:LinkID" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:LinkURL" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:LinkDescription" minOccurs="0" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="DeleteLink">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsCommonElements:LinkID" minOccurs="1" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <!-- ================ -->
    <!-- Simple TYPE AND ELEMENT DEFINITIONS -->
    <!-- ================ -->
    <xs:element name="FolderName" type="GrantsCommonTypes:StringMin1Max30Type" />
    <xs:element name="FileDescription" type="GrantsCommonTypes:StringWithoutNewLine250Type" />
    <xs:element name="FolderType" type="GrantsRelatedDocument:FolderType" />
    <!-- ================ -->
    <!-- Enum Types -->
    <!-- ================ -->
    <xs:simpleType name="FolderType">
	<xs:annotation>
	    <xs:documentation>FULL_ANNOUNCEMENT - Full Announcement</xs:documentation>
	    <xs:documentation>REVISED_FULL_ANNOUNCEMENT - Revised Full Announcement</xs:documentation>
	    <xs:documentation>OTHER_SUPPORTING_DOCUMENTS - Other Supporting	Documents</xs:documentation>
	</xs:annotation>
	<xs:restriction base="xs:string">
	    <xs:enumeration value="FULL_ANNOUNCEMENT" />
	    <xs:enumeration value="REVISED_FULL_ANNOUNCEMENT" />
	    <xs:enumeration value="OTHER_SUPPORTING_DOCUMENTS" />
	</xs:restriction>
    </xs:simpleType>
    <!-- ================ -->
    <!-- Output Elements-->
    <!-- ================ -->
    <xs:element name="FileDetails">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsCommonElements:FileID" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:FileName" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsRelatedDocument:FileDescription" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:FileMIMEType" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:FileSizeInKB" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:LastUpdatedTimestamp" minOccurs="0" maxOccurs="1" />
                <xs:element name="FileDataHandler" type="xs:base64Binary" xmime:expectedContentTypes="application/octet-stream" minOccurs="0" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="FolderDetails">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsCommonElements:FolderID" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsRelatedDocument:FolderType" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsRelatedDocument:FolderName" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:LastUpdatedTimestamp" minOccurs="0" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="FolderAndFileDetails">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsCommonElements:FolderID" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsRelatedDocument:FolderType" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsRelatedDocument:FolderName" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:LastUpdatedTimestamp" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsRelatedDocument:FileDetails" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="LinkDetails">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsCommonElements:LinkID" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:LinkURL" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:LinkDescription" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:LastUpdatedTimestamp" minOccurs="0" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="RelatedDocumentDetails">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="GrantsRelatedDocument:LinkDetails" minOccurs="0" maxOccurs="unbounded" />
                <xs:element ref="GrantsRelatedDocument:FolderAndFileDetails" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <!-- ================ -->
    <!-- WSDL Operation Result Elements-->
    <!-- ================ -->
    <xs:element name="AddFileResult" >
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Success" type="xs:boolean" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:FolderID" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsRelatedDocument:FileDetails" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:ErrorDetails" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="ReplaceFileResult">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Success" type="xs:boolean" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsRelatedDocument:FileDetails" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:ErrorDetails" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="RemoveFileResult">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Success" type="xs:boolean" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:FileID" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:ErrorDetails" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="CreateLinkResult" >
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Success" type="xs:boolean" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsRelatedDocument:LinkDetails" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:ErrorDetails" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="UpdateLinkResult">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Success" type="xs:boolean" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsRelatedDocument:LinkDetails" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:ErrorDetails" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="DeleteLinkResult">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Success" type="xs:boolean" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:LinkID" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:ErrorDetails" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="CreateFolderResult" >
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Success" type="xs:boolean" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsRelatedDocument:FolderDetails" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:ErrorDetails" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="UpdateFolderResult">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Success" type="xs:boolean" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsRelatedDocument:FolderDetails" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:ErrorDetails" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="DeleteFolderResult">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Success" type="xs:boolean" minOccurs="1" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:FolderID" minOccurs="0" maxOccurs="1" />
                <xs:element ref="GrantsCommonElements:ErrorDetails" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>
