Show DataCite Metadata Schema (XSD)

ILDG Home
PUNCH Home

MDC index

DataCite index
DataCite list

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns="http://datacite.org/schema/kernel-4" xml:lang="EN" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://datacite.org/schema/kernel-4" elementFormDefault="qualified">
  <xs:import schemaLocation="include/xml.xsd" namespace="http://www.w3.org/XML/1998/namespace">
  </xs:import>
  <xs:include schemaLocation="include/datacite-titleType-v4.xsd">
  </xs:include>
  <xs:include schemaLocation="include/datacite-contributorType-v4.xsd">
  </xs:include>
  <xs:include schemaLocation="include/datacite-dateType-v4.xsd">
  </xs:include>
  <xs:include schemaLocation="include/datacite-resourceType-v4.xsd">
  </xs:include>
  <xs:include schemaLocation="include/datacite-relationType-v4.xsd">
  </xs:include>
  <xs:include schemaLocation="include/datacite-relatedIdentifierType-v4.xsd">
  </xs:include>
  <xs:include schemaLocation="include/datacite-funderIdentifierType-v4.xsd">
  </xs:include>
  <xs:include schemaLocation="include/datacite-descriptionType-v4.xsd">
  </xs:include>
  <xs:include schemaLocation="include/datacite-nameType-v4.xsd">
  </xs:include>
  <xs:include schemaLocation="include/datacite-numberType-v4.xsd">
  </xs:include>
  <xs:element name="resource">
    <xs:annotation>
      <xs:documentation>
        Root element of a single record. This wrapper element is for XML implementation only and is not defined in the DataCite DOI standard.
        Note: This is the case for all wrapper elements within this schema.
      </xs:documentation>
      <xs:documentation>No content in this wrapper element.</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:all>
        <xs:element name="identifier">
          <xs:annotation>
            <xs:documentation>A persistent identifier that identifies a resource.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="nonemptycontentStringType">
                <xs:attribute name="identifierType" use="required">
                </xs:attribute>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="creators">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="creator" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>The main researchers involved working on the data, or the authors of the publication in priority order. May be a corporate/institutional or personal name.</xs:documentation>
                  <xs:documentation>Format: Family, Given.</xs:documentation>
                  <xs:documentation>Personal names can be further specified using givenName and familyName.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="creatorName">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute name="nameType" use="optional" type="nameType">
                            </xs:attribute>
                            <xs:attribute ref="xml:lang">
                            </xs:attribute>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" name="givenName">
                    </xs:element>
                    <xs:element minOccurs="0" name="familyName">
                    </xs:element>
                    <xs:element xsi:type="nameIdentifier" maxOccurs="unbounded" name="nameIdentifier" minOccurs="0">
                    </xs:element>
                    <xs:element xsi:type="affiliation" maxOccurs="unbounded" minOccurs="0" name="affiliation">
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="titles">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="title">
                <xs:annotation>
                  <xs:documentation>A name or title by which a resource is known.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:extension base="xs:string">
                      <xs:attribute name="titleType" use="optional" type="titleType">
                      </xs:attribute>
                      <xs:attribute ref="xml:lang">
                      </xs:attribute>
                    </xs:extension>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="publisher">
          <xs:annotation>
            <xs:documentation>The name of the entity that holds, archives, publishes prints, distributes, releases, issues, or produces the resource. This property will be used to formulate the citation, so consider the prominence of the role.</xs:documentation>
            <xs:documentation>In the case of datasets, "publish" is understood to mean making the data available to the community of researchers.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="nonemptycontentStringType">
                <xs:attribute ref="xml:lang">
                </xs:attribute>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="publicationYear">
          <xs:annotation>
            <xs:documentation>Year when the data is made publicly available. If an embargo period has been in effect, use the date when the embargo period ends.</xs:documentation>
            <xs:documentation>In the case of datasets, "publish" is understood to mean making the data available on a specific date to the community of researchers. If there is no standard publication year value, use the date that would be preferred from a citation perspective.</xs:documentation>
            <xs:documentation>YYYY</xs:documentation>
          </xs:annotation>
          <xs:simpleType>
            <xs:restriction base="yearType">
            </xs:restriction>
          </xs:simpleType>
        </xs:element>
        <xs:element name="resourceType">
          <xs:annotation>
            <xs:documentation>The type of a resource. You may enter an additional free text description.</xs:documentation>
            <xs:documentation>The format is open, but the preferred format is a single term of some detail so that a pair can be formed with the sub-property.</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:simpleContent>
              <xs:extension base="xs:string">
                <xs:attribute type="resourceType" name="resourceTypeGeneral" use="required">
                </xs:attribute>
              </xs:extension>
            </xs:simpleContent>
          </xs:complexType>
        </xs:element>
        <xs:element name="subjects" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="subject" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Subject, keywords, classification codes, or key phrases describing the resource.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:extension base="xs:string">
                      <xs:attribute use="optional" name="subjectScheme">
                      </xs:attribute>
                      <xs:attribute name="schemeURI" use="optional" type="xs:anyURI">
                      </xs:attribute>
                      <xs:attribute name="valueURI" use="optional" type="xs:anyURI">
                      </xs:attribute>
                      <xs:attribute name="classificationCode" use="optional" type="xs:anyURI">
                      </xs:attribute>
                      <xs:attribute ref="xml:lang">
                      </xs:attribute>
                    </xs:extension>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" name="contributors">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" minOccurs="0" name="contributor">
                <xs:annotation>
                  <xs:documentation>The institution or person responsible for collecting, creating, or otherwise contributing to the developement of the dataset.</xs:documentation>
                  <xs:documentation>The personal name format should be: Family, Given.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="contributorName">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="nonemptycontentStringType">
                            <xs:attribute type="nameType" use="optional" name="nameType">
                            </xs:attribute>
                            <xs:attribute ref="xml:lang">
                            </xs:attribute>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" name="givenName">
                    </xs:element>
                    <xs:element name="familyName" minOccurs="0">
                    </xs:element>
                    <xs:element name="nameIdentifier" minOccurs="0" maxOccurs="unbounded" xsi:type="nameIdentifier">
                    </xs:element>
                    <xs:element xsi:type="affiliation" maxOccurs="unbounded" minOccurs="0" name="affiliation">
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute type="contributorType" name="contributorType" use="required">
                  </xs:attribute>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" name="dates">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="date" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Different dates relevant to the work.</xs:documentation>
                  <xs:documentation>YYYY,YYYY-MM-DD, YYYY-MM-DDThh:mm:ssTZD or any other format or level of granularity described in W3CDTF. Use RKMS-ISO8601 standard for depicting date ranges.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:extension base="xs:string">
                      <xs:attribute use="required" name="dateType" type="dateType">
                      </xs:attribute>
                      <xs:attribute use="optional" name="dateInformation">
                      </xs:attribute>
                    </xs:extension>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" name="language" type="xs:language">
          <xs:annotation>
            <xs:documentation>Primary language of the resource. Allowed values are taken from IETF BCP 47, ISO 639-1 language codes.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element minOccurs="0" name="alternateIdentifiers">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" minOccurs="0" name="alternateIdentifier">
                <xs:annotation>
                  <xs:documentation>An identifier or identifiers other than the primary Identifier applied to the resource being registered. This may be any alphanumeric string which is unique within its domain of issue. May be used for local identifiers. AlternateIdentifier should be used for another identifier of the same instance (same location, same file).</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:extension base="xs:string">
                      <xs:attribute use="required" name="alternateIdentifierType">
                      </xs:attribute>
                    </xs:extension>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" name="relatedIdentifiers">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" minOccurs="0" name="relatedIdentifier">
                <xs:annotation>
                  <xs:documentation>Identifiers of related resources. Use this property to indicate subsets of properties, as appropriate.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:extension base="xs:string">
                      <xs:attribute type="resourceType" name="resourceTypeGeneral" use="optional">
                      </xs:attribute>
                      <xs:attribute name="relatedIdentifierType" use="required" type="relatedIdentifierType">
                      </xs:attribute>
                      <xs:attribute name="relationType" use="required" type="relationType">
                      </xs:attribute>
                      <xs:attribute use="optional" name="relatedMetadataScheme">
                      </xs:attribute>
                      <xs:attribute type="xs:anyURI" use="optional" name="schemeURI">
                      </xs:attribute>
                      <xs:attribute name="schemeType" use="optional">
                      </xs:attribute>
                    </xs:extension>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" name="sizes">
          <xs:complexType>
            <xs:sequence>
              <xs:element minOccurs="0" name="size" type="xs:string" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Unstructures size information about the resource.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" name="formats">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" type="xs:string" name="format" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Technical format of the resource.</xs:documentation>
                  <xs:documentation>Use file extension or MIME type where possible.</xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element type="xs:string" minOccurs="0" name="version">
          <xs:annotation>
            <xs:documentation>Version number of the resource. If the primary resource has changed the version number increases.</xs:documentation>
            <xs:documentation>Register a new identifier for a major version change. Individual stewards need to determine which are major vs. minor versions. May be used in conjunction with properties 11 and 12 (AlternateIdentifier and RelatedIdentifier) to indicate various information updates. May be used in conjunction with property 17 (Description) to indicate the nature and file/record range of version.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element minOccurs="0" name="rightsList">
          <xs:complexType>
            <xs:sequence>
              <xs:element minOccurs="0" name="rights" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>
                    Any rights information for this resource. Provide a rights management statement for the resource or reference a service providing such information. Include embargo information if applicable.
                    Use the complete title of a license and include version information if applicable.
                  </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:extension base="xs:string">
                      <xs:attribute use="optional" name="rightsURI" type="xs:anyURI">
                      </xs:attribute>
                      <xs:attribute use="optional" name="rightsIdentifier">
                      </xs:attribute>
                      <xs:attribute use="optional" name="rightsIdentifierScheme">
                      </xs:attribute>
                      <xs:attribute use="optional" name="schemeURI" type="xs:anyURI">
                      </xs:attribute>
                      <xs:attribute ref="xml:lang">
                      </xs:attribute>
                    </xs:extension>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="descriptions" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="description" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>All additional information that does not fit in any of the other categories. May be used for technical information. It is a best practice to supply a description.</xs:documentation>
                </xs:annotation>
                <xs:complexType mixed="true">
                  <xs:choice>
                    <xs:element name="br" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                      </xs:complexType>
                    </xs:element>
                  </xs:choice>
                  <xs:attribute name="descriptionType" use="required" type="descriptionType">
                  </xs:attribute>
                  <xs:attribute ref="xml:lang">
                  </xs:attribute>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" name="geoLocations">
          <xs:complexType>
            <xs:sequence>
              <xs:element minOccurs="0" name="geoLocation" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:choice maxOccurs="unbounded">
                    <xs:element minOccurs="0" name="geoLocationPlace">
                      <xs:annotation>
                        <xs:documentation>Spatial region or named place where the data was gathered or about which the data is focused.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element type="point" minOccurs="0" name="geoLocationPoint">
                      <xs:annotation>
                        <xs:documentation>A point contains a single latitude-longitude pair.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="geoLocationBox" minOccurs="0" type="box">
                      <xs:annotation>
                        <xs:documentation>A box contains two white space separated latitude-longitude pairs, with each pair separated by whitespace. The first pair is the lower corner, the second is the upper corner.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="geoLocationPolygon">
                      <xs:annotation>
                        <xs:documentation>A drawn polygon area, defined by a set of points and lines connecting the points in a closed chain.</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="polygonPoint" minOccurs="4" maxOccurs="unbounded" type="point">
                          </xs:element>
                          <xs:element type="point" maxOccurs="1" name="inPolygonPoint" minOccurs="0">
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:choice>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" name="fundingReferences">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="fundingReference" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Information about financial support (funding) for the resource being registered.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>
                    <xs:element minOccurs="1" name="funderName" maxOccurs="1">
                      <xs:annotation>
                        <xs:documentation>Name of the funding provider.</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="nonemptycontentStringType">
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" name="funderIdentifier">
                      <xs:annotation>
                        <xs:documentation>Uniquely identifies a funding entity, according to various types.</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute name="funderIdentifierType" use="required" type="funderIdentifierType">
                            </xs:attribute>
                            <xs:attribute type="xs:anyURI" use="optional" name="schemeURI">
                            </xs:attribute>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" name="awardNumber">
                      <xs:annotation>
                        <xs:documentation>The code assigned by the funder to a sponsored award (grant).</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute type="xs:anyURI" name="awardURI" use="optional">
                            </xs:attribute>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" name="awardTitle">
                      <xs:annotation>
                        <xs:documentation>The human readable title of the award (grant).</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                  </xs:all>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="relatedItems" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" minOccurs="0" name="relatedItem">
                <xs:annotation>
                  <xs:documentation>Information about a resource related to the one being registered e.g. a journal or book of which the article or chapter is part.</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="relatedItemIdentifier" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>The identifier for the related item.</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute name="relatedItemIdentifierType" use="optional" type="relatedIdentifierType">
                              <xs:annotation>
                                <xs:documentation>The type of the Identifier for the related item e.g. DOI.</xs:documentation>
                              </xs:annotation>
                            </xs:attribute>
                            <xs:attribute name="relatedMetadataScheme" use="optional">
                              <xs:annotation>
                                <xs:documentation>The name of the scheme.</xs:documentation>
                              </xs:annotation>
                            </xs:attribute>
                            <xs:attribute type="xs:anyURI" use="optional" name="schemeURI">
                              <xs:annotation>
                                <xs:documentation>The URI of the relatedMetadataScheme.</xs:documentation>
                              </xs:annotation>
                            </xs:attribute>
                            <xs:attribute use="optional" name="schemeType">
                              <xs:annotation>
                                <xs:documentation>The type of the relatedMetadataScheme, linked with the schemeURI.</xs:documentation>
                              </xs:annotation>
                            </xs:attribute>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="creators" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="creator" minOccurs="0" maxOccurs="unbounded">
                            <xs:annotation>
                              <xs:documentation>
                                The institution or person responsible for creating the
                                related resource. To supply multiple creators, repeat this property.
                              </xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="creatorName">
                                  <xs:complexType>
                                    <xs:simpleContent>
                                      <xs:extension base="xs:string">
                                        <xs:attribute name="nameType" use="optional" type="nameType">
                                        </xs:attribute>
                                        <xs:attribute ref="xml:lang">
                                        </xs:attribute>
                                      </xs:extension>
                                    </xs:simpleContent>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element minOccurs="0" name="givenName">
                                </xs:element>
                                <xs:element name="familyName" minOccurs="0">
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="titles" minOccurs="0">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element maxOccurs="unbounded" minOccurs="0" name="title">
                            <xs:annotation>
                              <xs:documentation>Title of the related item.</xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                              <xs:simpleContent>
                                <xs:extension base="xs:string">
                                  <xs:attribute type="titleType" use="optional" name="titleType">
                                  </xs:attribute>
                                  <xs:attribute ref="xml:lang">
                                  </xs:attribute>
                                </xs:extension>
                              </xs:simpleContent>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" name="publicationYear">
                      <xs:annotation>
                        <xs:documentation>The year when the item was or will be made publicly available.</xs:documentation>
                      </xs:annotation>
                      <xs:simpleType>
                        <xs:restriction base="yearType">
                        </xs:restriction>
                      </xs:simpleType>
                    </xs:element>
                    <xs:element minOccurs="0" name="volume">
                      <xs:annotation>
                        <xs:documentation>Volume of the related item.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="issue" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>Issue number or name of the related item.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" name="number">
                      <xs:annotation>
                        <xs:documentation>Number of the related item e.g. report number of article number.</xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute name="numberType" use="optional" type="numberType">
                            </xs:attribute>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" name="firstPage">
                      <xs:annotation>
                        <xs:documentation>First page of the related item e.g. of the chapter, article, or conference paper.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" name="lastPage">
                      <xs:annotation>
                        <xs:documentation>Last page of the related item e.g. of the chapter, article, or conference paper.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="publisher" minOccurs="0">
                      <xs:annotation>
                        <xs:documentation>The name of the entity that holds, archives, publishes prints, distributes, releases, issues, or produces the resource. This property will be used to formulate the citation, so consider the prominence of the role.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" name="edition">
                      <xs:annotation>
                        <xs:documentation>Edition or version of the related item.</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element minOccurs="0" name="contributors">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" name="contributor" maxOccurs="unbounded">
                            <xs:annotation>
                              <xs:documentation>
                                The institution or person responsible for collecting,
                                managing, distributing, or otherwise contributing to the development of
                                the resource.
                              </xs:documentation>
                            </xs:annotation>
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="contributorName">
                                  <xs:complexType>
                                    <xs:simpleContent>
                                      <xs:extension base="xs:string">
                                        <xs:attribute type="nameType" name="nameType" use="optional">
                                        </xs:attribute>
                                        <xs:attribute ref="xml:lang">
                                        </xs:attribute>
                                      </xs:extension>
                                    </xs:simpleContent>
                                  </xs:complexType>
                                </xs:element>
                                <xs:element name="givenName" minOccurs="0">
                                </xs:element>
                                <xs:element name="familyName" minOccurs="0">
                                </xs:element>
                              </xs:sequence>
                              <xs:attribute type="contributorType" name="contributorType" use="required">
                                <xs:annotation>
                                  <xs:documentation>The type of contributor of the resource.</xs:documentation>
                                </xs:annotation>
                              </xs:attribute>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute type="resourceType" name="relatedItemType" use="required">
                    <xs:annotation>
                      <xs:documentation>The type of the related item, e.g. journal article, book or chapter.</xs:documentation>
                    </xs:annotation>
                  </xs:attribute>
                  <xs:attribute type="relationType" name="relationType" use="required">
                    <xs:annotation>
                      <xs:documentation>Description of the relationship of the resource being registered (A) and the related resource (B).</xs:documentation>
                    </xs:annotation>
                  </xs:attribute>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:all>
    </xs:complexType>
  </xs:element>
  <xs:simpleType name="nonemptycontentStringType">
    <xs:restriction base="xs:string">
      <xs:minLength value="1">
      </xs:minLength>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="nameIdentifier">
    <xs:annotation>
      <xs:documentation>Uniquely identifies a creator or contributor, according to various identifier schemes.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="nonemptycontentStringType">
        <xs:attribute type="xs:string" use="required" name="nameIdentifierScheme">
        </xs:attribute>
        <xs:attribute type="xs:anyURI" name="schemeURI" use="optional">
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="edtf">
    <xs:restriction base="xs:string">
      <xs:pattern value="(-)?[0-9]{4}(-[0-9]{2})?(-[0-9]{2})?(T([0-9]{2}:){2}[0-9]{2}Z)?">
      </xs:pattern>
      <xs:pattern value="\d{2}(\d{2}|\?\?|\d(\d|\?))(-(\d{2}|\?\?))?~?\??">
      </xs:pattern>
      <xs:pattern value="\d{6}(\d{2}|\?\?)~?\??">
      </xs:pattern>
      <xs:pattern value="\d{8}T\d{6}">
      </xs:pattern>
      <xs:pattern value="((-)?(\d{4}(-\d{2})?(-\d{2})?)|unknown)/((-)?(\d{4}(-\d{2})?(-\d{2})?)|unknown|open)">
      </xs:pattern>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="affiliation">
    <xs:annotation>
      <xs:documentation>Uniquely identifies an affiliation, according to various identifier schemes.</xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:extension base="nonemptycontentStringType">
        <xs:attribute type="xs:string" name="affiliationIdentifier" use="optional">
        </xs:attribute>
        <xs:attribute use="optional" name="affiliationIdentifierScheme" type="xs:string">
        </xs:attribute>
        <xs:attribute type="xs:anyURI" name="schemeURI" use="optional">
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
  <xs:simpleType name="yearType">
    <xs:restriction base="xs:token">
      <xs:pattern value="[\d]{4}">
      </xs:pattern>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="point">
    <xs:all>
      <xs:element name="pointLongitude" minOccurs="1" type="longitudeType">
      </xs:element>
      <xs:element type="latitudeType" name="pointLatitude" minOccurs="1">
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:complexType name="box">
    <xs:all>
      <xs:element name="westBoundLongitude" minOccurs="1" type="longitudeType">
      </xs:element>
      <xs:element type="longitudeType" minOccurs="1" name="eastBoundLongitude">
      </xs:element>
      <xs:element type="latitudeType" name="southBoundLatitude" minOccurs="1">
      </xs:element>
      <xs:element name="northBoundLatitude" minOccurs="1" type="latitudeType">
      </xs:element>
    </xs:all>
  </xs:complexType>
  <xs:simpleType name="longitudeType">
    <xs:restriction base="xs:float">
      <xs:minInclusive value="-180">
      </xs:minInclusive>
      <xs:maxInclusive value="180">
      </xs:maxInclusive>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="latitudeType">
    <xs:restriction base="xs:float">
      <xs:minInclusive value="-90">
      </xs:minInclusive>
      <xs:maxInclusive value="90">
      </xs:maxInclusive>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>