<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" attributeFormDefault="unqualified"
	targetNamespace=		"http://imlsdcc.grainger.uiuc.edu/profile#"
	xmlns:imlsdccProf=	"http://imlsdcc.grainger.uiuc.edu/profile#"
	xmlns:xs=						"http://www.w3.org/2001/XMLSchema"
	xmlns:dc=						"http://purl.org/dc/elements/1.1/"
	xmlns:dcterms=			"http://purl.org/dc/terms/"
	xmlns:cldtype=			"http://purl.org/cld/cdtype/"
	xmlns:imlsdcc=			"http://imlsdcc.grainger.uiuc.edu/types#"
	xmlns:cld=					"http://purl.org/cld/terms/"
	xmlns:marcrel=			"http://www.loc.gov/loc.terms/relators/"
  xmlns:vcard=        "http://www.w3.org/2001/vcard-rdf/3.0#"
  >

  <xs:annotation>
    <xs:documentation xml:lang="en">
    IMLS Digital Collections and Content, Collection Description Profile

    $Workfile: imlsdccprofile.xsd $ $Revision: 1 $

    Last Updated by $Author: Cordial $ on $Modtime: 6/27/06 3:42p $

    $History: imlsdccprofile.xsd $
 * 
 * *****************  Version 1  *****************
 * User: Cordial      Date: 12/05/06   Time: 4:17p
 * Created in $/IMLSDCC/REGISTRY
 * 
 * *****************  Version 6  *****************
 * User: Thabing      Date: 9/13/06    Time: 10:40a
 * Updated in $/IMLSDCC/Collection Registry XML Export
 * Misc. changes 
 *
 * *****************  Version 5  *****************
 * User: Thabing      Date: 8/11/05    Time: 4:45p
 * Updated in $/IMLSDCC/Collection Registry XML Export
 * Added optional lastUpdateOn and lastUpdateBy attributes to all the
 * different top-level elements
 *
 * *****************  Version 4  *****************
 * User: Thabing      Date: 4/07/05    Time: 3:47p
 * Updated in $/IMLSDCC/Collection Registry XML Export
 * Corrected the annotation namespaces

    </xs:documentation>
  </xs:annotation>

  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/03/xml.xsd" />
  <xs:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="dc.xsd" />
  <xs:import namespace="http://purl.org/dc/terms/" schemaLocation="dcterms.xsd" />
  <xs:import namespace="http://www.loc.gov/loc.terms/relators/" schemaLocation="marcrel.xsd" />
  <xs:import namespace="http://purl.org/cld/terms/ " schemaLocation="cld2.xsd" />
  <xs:import namespace="http://purl.org/cld/cdtype/ " schemaLocation="cldtype.xsd" />
  <xs:import namespace="http://imlsdcc.grainger.uiuc.edu/types#" schemaLocation="imlsdcctypes2.xsd" />
  <xs:import namespace="http://www.diglib.org/types#" schemaLocation="dlftypes.xsd" />
  <xs:import namespace="http://www.w3.org/2001/vcard-rdf/3.0#" schemaLocation="vcard.xsd" />


  <xs:element name="collectionDescription" type="imlsdccProf:IMLSDCCCollectionType"/>
  <xs:element name="projectDescription" type="imlsdccProf:IMLSDCCProjectType"/>
  <xs:element name="otherDescription" type="imlsdccProf:DescriptionType"/>
  <xs:element name="collectionProfile" type="imlsdccProf:ProfileType"/>

  <xs:element name="collectionProfileSet" >
  	<xs:complexType>
  		<xs:choice maxOccurs="1" minOccurs="1">
  			<xs:element maxOccurs="unbounded" ref="imlsdccProf:collectionProfile"/>
  			<xs:element maxOccurs="unbounded" ref="imlsdccProf:collectionDescription"/>
  		</xs:choice>
      <xs:attribute name="lastUpdateBy"/>
      <xs:attribute name="lastUpdateOn"/>
      <xs:attribute ref="xml:base"/>
  	</xs:complexType>
  </xs:element>


  <xs:complexType name="ProfileType">
   	<xs:choice minOccurs="0" maxOccurs="unbounded">
     	<xs:element ref="imlsdccProf:collectionDescription"  />
     	<xs:element ref="imlsdccProf:projectDescription"  />
     	<xs:element ref="vcard:VCARD"  />
    </xs:choice>
    <xs:attribute name="lastUpdateBy"/>
    <xs:attribute name="lastUpdateOn"/>
    <xs:attribute ref="xml:base"/>
  </xs:complexType>

  <xs:complexType name="IMLSDCCProjectType">
   	<xs:choice minOccurs="0" maxOccurs="unbounded">
     	<xs:element ref="dc:title"  />
     	<xs:element ref="dc:identifier"  />
     	<xs:element ref="dc:relation"  />
     	<!--<xs:element ref="gen:isLocatedAt"  />
     	<xs:element ref="imlsdcc:administeredBy"  />
     	<xs:element ref="imlsdcc:participatedBy"  />-->
    </xs:choice>
    <xs:attribute name="lastUpdateBy"/>
    <xs:attribute name="lastUpdateOn"/>
    <xs:attribute ref="xml:base"/>
  </xs:complexType>


  <xs:complexType name="IMLSDCCCollectionType">
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="dc:any" />
      </xs:choice>
      <xs:attribute name="lastUpdateBy"/>
      <xs:attribute name="lastUpdateOn"/>
      <xs:attribute ref="xml:base"/>
  </xs:complexType>

  <xs:complexType name="DescriptionType">
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="dc:any" />
      </xs:choice>
      <xs:attribute name="lastUpdateBy"/>
      <xs:attribute name="lastUpdateOn"/>
      <xs:attribute ref="xml:base"/>
  </xs:complexType>

</xs:schema>
