<?xml version="1.0" encoding="UTF-8"?>
<xs:schema  targetNamespace="http://purl.org/dc/elements/1.1/"
       xmlns="http://purl.org/dc/elements/1.1/"
          xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:x="http://www.w3.org/XML/1998/namespace"
           xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
           elementFormDefault="qualified"
           attributeFormDefault="unqualified">

  <xs:annotation>
    <xs:documentation xml:lang="en">
      DCMES 1.1 XML Schema
      XML Schema for http://purl.org/dc/elements/1.1/ namespace

      Created 2002-07-12

      Created by 

      Tim Cole (t-cole3@uiuc.edu)
      Tom Habing (thabing@uiuc.edu)
      Jane Hunter (jane@dstc.edu.au)
      Pete Johnston (p.johnston@ukoln.ac.uk),
      Carl Lagoze (lagoze@cs.cornell.edu)

      This schema declares XML elements for the 15 DC elements from the
      http://purl.org/dc/elements/1.1/ namespace.

      It defines a complexType SimpleLiteral which permits mixed content 
      and makes the xml:lang attribute available. It disallows child elements by
      use of minOcccurs/maxOccurs.
 
      However, this complexType does permit the derivation of other complexTypes
      which would permit child elements.

      The default type for all elements is dc:SimpleLiteral.
<!--
      Modified and extended by David Leahy,  djleahy@sandia.gov  2002-11-07
      
      Simple Literal rendered much less simple, indeed, it probably misnamed now.  It
      supports children of type <rdf:Bag/>.  In the implemenation by the Collaboratory for
      Multi-scale Chemical Sciences (CMCS), we've also developed a customized schema for RDF that permits
      <rdf:Bag/> to contain specific children in its <rdf:li/> elements.
-->
    </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>

   <xs:complexType name="SimpleLiteral">
        <xs:annotation>
        <xs:documentation xml:lang="en">
            This is the default type for all of the DC elements.
            It permits text content only with optional
            xml:lang attribute.
            Text is allowed because mixed="true", but the only sub-element
            is an rdf:Bag.
     	     This complexType allows for restriction or extension permitting
            child elements.
    	</xs:documentation>
  	</xs:annotation>

   <xs:complexContent mixed="true">
    <xs:restriction base="xs:anyType">
     <xs:sequence>
       <xs:element ref="rdf:Bag" minOccurs="0"/>
     </xs:sequence>
     <xs:attribute ref="x:lang" use="optional"/>
    </xs:restriction>
   </xs:complexContent>
  </xs:complexType>

  <xs:element name="title" type="SimpleLiteral"/>
  <xs:element name="creator" type="SimpleLiteral"/>
  <xs:element name="subject" type="SimpleLiteral"/>
  <xs:element name="description" type="SimpleLiteral"/>
  <xs:element name="publisher" type="SimpleLiteral"/>
  <xs:element name="contributor" type="SimpleLiteral"/>
  <xs:element name="date" type="SimpleLiteral"/>
  <xs:element name="type" type="SimpleLiteral"/>
  <xs:element name="format" type="SimpleLiteral"/>
  <xs:element name="identifier" type="SimpleLiteral"/>
  <xs:element name="source" type="SimpleLiteral"/>
  <xs:element name="language" type="SimpleLiteral"/>
  <xs:element name="relation" type="SimpleLiteral"/>
  <xs:element name="coverage" type="SimpleLiteral"/>
  <xs:element name="rights" type="SimpleLiteral"/>

  <xs:group name="elementsGroup">
  	<xs:annotation>
    	<xs:documentation xml:lang="en">
    	    This group is included as a convenience for schema authors
            who need to refer to all the elements in the 
            http://purl.org/dc/elements/1.1/ namespace.
    	</xs:documentation>
  	</xs:annotation>

  <xs:sequence>
    <xs:choice minOccurs="0" maxOccurs="unbounded">
      <xs:element ref="title"/>
      <xs:element ref="creator"/>
      <xs:element ref="subject"/>
      <xs:element ref="description"/>
      <xs:element ref="publisher"/>
      <xs:element ref="contributor"/>
      <xs:element ref="date"/>
      <xs:element ref="type"/>
      <xs:element ref="format"/>
      <xs:element ref="identifier"/>
      <xs:element ref="source"/>
      <xs:element ref="language"/>
      <xs:element ref="relation"/>
      <xs:element ref="coverage"/>
      <xs:element ref="rights"/>
    </xs:choice>
    </xs:sequence>
  </xs:group>

  <!--
    <xs:complexType name="elementContainer">
  	<xs:annotation>
    	<xs:documentation xml:lang="en">
    		This complexType is included as a convenience for schema authors who need to define a root
    		or container element for all of the DC elements.
    	</xs:documentation>
  	</xs:annotation>

    <xs:choice>
      <xs:group ref="elementsGroup"/>
    </xs:choice>
  </xs:complexType>
-->

</xs:schema>
