<?xml version="1.0"?>
<!--<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "XMLSchema.dtd">-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.uflib.ufl.edu/digital/metadata/sobekcm/" targetNamespace="http://www.uflib.ufl.edu/digital/metadata/sobekcm/" elementFormDefault="qualified" attributeFormDefault="unqualified" xsi:schemaLocation="http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema.xsd" version="2.0">
  <xs:annotation>
    <xs:documentation xml:lang="en">
			Schema defining metadata elements to be used for SobekCM items. 	
			This schema has been designed as an extension schema to the METS format. 
			Components defined and declared here may be used in a METS mdWrap/xmlData section. 
			Developer: Mark Sullivan (MarSull@uflib.ufl.edu)
			Creation Date: 08/08/2005, Version 2.0 7/19/2007
      Added ufdcFileInfo on 9/9/08 (MVS) to support UFDC service copy METS files
      Added aggregation and removed controlled collection list on 4/5/2010 (MVS)
      Also, changed scheme name to sobekcm from ufdc on 4/5/2010 (MVS)
	  </xs:documentation>
  </xs:annotation>
  <xs:element name="procParam">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Collection.Primary" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="Collection.Alternate" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="SubCollection" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="Aggregation" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="MainPage" type="ufdcMainPage" minOccurs="0" maxOccurs="1" />
        <xs:element name="MainThumbnail" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="Icon" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="Wordmark" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="Download" type="ufdcDownload" minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="URL" type="xs:string" minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="AccessMethod" minOccurs="0" maxOccurs="1">
          <xs:simpleType>
            <xs:restriction base="xs:NMTOKEN">
              <xs:enumeration value="UFDC" />
              <xs:enumeration value="DOWNLOAD_ONLY" />
              <xs:enumeration value="LINK_OUT" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="LockRecord" type="xs:boolean" minOccurs="0" maxOccurs="1" />
        <xs:element name="OcrAccuracy" type="xs:int" minOccurs="0" maxOccurs="1" />
        <xs:element name="GUID" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="EncodingLevel" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="FindingGuidePosition" minOccurs="0" maxOccurs="1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Container" type="ufdcContainer" minOccurs="0" maxOccurs="unbounded" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
		<xs:element name="NotifyEmail" type="xs:string" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="bibDesc">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="BibID" type="xs:string" minOccurs="1" maxOccurs="1" />
        <xs:element name="VID" type="xs:string" minOccurs="1" maxOccurs="1" />
        <xs:element name="Affiliation" type="ufdcAffiliation" minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="Coordinates" type="ufdcCoordinates" minOccurs="0" maxOccurs="1" />
        <xs:element name="Copyrighted" type="xs:boolean" minOccurs="0" maxOccurs="1" />
        <xs:element name="FormattedCitation" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="Holding" type="ufdcHolding" minOccurs="0" maxOccurs="1" />
        <xs:element name="Manufacturer" type="ufdcPublisher" minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="Publisher" type="ufdcPublisher" minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="Source" type="ufdcSource" minOccurs="0" maxOccurs="1" />
        <xs:element name="Temporal" type="ufdcTemporal" minOccurs="0" maxOccurs="unbounded" />
        <xs:element name="Type" minOccurs="1" maxOccurs="1">
          <xs:simpleType>
            <xs:restriction base="xs:NMTOKEN">
              <!-- Old values, retained for backward compatibility -->
              <xs:enumeration value="AERIAL" />
              <xs:enumeration value="IMAGEAERIAL" />
              <xs:enumeration value="ARTIFACT" />
              <xs:enumeration value="BOOK" />
              <xs:enumeration value="IMAGEMAP" />
              <xs:enumeration value="MONOGRAPH" />
              <xs:enumeration value="PHOTOGRAPH" />
              <xs:enumeration value="POSTCARD" />
              <xs:enumeration value="SERIAL" />
              <xs:enumeration value="AUDIO" />
              <xs:enumeration value="VIDEO" />
              <xs:enumeration value="IMAGE" />
              <xs:enumeration value="TEXT" />
              <xs:enumeration value="NEWSPAPER" />
              <xs:enumeration value="ARCHIVES" />
              <xs:enumeration value="ARCHIVE" />
              <xs:enumeration value="PROJECT" />
              <!-- New values to be used going forward -->
              <xs:enumeration value="Archival" />
              <xs:enumeration value="Audio" />
              <xs:enumeration value="Book" />
              <xs:enumeration value="Map" />
              <xs:enumeration value="Newspaper" />
              <xs:enumeration value="Photograph" />
              <xs:enumeration value="Serial" />
              <xs:enumeration value="Video" />
              <xs:enumeration value="Artifact" />
              <xs:enumeration value="Aerial" />
              <xs:enumeration value="Project" />
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="SortDate" type="xs:string" minOccurs="0" maxOccurs="1" />
        <xs:element name="SortTitle" type="xs:string" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="serial">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="SerialHierarchy" type="ufdcSerialHierarchy" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="gsa">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="gsaData" type="ufdcGsaData" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ufdcAffiliation">
    <xs:choice maxOccurs="1">
      <xs:element name="AffiliationTerm" type="xs:string" />
      <xs:element name="HierarchicalAffiliation" type="ufdcAffiliationHierarchy" />
    </xs:choice>
    <xs:attribute name="nameid" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="ufdcAffiliationHierarchy">
    <xs:choice maxOccurs="unbounded">
      <xs:element name="University" type="xs:string" />
      <xs:element name="Campus" type="xs:string" />
      <xs:element name="College" type="xs:string" />
      <xs:element name="Unit" type="xs:string" />
      <xs:element name="Department" type="xs:string" />
      <xs:element name="Institute" type="xs:string" />
      <xs:element name="Center" type="xs:string" />
      <xs:element name="Section" type="xs:string" />
      <xs:element name="Subsection" type="xs:string" />
    </xs:choice>
  </xs:complexType>
  <xs:complexType name="ufdcContainer">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="level" type="xs:int" />
        <xs:attribute name="type" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="ufdcCoordinates">
    <xs:choice maxOccurs="unbounded">
      <xs:element name="Point" type="ufdcCoordPoint" />
      <xs:element name="Polygon" type="ufdcCoordPolygon" />
      <xs:element name="Line" type="ufdcCoordPointCollection" />
      <xs:element name="KML" type="xs:string" />
    </xs:choice>
  </xs:complexType>
  <xs:complexType name="ufdcCoordPoint">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="latitude" type="xs:string" />
        <xs:attribute name="longitude" type="xs:string" />
        <xs:attribute name="altitude" type="xs:int" />
        <xs:attribute name="units" type="xs:string" />
        <xs:attribute name="order" type="xs:int" />
        <xs:attribute name="label" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="ufdcCoordPolygon">
    <xs:sequence>
      <xs:element name="Edge" type="ufdcCoordPointCollection" minOccurs="1" maxOccurs="1" />
      <xs:element name="Internal" type="ufdcCoordPointCollection" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
    <xs:attribute name="label" type="xs:string" />
    <xs:attribute name="ID" type="xs:string" />
    <xs:attribute name="pageSeq" type="xs:int" />
  </xs:complexType>
  <xs:complexType name="ufdcCoordPointCollection">
    <xs:choice maxOccurs="unbounded">
      <xs:element name="Point" type="ufdcCoordPoint" />
    </xs:choice>
    <xs:attribute name="label" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="ufdcDownload">
    <xs:choice>
      <xs:element name="url">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute name="type" type="xs:string" />
              <xs:attribute name="size" type="xs:string" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="fptr">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute name="FILEID" type="xs:string" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="name" type="xs:string" />
    </xs:choice>
    <xs:attribute name="label" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="ufdcGsaData">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="namespace" type="xs:string" />
        <xs:attribute name="element" type="xs:string" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="ufdcHolding">
    <xs:sequence>
      <xs:element name="statement" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute name="code" type="xs:string" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="html" type="xs:string" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ufdcMainPage">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="next" type="xs:boolean" use="required" />
        <xs:attribute name="pagename" type="xs:string" use="required" />
        <xs:attribute name="previous" type="xs:boolean" use="required" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="ufdcTemporal">
    <xs:sequence>
      <xs:element name="period" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute name="start" type="xs:gYear" />
              <xs:attribute name="end" type="xs:gYear" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ufdcSerialHierarchy">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="level" type="xs:int" />
        <xs:attribute name="order" type="xs:int" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:complexType name="ufdcSource">
    <xs:sequence>
      <xs:element name="statement" minOccurs="0" maxOccurs="1">
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute name="code" type="xs:string" />
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
      <xs:element name="html" type="xs:string" minOccurs="0" maxOccurs="1" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ufdcPublisher">
    <xs:sequence>
      <xs:element name="Name" type="xs:string" minOccurs="1" maxOccurs="1" />
      <xs:element name="PlaceTerm" minOccurs="0" maxOccurs="unbounded" >
        <xs:complexType>
          <xs:simpleContent>
            <xs:extension base="xs:string">
              <xs:attribute name="type">
                <xs:simpleType>
                  <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="text" />
                    <xs:enumeration value="code" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
              <xs:attribute name="authority">
                <xs:simpleType>
                  <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="marccountry" />
                    <xs:enumeration value="iso3166" />
                  </xs:restriction>
                </xs:simpleType>
              </xs:attribute>
            </xs:extension>
          </xs:simpleContent>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="ID" type="xs:string" />
  </xs:complexType>
  <!-- File information is used by UFDC in the service copy METS files administrative section -->
  <xs:element name="FileInfo">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="File" type="ufdcFileType" minOccurs="0" maxOccurs="unbounded" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:complexType name="ufdcFileType">
    <xs:simpleContent>
      <xs:extension base="xs:string">
        <xs:attribute name="fileid" type="xs:string" />
        <xs:attribute name="servicecopy" type="xs:string" />
        <xs:attribute name="width" type="xs:int" />
        <xs:attribute name="height" type="xs:int" />
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
</xs:schema>