383 lines
13 KiB
XML
383 lines
13 KiB
XML
<?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:dcmitype="http://purl.org/dc/dcmitype/"
|
|
targetNamespace="http://purl.org/dc/terms/"
|
|
xmlns="http://purl.org/dc/terms/"
|
|
elementFormDefault="qualified"
|
|
attributeFormDefault="unqualified">
|
|
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en">
|
|
DCterms XML Schema
|
|
XML Schema for http://purl.org/dc/terms/ namespace
|
|
|
|
Created 2008-02-11
|
|
|
|
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 DC elements and
|
|
DC element refinements from the http://purl.org/dc/terms/ namespace.
|
|
|
|
It reuses the complexType dc:SimpleLiteral, imported from the dc.xsd
|
|
schema, which permits simple element content, and makes the xml:lang
|
|
attribute available.
|
|
|
|
This complexType permits the derivation of other complexTypes
|
|
which would permit child elements.
|
|
|
|
XML elements corresponding to DC elements are declared as substitutable for the abstract element dc:any, and
|
|
XML elements corresponding to DC element refinements are defined as substitutable for the base elements
|
|
which they refine.
|
|
|
|
This means that the default type for all XML elements (i.e. corresponding to all DC elements and
|
|
element refinements) is dc:SimpleLiteral.
|
|
|
|
Encoding schemes are defined as complexTypes which are restrictions
|
|
of the dc:SimpleLiteral complexType. These complexTypes restrict
|
|
values to an appropriates syntax or format using data typing,
|
|
regular expressions, or enumerated lists.
|
|
|
|
In order to specify one of these encodings an xsi:type attribute must
|
|
be used in the instance document.
|
|
|
|
Also, note that one shortcoming of this approach is that any type can be
|
|
applied to any of the elements or refinements. There is no convenient way
|
|
to restrict types to specific elements using this approach.
|
|
|
|
Changes in 2008-02-11 version:
|
|
|
|
Add element declarations corresponding to 15 new dcterms URIs, and amend use of substitutionGroups.
|
|
|
|
Add compexType definitions corresponding to ISO639-3, RFC4646.
|
|
|
|
</xs:documentation>
|
|
|
|
</xs:annotation>
|
|
|
|
|
|
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
|
|
schemaLocation="xml.xsd">
|
|
</xs:import>
|
|
|
|
<xs:import namespace="http://purl.org/dc/elements/1.1/"
|
|
schemaLocation="dc.xsd"/>
|
|
|
|
<xs:import namespace="http://purl.org/dc/dcmitype/"
|
|
schemaLocation="dcmitype.xsd"/>
|
|
|
|
<xs:element name="title" substitutionGroup="dc:title"/>
|
|
<xs:element name="creator" substitutionGroup="dc:creator"/>
|
|
<xs:element name="subject" substitutionGroup="dc:subject"/>
|
|
<xs:element name="description" substitutionGroup="dc:description"/>
|
|
<xs:element name="publisher" substitutionGroup="dc:publisher"/>
|
|
<xs:element name="contributor" substitutionGroup="dc:contributor"/>
|
|
<xs:element name="date" substitutionGroup="dc:date"/>
|
|
<xs:element name="type" substitutionGroup="dc:type"/>
|
|
<xs:element name="format" substitutionGroup="dc:format"/>
|
|
<xs:element name="identifier" substitutionGroup="dc:identifier"/>
|
|
<xs:element name="source" substitutionGroup="dc:source"/>
|
|
<xs:element name="language" substitutionGroup="dc:language"/>
|
|
<xs:element name="relation" substitutionGroup="dc:relation"/>
|
|
<xs:element name="coverage" substitutionGroup="dc:coverage"/>
|
|
<xs:element name="rights" substitutionGroup="dc:rights"/>
|
|
|
|
<xs:element name="alternative" substitutionGroup="title"/>
|
|
|
|
<xs:element name="tableOfContents" substitutionGroup="description"/>
|
|
<xs:element name="abstract" substitutionGroup="description"/>
|
|
|
|
<xs:element name="created" substitutionGroup="date"/>
|
|
<xs:element name="valid" substitutionGroup="date"/>
|
|
<xs:element name="available" substitutionGroup="date"/>
|
|
<xs:element name="issued" substitutionGroup="date"/>
|
|
<xs:element name="modified" substitutionGroup="date"/>
|
|
<xs:element name="dateAccepted" substitutionGroup="date"/>
|
|
<xs:element name="dateCopyrighted" substitutionGroup="date"/>
|
|
<xs:element name="dateSubmitted" substitutionGroup="date"/>
|
|
|
|
<xs:element name="extent" substitutionGroup="format"/>
|
|
<xs:element name="medium" substitutionGroup="format"/>
|
|
|
|
<xs:element name="isVersionOf" substitutionGroup="relation"/>
|
|
<xs:element name="hasVersion" substitutionGroup="relation"/>
|
|
<xs:element name="isReplacedBy" substitutionGroup="relation"/>
|
|
<xs:element name="replaces" substitutionGroup="relation"/>
|
|
<xs:element name="isRequiredBy" substitutionGroup="relation"/>
|
|
<xs:element name="requires" substitutionGroup="relation"/>
|
|
<xs:element name="isPartOf" substitutionGroup="relation"/>
|
|
<xs:element name="hasPart" substitutionGroup="relation"/>
|
|
<xs:element name="isReferencedBy" substitutionGroup="relation"/>
|
|
<xs:element name="references" substitutionGroup="relation"/>
|
|
<xs:element name="isFormatOf" substitutionGroup="relation"/>
|
|
<xs:element name="hasFormat" substitutionGroup="relation"/>
|
|
<xs:element name="conformsTo" substitutionGroup="relation"/>
|
|
|
|
<xs:element name="spatial" substitutionGroup="coverage"/>
|
|
<xs:element name="temporal" substitutionGroup="coverage"/>
|
|
|
|
<xs:element name="audience" substitutionGroup="dc:any"/>
|
|
<xs:element name="accrualMethod" substitutionGroup="dc:any"/>
|
|
<xs:element name="accrualPeriodicity" substitutionGroup="dc:any"/>
|
|
<xs:element name="accrualPolicy" substitutionGroup="dc:any"/>
|
|
<xs:element name="instructionalMethod" substitutionGroup="dc:any"/>
|
|
<xs:element name="provenance" substitutionGroup="dc:any"/>
|
|
<xs:element name="rightsHolder" substitutionGroup="dc:any"/>
|
|
|
|
<xs:element name="mediator" substitutionGroup="audience"/>
|
|
<xs:element name="educationLevel" substitutionGroup="audience"/>
|
|
|
|
<xs:element name="accessRights" substitutionGroup="rights"/>
|
|
<xs:element name="license" substitutionGroup="rights"/>
|
|
|
|
<xs:element name="bibliographicCitation" substitutionGroup="identifier"/>
|
|
|
|
<xs:complexType name="LCSH">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="dc:SimpleLiteral">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string"/>
|
|
</xs:simpleType>
|
|
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="MESH">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="dc:SimpleLiteral">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string"/>
|
|
</xs:simpleType>
|
|
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="DDC">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="dc:SimpleLiteral">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string"/>
|
|
</xs:simpleType>
|
|
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="LCC">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="dc:SimpleLiteral">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string"/>
|
|
</xs:simpleType>
|
|
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="UDC">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="dc:SimpleLiteral">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string"/>
|
|
</xs:simpleType>
|
|
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="Period">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="dc:SimpleLiteral">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string"/>
|
|
</xs:simpleType>
|
|
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="W3CDTF">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="dc:SimpleLiteral">
|
|
<xs:simpleType>
|
|
<xs:union memberTypes="xs:gYear xs:gYearMonth xs:date xs:dateTime"/>
|
|
</xs:simpleType>
|
|
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="DCMIType">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="dc:SimpleLiteral">
|
|
<xs:simpleType>
|
|
<xs:restriction base="dcmitype:DCMIType"/>
|
|
</xs:simpleType>
|
|
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="IMT">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="dc:SimpleLiteral">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string"/>
|
|
</xs:simpleType>
|
|
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="URI">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="dc:SimpleLiteral">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:anyURI"/>
|
|
</xs:simpleType>
|
|
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="ISO639-2">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="dc:SimpleLiteral">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string"/>
|
|
</xs:simpleType>
|
|
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="ISO639-3">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="dc:SimpleLiteral">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string"/>
|
|
</xs:simpleType>
|
|
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="RFC1766">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="dc:SimpleLiteral">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language"/>
|
|
</xs:simpleType>
|
|
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="RFC3066">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="dc:SimpleLiteral">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language"/>
|
|
</xs:simpleType>
|
|
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="RFC4646">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="dc:SimpleLiteral">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:language"/>
|
|
</xs:simpleType>
|
|
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="Point">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="dc:SimpleLiteral">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string"/>
|
|
</xs:simpleType>
|
|
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="ISO3166">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="dc:SimpleLiteral">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string"/>
|
|
</xs:simpleType>
|
|
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="Box">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="dc:SimpleLiteral">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string"/>
|
|
</xs:simpleType>
|
|
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:complexType name="TGN">
|
|
<xs:simpleContent>
|
|
<xs:restriction base="dc:SimpleLiteral">
|
|
<xs:simpleType>
|
|
<xs:restriction base="xs:string"/>
|
|
</xs:simpleType>
|
|
<xs:attribute ref="xml:lang" use="prohibited"/>
|
|
</xs:restriction>
|
|
</xs:simpleContent>
|
|
</xs:complexType>
|
|
|
|
<xs:group name="elementsAndRefinementsGroup">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en">
|
|
This group is included as a convenience for schema authors
|
|
who need to refer to all the DC elements and element refinements
|
|
in the http://purl.org/dc/elements/1.1/ and
|
|
http://purl.org/dc/terms namespaces.
|
|
N.B. Refinements available via substitution groups.
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:sequence>
|
|
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
|
<xs:element ref="dc:any" />
|
|
</xs:choice>
|
|
</xs:sequence>
|
|
</xs:group>
|
|
|
|
<xs:complexType name="elementOrRefinementContainer">
|
|
<xs:annotation>
|
|
<xs:documentation xml:lang="en">
|
|
This is included as a convenience for schema authors who need to define a root
|
|
or container element for all of the DC elements and element refinements.
|
|
</xs:documentation>
|
|
</xs:annotation>
|
|
|
|
<xs:choice>
|
|
<xs:group ref="elementsAndRefinementsGroup"/>
|
|
</xs:choice>
|
|
</xs:complexType>
|
|
|
|
|
|
</xs:schema>
|