<schema xmlns="http://www.w3.org/2001/XMLSchema"
         xmlns:oai="http://www.openarchives.org/OAI/1.1/OAI_GetRecord"
         targetNamespace="http://www.openarchives.org/OAI/1.1/OAI_GetRecord"
         elementFormDefault="qualified"
         attributeFormDefault="unqualified">

 <annotation>
  <documentation>
    Schema to verify validity of responses to GetRecord OAI-protocol request.
    This Schema validated at http://www.w3.org/2001/03/webdata/xsv on 2001-05-07
    with XSV XSV 1.189/1.95 of 2001/05/07 08:38:12
  </documentation>
 </annotation>

 <element name="GetRecord" type="oai:GetRecordType"/>

 <!-- response to GetRecord-request -->

 <complexType name="GetRecordType">
  <sequence>
    <element name="responseDate" minOccurs="1" maxOccurs="1" type="dateTime"/>
    <element name="requestURL" minOccurs="1" maxOccurs="1" type="anyURI"/>
    <element name="record" minOccurs="0" maxOccurs="1" type="oai:recordType"/>
  </sequence>
 </complexType>

 <!-- define recordType -->
 <!-- a record has a header and a metadata part -->


 <complexType name="recordType">

  <sequence>

    <element name="header" minOccurs="1" maxOccurs="1" type="oai:headerType"/>

    <element name="metadata" minOccurs="0" maxOccurs="1" type="oai:metadataType"/>

    <element name="about" minOccurs="0" maxOccurs="1" type="oai:aboutType"/>

  </sequence>

    <attribute name="status" use="optional" type="oai:statusType"/>

 </complexType>



 <!-- define headerType -->

 <!-- a header has a unique identifier and a datestamp -->



 <complexType name="headerType">

  <sequence>

    <element name="identifier" minOccurs="1" maxOccurs="1" type="anyURI"/>

    <element name="datestamp" minOccurs="1" maxOccurs="1" type="date"/>

  </sequence>

 </complexType>



 <!-- define metadataType -->

 <!-- metadata must be expressed in XML that is compliant with another XML Schema -->

 <!-- metadata must be explicitely qualified in the response -->



 <complexType name="metadataType">

  <sequence>

   <any namespace="##other" processContents="lax"/>

  </sequence>

 </complexType>



 <!-- define aboutType -->

 <!-- data "about" the record must be expressed in XML -->

 <!-- that is compliant with an XML Schema defined by a community -->



 <complexType name="aboutType">

  <sequence>

   <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="1"/>

  </sequence>

 </complexType>



 <!-- define statusType -->

 <!-- a record can have a status of "deleted" -->



 <simpleType name="statusType">

   <restriction base="string">

    <enumeration value="deleted"/>

   </restriction>

  </simpleType>



 </schema>
