DSpace Dublin Core Simple Archive Format

DSpaceDCQualifiedSchema.xsd — Extensible Markup Language (XML), 5 kB (5,985 bytes)

File contents

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:local="http://example.org/local">
    <xs:annotation>
        <xs:documentation>A schema to validate Dublin Core Qualified records as defined by the
            DSpace simple archive format. See the DSpace manual, ver. 1.6.1, section
            8.3.1.</xs:documentation>
    </xs:annotation>
    <xs:element name="dublin_core" type="dublincoreType">
        <xs:annotation>
            <xs:documentation> Top level container for the individual record </xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:complexType name="dublincoreType">
        <xs:sequence maxOccurs="unbounded">
            <xs:element ref="dcvalue"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="dcvalue" type="dcvalueType">
        <xs:annotation>
            <xs:documentation>The element that contains data values, with attributes for DC element
                name, qualifier, and optional language.</xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:complexType name="dcvalueType">
        <xs:simpleContent>
            <xs:extension base="xs:string">
                <xs:attribute name="element" type="elementType" use="required"/>
                <xs:attribute name="qualifier" type="qualifierType" use="required"/>
                <xs:attribute name="language" type="languageType" use="optional"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:simpleType name="elementType">
        <xs:annotation>
            <xs:documentation>List of elements from DSpace System Documentation, Appendix
                A</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value="contributor"/>
            <xs:enumeration value="coverage"/>
            <xs:enumeration value="creator"/>
            <xs:enumeration value="date"/>
            <xs:enumeration value="identifier"/>
            <xs:enumeration value="description"/>
            <xs:enumeration value="format"/>
            <xs:enumeration value="language"/>
            <xs:enumeration value="publisher"/>
            <xs:enumeration value="relation"/>
            <xs:enumeration value="rights"/>
            <xs:enumeration value="source"/>
            <xs:enumeration value="subject"/>
            <xs:enumeration value="title"/>
            <xs:enumeration value="type"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="qualifierType">
        <xs:annotation>
            <xs:documentation>List of qualifiers from DSpace System Documentation, Appendix A. Local
                additions: "none"</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:enumeration value=""/>
            <xs:enumeration value="none"/>
            <xs:enumeration value="advisor"/>
            <xs:enumeration value="author"/>
            <xs:enumeration value="editor"/>
            <xs:enumeration value="illustrator"/>
            <xs:enumeration value="other"/>
            <xs:enumeration value="spatial"/>
            <xs:enumeration value="temporal"/>
            <xs:enumeration value="accessioned"/>
            <xs:enumeration value="available"/>
            <xs:enumeration value="copyright"/>
            <xs:enumeration value="created"/>
            <xs:enumeration value="issued"/>
            <xs:enumeration value="submitted"/>
            <xs:enumeration value="citation"/>
            <xs:enumeration value="govdoc"/>
            <xs:enumeration value="isbn"/>
            <xs:enumeration value="issn"/>
            <xs:enumeration value="sici"/>
            <xs:enumeration value="ismn"/>
            <xs:enumeration value="uri"/>
            <xs:enumeration value="abstract"/>
            <xs:enumeration value="provenance"/>
            <xs:enumeration value="sponsorship"/>
            <xs:enumeration value="statementofresponsibility"/>
            <xs:enumeration value="tableofcontents"/>
            <xs:enumeration value="extent"/>
            <xs:enumeration value="medium"/>
            <xs:enumeration value="mimetype"/>
            <xs:enumeration value="iso"/>
            <xs:enumeration value="isformatof"/>
            <xs:enumeration value="ispartof"/>
            <xs:enumeration value="ispartofseries"/>
            <xs:enumeration value="haspart"/>
            <xs:enumeration value="isversionof"/>
            <xs:enumeration value="hasversion"/>
            <xs:enumeration value="isbasedon"/>
            <xs:enumeration value="isreferencedby"/>
            <xs:enumeration value="requires"/>
            <xs:enumeration value="replaces"/>
            <xs:enumeration value="isreplacedby"/>
            <xs:enumeration value="classification"/>
            <xs:enumeration value="ddc"/>
            <xs:enumeration value="lcc"/>
            <xs:enumeration value="lcsh"/>
            <xs:enumeration value="mesh"/>
            <xs:enumeration value="alternative"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="languageType">
        <xs:annotation>
            <xs:documentation>Allows two-letter codes, three-letter codes, and two-letter qualified
                codes (e.g. "en_US" or "en-US")</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:pattern value="[a-z]{2}|[a-z]{3}|[a-z]{2}(_|-)[A-Z]{2}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:element name="root" type="rootType"/>
    <xs:complexType name="rootType">
        <xs:annotation>
            <xs:documentation>Provided to valid a root element when checking an instance with
                multiple dublin_core records. Add xsi:type to the root. </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element ref="dublin_core" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
</xs:schema>