<?xml version="1.0" encoding="UTF-8"?>
<xs:schema 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:pndsterms="http://purl.org/mla/pnds/terms/"
           xmlns="http://purl.org/mla/pnds/pndsdc/"
           targetNamespace="http://purl.org/mla/pnds/pndsdc/"
           elementFormDefault="qualified"
           attributeFormDefault="unqualified">

  <xs:annotation>
    <xs:documentation xml:lang="en">
      XML Schema for http://purl.org/mla/pnds/pndsdc/ namespace.

      Created 2005-06-13

      Created by 

      Pete Johnston (p.johnston@ukoln.ac.uk),

      This schema declares a "description element" for a metadata description based on the PNDS DCAP.
      This schema is used to describe the structure of metadata records using the pnds_dc metadata format.

    </xs:documentation>

  </xs:annotation>

  <xs:import namespace="http://purl.org/dc/elements/1.1/"
             schemaLocation="dc.xsd">
  </xs:import>

  <xs:import namespace="http://purl.org/dc/terms/"
             schemaLocation="dcterms.xsd">
  </xs:import>

  <xs:import namespace="http://purl.org/mla/pnds/terms/"
             schemaLocation="pndsterms.xsd">
  </xs:import>

      
  <xs:group name="StatementElementsGroup">
    <xs:sequence>
      <xs:element ref="dc:identifier" minOccurs="1" maxOccurs="unbounded" />
      <xs:element ref="dc:title" minOccurs="1" maxOccurs="unbounded" />
      <xs:element ref="dc:description" minOccurs="1" maxOccurs="unbounded" />
      <xs:element ref="dc:subject" minOccurs="1" maxOccurs="unbounded" />
      <xs:element ref="dc:type" minOccurs="1" maxOccurs="unbounded" />
      <xs:element ref="dcterms:license" minOccurs="1" maxOccurs="unbounded" />
      <xs:element ref="dcterms:rightsHolder" minOccurs="1" maxOccurs="unbounded" />
      <xs:choice minOccurs="0" maxOccurs="unbounded">
	<xs:element ref="dc:creator" />
	<xs:element ref="dc:contributor" />
	<xs:element ref="dc:publisher" />
	<xs:element ref="dc:language" />
	<xs:element ref="dcterms:spatial" />
	<xs:element ref="dcterms:temporal" />
	<xs:element ref="dcterms:audience" />
	<xs:element ref="dcterms:isPartOf" />
	<xs:element ref="pndsterms:thumbnail" />
	<xs:element ref="dc:format" />
      </xs:choice>
    </xs:sequence>
  </xs:group>	

  <xs:complexType name="PNDSDCDescription">
    <xs:sequence>
      <xs:group ref="StatementElementsGroup"/>
    </xs:sequence>
    <xs:anyAttribute namespace="##any" processContents="lax" />
  </xs:complexType>
  
  <xs:element name="description" type="PNDSDCDescription" />

</xs:schema>

