<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2005 rel. 3 U (http://www.altova.com) by david xia (Northrop Grumman Information Technology) -->
<!--************************************************************************-->
<!-- TITLE:          Global Library Schema                                       -->
<!-- DATE:          Feb 1, 2005                                                        -->
<!-- VERSION:    2.0                                                                      -->
<!--                                                                                                -->
<!-- COMMENTS: This schema contains general XML data          -->
<!--                      constructs that are used by all the schemas   -->
<!--                                                                                                -->
<!--************************************************************************-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:globLib="http://apply.grants.gov/system/GlobalLibrary-V2.0" xmlns:codes="http://apply.grants.gov/system/UniversalCodes-V2.0" targetNamespace="http://apply.grants.gov/system/GlobalLibrary-V2.0" elementFormDefault="qualified" attributeFormDefault="qualified" version="2.0">
	<!-- ****************************************************  -->
	<!--   Import Other Schemas for Reuse                -->
	<!-- ****************************************************  -->
	<xs:import namespace="http://apply.grants.gov/system/UniversalCodes-V2.0" schemaLocation="https://apply07.grants.gov/apply/system/schemas/UniversalCodes-V2.0.xsd"/>
	<!-- ****************************************************  -->
	<!--   General Data Type                                       -->
	<!-- ****************************************************  -->
	<xs:complexType name="AddressDataType">
		<xs:sequence>
			<xs:element name="Street1" type="globLib:StreetDataType"/>
			<xs:element name="Street2" type="globLib:StreetDataType" minOccurs="0"/>
			<xs:element name="City" type="globLib:CityDataType"/>
			<xs:element name="County" type="globLib:CountyDataType" minOccurs="0"/>
			<xs:choice>
				<xs:element name="State" type="codes:StateCodeDataType" minOccurs="0"/>
				<xs:element name="Province" type="globLib:ProvinceDataType" minOccurs="0"/>
			</xs:choice>
			<xs:element name="ZipPostalCode" type="globLib:ZipPostalCodeDataType" minOccurs="0"/>
			<xs:element name="Country" type="codes:CountryCodeDataType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="AddressDataTypeV3">
		<xs:sequence>
			<xs:element name="Street1" type="globLib:StreetDataType"/>
			<xs:element name="Street2" type="globLib:StreetDataType" minOccurs="0"/>
			<xs:element name="City" type="globLib:CityDataType"/>
			<xs:element name="County" type="globLib:CountyDataType" minOccurs="0"/>
			<xs:choice>
				<xs:element name="State" type="codes:StateCodeDataTypeV3" minOccurs="0"/>
				<xs:element name="Province" type="globLib:ProvinceDataType" minOccurs="0"/>
			</xs:choice>
			<xs:element name="ZipPostalCode" type="globLib:ZipPostalCodeDataType" minOccurs="0"/>
			<xs:element name="Country" type="codes:CountryCodeDataTypeV3"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="AgencyNameDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="60"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ApplicantIDDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="30"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ApplicantTypeCodeDataType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="A: State Government"/>
			<xs:enumeration value="B: County Government"/>
			<xs:enumeration value="C: City or Township Government"/>
			<xs:enumeration value="D: Special District Government"/>
			<xs:enumeration value="E: Regional Organization"/>
			<xs:enumeration value="F: U.S. Territory or Possession"/>
			<xs:enumeration value="G: Independent School District"/>
			<xs:enumeration value="H: Public/State Controlled Institution of Higher Education"/>
			<xs:enumeration value="I: Indian/Native American Tribal Government (Federally Recognized)"/>
			<xs:enumeration value="J: Indian/Native American Tribal Government (Other than Federally Recognized)"/>
			<xs:enumeration value="K: Indian/Native American Tribally Designated Organization"/>
			<xs:enumeration value="L: Public/Indian Housing Authority"/>
			<xs:enumeration value="M: Nonprofit with 501C3 IRS Status (Other than Institution of Higher Education)"/>
			<xs:enumeration value="N: Nonprofit without 501C3 IRS Status (Other than Institution of Higher Education)"/>
			<xs:enumeration value="O: Private Institution of Higher Education"/>
			<xs:enumeration value="P: Individual"/>
			<xs:enumeration value="Q: For-Profit Organization (Other than Small Business)"/>
			<xs:enumeration value="R: Small Business"/>
			<xs:enumeration value="S: Hispanic-serving Institution"/>
			<xs:enumeration value="T: Historically Black Colleges and Universities (HBCUs)"/>
			<xs:enumeration value="U: Tribally Controlled Colleges and Universities (TCCUs)"/>
			<xs:enumeration value="V: Alaska Native and Native Hawaiian Serving Institutions"/>
			<xs:enumeration value="W: Non-domestic (non-US) Entity"/>
			<xs:enumeration value="X: Other (specify)"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="AttachedFileDataType">
		<xs:sequence>
			<xs:element name="FileName">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="1"/>
						<xs:maxLength value="255"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="MimeType">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="1"/>
						<xs:maxLength value="72"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
			<xs:element name="FileLocation">
				<xs:complexType>
					<xs:attribute name="href" type="xs:anyURI"/>
				</xs:complexType>
			</xs:element>
			<xs:element name="HashValue">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:base64Binary">
							<xs:attribute name="hashAlgorithm" type="xs:string" use="required"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="BudgetAmountDataType">
		<xs:restriction base="xs:decimal">
			<xs:totalDigits value="14"/>
			<xs:fractionDigits value="2"/>
			<xs:minInclusive value="0.00"/>
			<xs:maxInclusive value="999999999999.99"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="BudgetTotalAmountDataType">
		<xs:restriction base="xs:decimal">
			<xs:totalDigits value="15"/>
			<xs:fractionDigits value="2"/>
			<xs:minInclusive value="0.00"/>
			<xs:maxInclusive value="9999999999999.99"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="CFDADataType">
		<xs:sequence>
			<xs:element name="CFDA_Number" type="globLib:CFDANumberDataType"/>
			<xs:element name="CFDA_Title" type="globLib:CFDATitleDataType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="CFDANumberDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="15"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="CFDATitleDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="120"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="CityDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="35"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="CompetitionIDDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="40"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="CompetitionTitleDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="255"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="CongressionalDistrictDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="6"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="ContactPersonDataType">
		<xs:sequence>
			<xs:element name="Name" type="globLib:HumanNameDataType"/>
			<xs:element name="Title" type="globLib:HumanTitleDataType" minOccurs="0"/>
			<xs:element name="Address" type="globLib:AddressDataType"/>
			<xs:element name="Phone" type="globLib:TelephoneNumberDataType" minOccurs="0"/>
			<xs:element name="Fax" type="globLib:TelephoneNumberDataType" minOccurs="0"/>
			<xs:element name="Email" type="globLib:EmailDataType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="ContactPersonDataTypeV3">
		<xs:sequence>
			<xs:element name="Name" type="globLib:HumanNameDataType"/>
			<xs:element name="Title" type="globLib:HumanTitleDataType" minOccurs="0"/>
			<xs:element name="Address" type="globLib:AddressDataTypeV3"/>
			<xs:element name="Phone" type="globLib:TelephoneNumberDataType" minOccurs="0"/>
			<xs:element name="Fax" type="globLib:TelephoneNumberDataType" minOccurs="0"/>
			<xs:element name="Email" type="globLib:EmailDataType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="CountyDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="30"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DepartmentNameDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="30"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DepartmentNameDataTypeV2">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="100"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DivisionNameDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="30"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DivisionNameDataTypeV2">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="100"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="DUNSIDDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="9"/>
			<xs:maxLength value="13"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="EducationDegreeDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="50"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="EmailDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="60"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="EmployerIDDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="9"/>
			<xs:maxLength value="30"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="FederalIDDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="30"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="FirstNameDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="35"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="FormVersionDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="30"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="Grants_govTrackingNumberDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="240"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="HumanTitleDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="45"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="HumanNameDataType">
		<xs:sequence>
			<xs:element name="PrefixName" type="globLib:PrefixNameDataType" minOccurs="0"/>
			<xs:element name="FirstName" type="globLib:FirstNameDataType"/>
			<xs:element name="MiddleName" type="globLib:MiddleNameDataType" minOccurs="0"/>
			<xs:element name="LastName" type="globLib:LastNameDataType"/>
			<xs:element name="SuffixName" type="globLib:SuffixNameDataType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="LastNameDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="60"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="MiddleNameDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="25"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="MultipleAttachmentDataType">
		<xs:sequence>
			<xs:element name="AttachedFile" type="globLib:AttachedFileDataType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="OrganizationContactPersonDataType">
		<xs:complexContent>
			<xs:extension base="globLib:ContactPersonDataType">
				<xs:sequence>
					<xs:element name="OrganizationName" type="globLib:OrganizationNameDataType"/>
					<xs:element name="DepartmentName" type="globLib:DepartmentNameDataType" minOccurs="0"/>
					<xs:element name="DivisionName" type="globLib:DivisionNameDataType" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OrganizationContactPersonDataTypeV3">
		<xs:complexContent>
			<xs:extension base="globLib:ContactPersonDataTypeV3">
				<xs:sequence>
					<xs:element name="OrganizationName" type="globLib:OrganizationNameDataType"/>
					<xs:element name="DepartmentName" type="globLib:DepartmentNameDataType" minOccurs="0"/>
					<xs:element name="DivisionName" type="globLib:DivisionNameDataType" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="OrganizationDataType">
		<xs:sequence>
			<xs:element name="OrganizationName" type="globLib:OrganizationNameDataType"/>
			<xs:element name="DUNSID" type="globLib:DUNSIDDataType"/>
			<xs:element name="DepartmentName" type="globLib:DepartmentNameDataType" minOccurs="0"/>
			<xs:element name="DivisionName" type="globLib:DivisionNameDataType" minOccurs="0"/>
			<xs:element name="Address" type="globLib:AddressDataType"/>
			<xs:element name="EIN" type="globLib:EmployerIDDataType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="OrganizationDataTypeV3">
		<xs:sequence>
			<xs:element name="OrganizationName" type="globLib:OrganizationNameDataType"/>
			<xs:element name="DUNSID" type="globLib:DUNSIDDataType"/>
			<xs:element name="DepartmentName" type="globLib:DepartmentNameDataType" minOccurs="0"/>
			<xs:element name="DivisionName" type="globLib:DivisionNameDataType" minOccurs="0"/>
			<xs:element name="Address" type="globLib:AddressDataTypeV3"/>
			<xs:element name="EIN" type="globLib:EmployerIDDataType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="OrganizationDataTypeV4">
		<xs:sequence>
			<xs:element name="OrganizationName" type="globLib:OrganizationNameDataType"/>
			<xs:element name="SAMUEI" type="globLib:SAMUEIDataType"/>
			<xs:element name="DepartmentName" type="globLib:DepartmentNameDataType" minOccurs="0"/>
			<xs:element name="DivisionName" type="globLib:DivisionNameDataType" minOccurs="0"/>
			<xs:element name="Address" type="globLib:AddressDataTypeV3"/>
			<xs:element name="EIN" type="globLib:EmployerIDDataType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="OrganizationDataTypeV5">
		<xs:sequence>
			<xs:element name="OrganizationName" type="globLib:OrganizationNameDataType"/>
			<xs:element name="SAMUEI" type="globLib:SAMUEIDataType"/>
			<xs:element name="Department" type="globLib:DepartmentNameDataTypeV2" minOccurs="0"/>
			<xs:element name="Division" type="globLib:DivisionNameDataTypeV2" minOccurs="0"/>
			<xs:element name="Address" type="globLib:AddressDataTypeV3"/>
			<xs:element name="EIN" type="globLib:EmployerIDDataType" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="OrganizationNameDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="60"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="OpportunityIDDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="40"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="OpportunityTitleDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="255"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="PercentageIntegerDataType">
		<xs:restriction base="xs:int">
			<xs:minInclusive value="0"/>
			<xs:maxInclusive value="100"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="PercentageDecimalDataType">
		<xs:restriction base="xs:decimal">
			<xs:minInclusive value="0.00"/>
			<xs:maxInclusive value="100.00"/>
			<xs:totalDigits value="5"/>
			<xs:fractionDigits value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="PrefixNameDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="10"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ProgramActivityTitleDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="120"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ProjectAwardNumberDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="25"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ProjectNameDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="60"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ProjectTitleDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="200"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ProvinceDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="30"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="RevisionCodeDataType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="A: Increase Award"/>
			<xs:enumeration value="B: Decrease Award"/>
			<xs:enumeration value="C: Increase Duration"/>
			<xs:enumeration value="D: Decrease Duration"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SAMUEIDataType">
		<xs:restriction base="xs:string">
			<xs:length value="12"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SignatureDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="144"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SocialSecurityNumberDataType">
		<xs:restriction base="xs:string">
			<xs:pattern value="[0-9]{3}\-[0-9]{2}\-[0-9]{4}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="SingleAttachmentDataType">
		<xs:sequence>
			<xs:element name="AttachedFile" type="globLib:AttachedFileDataType"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="StateIDDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="30"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="StreetDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="55"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SubmissionTypeCodeDataType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="AC: Application, Construction"/>
			<xs:enumeration value="AN: Application, Non-Construction"/>
			<xs:enumeration value="PC: Pre-Application, Construction"/>
			<xs:enumeration value="PN: Pre-Application, Non-Construction"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="SuffixNameDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="10"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="TelephoneNumberDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="25"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="YesNoDataType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Y: Yes"/>
			<xs:enumeration value="N: No"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="YesNoOtherDataType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Y: Yes"/>
			<xs:enumeration value="N: No"/>
			<xs:enumeration value="O: Other"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="YesNoNotApplicableDataType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="Y: Yes"/>
			<xs:enumeration value="N: No"/>
			<xs:enumeration value="NA: Not Applicable"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="ZipPostalCodeDataType">
		<xs:restriction base="xs:string">
			<xs:minLength value="1"/>
			<xs:maxLength value="30"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
