<?xml version = "1.0" encoding = "UTF-8"?>
<!--Generated by XML Authority. Conforms to w3c http://www.w3.org/2000/10/XMLSchema-->
<xsd:schema xmlns:xsd = "http://www.w3.org/2000/10/XMLSchema"><!-- Creator Mark H Needleman
	Last updated 7/12/2001 -->
	<!-- RequestSubmissionMessage is the Root Element -->
	<xsd:element name = "RequestSubmissionMessage">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "Authentication" minOccurs = "0"/>
				<xsd:element ref = "DateInfo" minOccurs = "0"/>
				<xsd:element ref = "RequestConditions" minOccurs = "0"/>
				<xsd:element ref = "ClientInfo" minOccurs = "0"/>
				<xsd:element ref = "AddressInfo" minOccurs = "0"/>
				<xsd:element ref = "ClientContactInfo" minOccurs = "0"/>
				<xsd:element ref = "ItemInfo" minOccurs = "0"/>
				<xsd:element ref = "PossibleSuppliers" minOccurs = "0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "Authentication"><!-- Authentication Information Fields-->
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "RequestingSystem" minOccurs = "0"/>
				<xsd:element ref = "Password" minOccurs = "0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "RequestingSystem" type = "xsd:string"/>
	<xsd:element name = "Password" type = "xsd:string"/>
	<xsd:element name = "DateInfo"><!--- Date Information Fields-->
		<!--Date fields should include times - use ISO 8601 Formats -->
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "DateOfClientRequest" minOccurs = "0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "DateOfClientRequest" type = "xsd:string"><!-- Note: Date of Client Request should be a system supplied date - not one the client can
	specify-->
	</xsd:element>
	<xsd:element name = "RequestConditions"><!--Request Conditions Fields -->
		<!-- Request Conditions is a sequence of possibly repeating Request Requirements  structures-->
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "RequestRequirements" maxOccurs = "unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "RequestRequirements">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "ServiceRequestType" minOccurs = "0"/>
				<xsd:element ref = "ClientNeedBeforeDate" minOccurs = "0"/>
				<xsd:element ref = "ClientMaximumCost" minOccurs = "0"/>
				<xsd:element ref = "ClientNotesComments" minOccurs = "0"/>
				<xsd:element ref = "RightsInformation" minOccurs = "0"/>
			</xsd:sequence>
			<xsd:attribute name = "RequestOrder" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "ServiceRequestType" type = "xsd:string"><!-- The ISO ILL Service Request Types should be used in Service Request Type-->
	</xsd:element>
	<xsd:element name = "ClientNeedBeforeDate" type = "xsd:string"/>
	<xsd:element name = "ClientMaximumCost" type = "xsd:string"/>
	<xsd:element name = "ClientNotesComments" type = "xsd:string"/>
	<xsd:element name = "RightsInformation">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "RightsInformationType"/>
				<xsd:element ref = "RightsInformationValue"/>
			</xsd:sequence>
			<xsd:attribute name = "Country" use = "required" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "RightsInformationType" type = "xsd:string"/>
	<xsd:element name = "RightsInformationValue" type = "xsd:string"/>
	<xsd:element name = "ClientInfo"><!-- Client Information Fields-->
		<xsd:complexType>
			<xsd:sequence>
				<xsd:choice minOccurs = "0">
					<xsd:element ref = "ClientNameStructured"/>
					<xsd:element ref = "ClientNameUnstructured"/>
				</xsd:choice>
				<xsd:element ref = "ClientStatus" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "ClientProxyFor" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "DepartmentSchool" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "CourseNameNumber" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "ClientOtherAffiliation" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "ClientIdentifier" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "ClientBarcode" minOccurs = "0"/>
				<xsd:element ref = "ClientPaymentInformation" minOccurs = "0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "ClientNameStructured">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "ClientSurName" minOccurs = "0"/>
				<xsd:element ref = "ClientGivenName" minOccurs = "0"/>
				<xsd:element ref = "ClientInitials" minOccurs = "0"/>
				<xsd:element ref = "ClientPrefix" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "ClientSuffix" minOccurs = "0" maxOccurs = "unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "ClientSurName" type = "xsd:string"/>
	<xsd:element name = "ClientGivenName" type = "xsd:string"/>
	<xsd:element name = "ClientInitials" type = "xsd:string"/>
	<xsd:element name = "ClientPrefix" type = "xsd:string"/>
	<xsd:element name = "ClientSuffix" type = "xsd:string"/>
	<xsd:element name = "ClientNameUnstructured" type = "xsd:string"/>
	<xsd:element name = "ClientStatus" type = "xsd:string"/>
	<xsd:element name = "ClientProxyFor" type = "xsd:string"/>
	<xsd:element name = "DepartmentSchool" type = "xsd:string"/>
	<xsd:element name = "CourseNameNumber" type = "xsd:string"/>
	<xsd:element name = "ClientOtherAffiliation" type = "xsd:string"/>
	<xsd:element name = "ClientIdentifier">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "ClientIdentifierValue"/>
			</xsd:sequence>
			<xsd:attribute name = "IdentifierType" use = "required" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "ClientIdentifierValue" type = "xsd:string"/>
	<xsd:element name = "ClientBarcode" type = "xsd:string"/>
	<xsd:element name = "ClientPaymentInformation">
		<xsd:complexType>
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:sequence>
					<xsd:element ref = "AccountInstitution" minOccurs = "0"/>
					<xsd:element ref = "AccountNumber" minOccurs = "0"/>
				</xsd:sequence>
				<xsd:element ref = "CreditCard"/>
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "AccountInstitution" type = "xsd:string"/>
	<xsd:element name = "AccountNumber" type = "xsd:string"/>
	<xsd:element name = "CreditCard">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "CreditCardHolderName"/>
				<xsd:element ref = "CreditCardNumber"/>
				<xsd:element ref = "CreditCardExpiryDate"/>
			</xsd:sequence>
			<xsd:attribute name = "CreditCardType" use = "required" type = "xsd:string"/>
			<xsd:attribute name = "CreditCardOrder" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "CreditCardHolderName" type = "xsd:string"/>
	<xsd:element name = "CreditCardNumber" type = "xsd:string"/>
	<xsd:element name = "CreditCardExpiryDate" type = "xsd:string"><!--Credit Card Expiration Date should be specified using MM/YY format to match how it is on 
 credit cards-->
	</xsd:element>
	<xsd:element name = "AddressInfo"><!-- Address Information Fields-->
		<!-- Note: Order of Address Specification in XML File Controls Preference -->
		<xsd:complexType>
			<xsd:choice minOccurs = "0" maxOccurs = "unbounded">
				<xsd:element ref = "PhysicalAddress"/>
				<xsd:element ref = "ElectronicAddress"/>
			</xsd:choice>
			<xsd:attribute name = "AddressRoleType" use = "required">
				<xsd:simpleType>
					<xsd:restriction base = "xsd:NMTOKEN">
						<xsd:enumeration value = "ShipTo"/>
						<xsd:enumeration value = "DeliverTo"/>
						<xsd:enumeration value = "BillTo"/>
						<xsd:enumeration value = "PickupAddress"/>
						<xsd:enumeration value = "NotificationAddress"/>
						<xsd:enumeration value = "Home"/>
						<xsd:enumeration value = "Work"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:attribute>
			<xsd:attribute name = "StartDate" type = "xsd:string"><!-- StartDate and EndDate should be specified using ISO 8601 Formats-->
			</xsd:attribute>
			<xsd:attribute name = "EndDate" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "PhysicalAddress">
		<xsd:complexType>
			<xsd:choice>
				<xsd:element ref = "UnstructuredAddress"/>
				<xsd:element ref = "StructuredAddress"/>
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "ElectronicAddress">
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base = "xsd:string">
					<xsd:attribute name = "ElectronicAddressType" use = "required"><!-- Note: Email and FTP addresses should be specified using the appropriate URL formats -->
						<xsd:simpleType>
							<xsd:restriction base = "xsd:NMTOKEN">
								<xsd:enumeration value = "Pager"/>
								<xsd:enumeration value = "Fax"/>
								<xsd:enumeration value = "Telephone"/>
								<xsd:enumeration value = "URL"/>
							</xsd:restriction>
						</xsd:simpleType>
					</xsd:attribute>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "UnstructuredAddress"><!-- Note: If Unstructured Address is used - it is up to the system filling in this field to supply any needed formatting like white spaces or line breaks-->
		<xsd:complexType>
			<xsd:simpleContent>
				<xsd:extension base = "xsd:string">
					<xsd:attribute name = "FormatType" type = "xsd:string"/>
				</xsd:extension>
			</xsd:simpleContent>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "StructuredAddress">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "Addressee" minOccurs = "0"/>
				<xsd:element ref = "CareOf" minOccurs = "0"/>
				<xsd:element ref = "LocationInBuilding" minOccurs = "0"/>
				<xsd:element ref = "BuildingName" minOccurs = "0"/>
				<xsd:element ref = "Street" minOccurs = "0"/>
				<xsd:element ref = "PostOfficeBox" minOccurs = "0"/>
				<xsd:element ref = "District" minOccurs = "0"/>
				<xsd:element ref = "Line1" minOccurs = "0"/>
				<xsd:element ref = "Line2" minOccurs = "0"/>
				<xsd:element ref = "Locality" minOccurs = "0"/>
				<xsd:element ref = "Region" minOccurs = "0"/>
				<xsd:element ref = "Country" minOccurs = "0"/>
				<xsd:element ref = "PostalCode" minOccurs = "0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "Addressee" type = "xsd:string"/>
	<xsd:element name = "CareOf" type = "xsd:string"/>
	<xsd:element name = "LocationInBuilding" type = "xsd:string"/>
	<xsd:element name = "BuildingName" type = "xsd:string"/>
	<xsd:element name = "Street" type = "xsd:string"/>
	<xsd:element name = "PostOfficeBox" type = "xsd:string"/>
	<xsd:element name = "District" type = "xsd:string"/>
	<xsd:element name = "Line1" type = "xsd:string"/>
	<xsd:element name = "Line2" type = "xsd:string"/>
	<xsd:element name = "Locality" type = "xsd:string"/>
	<xsd:element name = "Region" type = "xsd:string"/>
	<xsd:element name = "Country" type = "xsd:string"/>
	<xsd:element name = "PostalCode" type = "xsd:string"/>
	<xsd:element name = "ClientContactInfo"><!--Client Contact Information Fields -->
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "PreferredContactMode" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "PreferredContactLanguage" minOccurs = "0" maxOccurs = "unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "PreferredContactMode" type = "xsd:string"/>
	<xsd:element name = "PreferredContactLanguage" type = "xsd:string"><!-- Use ISO 639 3 Character Language Codes for Contact Language -->
	</xsd:element>
	<xsd:element name = "ItemInfo"><!--- Item Bibliographic Information Fields-->
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "Author" minOccurs = "0"/>
				<xsd:element ref = "Title" minOccurs = "0"/>
				<xsd:element ref = "UniformTitle" minOccurs = "0"/>
				<xsd:element ref = "SubTitle" minOccurs = "0"/>
				<xsd:element ref = "SponsoringBody" minOccurs = "0"/>
				<xsd:element ref = "PlaceOfPublication" minOccurs = "0"/>
				<xsd:element ref = "Publisher" minOccurs = "0"/>
				<xsd:element ref = "PublicationDate" minOccurs = "0"/>
				<xsd:element ref = "Language" minOccurs = "0"/>
				<xsd:element ref = "SeriesTitleNumber" minOccurs = "0"/>
				<xsd:element ref = "Volume" minOccurs = "0"/>
				<xsd:element ref = "Issue" minOccurs = "0"/>
				<xsd:element ref = "Edition" minOccurs = "0"/>
				<xsd:element ref = "ThisEditionOnly" minOccurs = "0"/>
				<xsd:element ref = "ReportDocumentNumber" minOccurs = "0"/>
				<xsd:element ref = "ArticleAuthor" minOccurs = "0"/>
				<xsd:element ref = "ArticleTitle" minOccurs = "0"/>
				<xsd:element ref = "Pagination" minOccurs = "0"/>
				<xsd:element ref = "ArticlePublicationDate" minOccurs = "0"/>
				<xsd:element ref = "DissertationThesisInformation" minOccurs = "0"/>
				<xsd:element ref = "CallNumber" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "NationalBibliographyId" minOccurs = "0"/>
				<xsd:element ref = "ISBN" minOccurs = "0"/>
				<xsd:element ref = "ISSN" minOccurs = "0"/>
				<xsd:element ref = "SystemId" minOccurs = "0"/>
				<xsd:element ref = "BibliographicSource" minOccurs = "0"/>
				<xsd:element ref = "UniqueItemId" minOccurs = "0"/>
				<xsd:element ref = "VerificationReferenceSource" minOccurs = "0"/>
				<xsd:element ref = "AdditionalNumberLetters" minOccurs = "0"/>
				<xsd:element ref = "RequestedMaterialFormat" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "RequestedMaterialLanguage" minOccurs = "0"/>
				<xsd:element ref = "SupplementalItemDescription" minOccurs = "0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "Author" type = "xsd:string"/>
	<xsd:element name = "Title" type = "xsd:string"/>
	<xsd:element name = "UniformTitle" type = "xsd:string"/>
	<xsd:element name = "SubTitle" type = "xsd:string"/>
	<xsd:element name = "SponsoringBody" type = "xsd:string"/>
	<xsd:element name = "PlaceOfPublication" type = "xsd:string"/>
	<xsd:element name = "Publisher" type = "xsd:string"/>
	<xsd:element name = "PublicationDate" type = "xsd:string"/>
	<xsd:element name = "Language" type = "xsd:string"><!-- Use ISO 639 3 Character Codes for Language -->
	</xsd:element>
	<xsd:element name = "SeriesTitleNumber" type = "xsd:string"/>
	<xsd:element name = "Volume" type = "xsd:string"/>
	<xsd:element name = "Issue" type = "xsd:string"/>
	<xsd:element name = "Edition" type = "xsd:string"/>
	<xsd:element name = "ThisEditionOnly"><!-- ThisEditionOnly is a Flag-->
		<xsd:complexType/>
	</xsd:element>
	<xsd:element name = "ReportDocumentNumber" type = "xsd:string"/>
	<xsd:element name = "ArticleAuthor" type = "xsd:string"/>
	<xsd:element name = "ArticleTitle" type = "xsd:string"/>
	<xsd:element name = "Pagination" type = "xsd:string"/>
	<xsd:element name = "ArticlePublicationDate" type = "xsd:string"/>
	<xsd:element name = "DissertationThesisInformation">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "Level" minOccurs = "0"/>
				<xsd:element ref = "Institution" minOccurs = "0"/>
				<xsd:element ref = "Year" minOccurs = "0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "Level" type = "xsd:string"/>
	<xsd:element name = "Institution" type = "xsd:string"/>
	<xsd:element name = "Year" type = "xsd:string"/>
	<xsd:element name = "NationalBibliographyId">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "NationalBibliographyAuthority"/>
				<xsd:element ref = "NationalBibliographyNumber"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "NationalBibliographyAuthority" type = "xsd:string"/>
	<xsd:element name = "NationalBibliographyNumber" type = "xsd:string"/>
	<xsd:element name = "ISBN" type = "xsd:string"/>
	<xsd:element name = "ISSN" type = "xsd:string"/>
	<xsd:element name = "BibliographicSource" type = "xsd:string"/>
	<xsd:element name = "UniqueItemId" type = "xsd:string"/>
	<xsd:element name = "VerificationReferenceSource" type = "xsd:string"/>
	<xsd:element name = "AdditionalNumberLetters" type = "xsd:string"/>
	<xsd:element name = "RequestedMaterialFormat" type = "xsd:string"/>
	<xsd:element name = "RequestedMaterialLanguage" type = "xsd:string"/>
	<xsd:element name = "SupplementalItemDescription" type = "xsd:string"><!-- Supplemental Item Description  defined by ISO ILL -->
	</xsd:element>
	<xsd:element name = "PossibleSuppliers"><!-- Possible Suppliers Fields-->
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "PossibleSupplier" minOccurs = "0" maxOccurs = "unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "PossibleSupplier"><!-- PossibleSupplier is a Repeatable Structure -->
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "LibraryCodeOrSymbol" minOccurs = "0"/>
				<xsd:element ref = "LibraryName" minOccurs = "0"/>
				<xsd:element ref = "SystemId" minOccurs = "0"/>
				<xsd:element ref = "CallNumber" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "CopyNumber" minOccurs = "0" maxOccurs = "unbounded"/>
				<xsd:element ref = "Location" minOccurs = "0"/>
				<xsd:element ref = "Holdings" minOccurs = "0"/>
				<xsd:element ref = "Availability" minOccurs = "0"/>
				<xsd:element ref = "Notes" minOccurs = "0"/>
			</xsd:sequence>
			<xsd:attribute name = "SupplierOrder" type = "xsd:string"/>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "LibraryCodeOrSymbol" type = "xsd:string"/>
	<xsd:element name = "LibraryName" type = "xsd:string"/>
	<xsd:element name = "CopyNumber" type = "xsd:string"/>
	<xsd:element name = "Location" type = "xsd:string"/>
	<xsd:element name = "Holdings">
		<xsd:complexType>
			<xsd:choice>
				<xsd:element ref = "StructuredHoldings"/>
				<xsd:element ref = "UnstructuredHoldings"/>
			</xsd:choice>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "StructuredHoldings">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "Enumeration" minOccurs = "0"/>
				<xsd:element ref = "Chronology" minOccurs = "0"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "Enumeration" type = "xsd:string"/>
	<xsd:element name = "Chronology" type = "xsd:string"/>
	<xsd:element name = "UnstructuredHoldings" type = "xsd:string"/>
	<xsd:element name = "Availability" type = "xsd:string"/>
	<xsd:element name = "Notes" type = "xsd:string"/>
	<xsd:element name = "SystemId"><!-- SystemId and CallNumber used in multiple definitions - defined here -->
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref = "SystemAuthority"/>
				<xsd:element ref = "SystemNumber"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name = "SystemAuthority" type = "xsd:string"/>
	<xsd:element name = "SystemNumber" type = "xsd:string"/>
	<xsd:element name = "CallNumber" type = "xsd:string"/>
</xsd:schema>