Project

General

Profile

1 8613 cjones
<?xml version="1.0" encoding="UTF-8"?>
2
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3
           xmlns:dc="http://purl.org/dc/elements/1.1/"
4
           xmlns:dcmitype="http://purl.org/dc/dcmitype/"
5
           targetNamespace="http://purl.org/dc/terms/"
6
           xmlns="http://purl.org/dc/terms/"
7
           elementFormDefault="qualified"
8
           attributeFormDefault="unqualified">
9
10
  <xs:annotation>
11
    <xs:documentation xml:lang="en">
12
      DCterms XML Schema
13
      XML Schema for http://purl.org/dc/terms/ namespace
14
15
      Created 2008-02-11
16
17
      Created by
18
19
      Tim Cole (t-cole3@uiuc.edu)
20
      Tom Habing (thabing@uiuc.edu)
21
      Jane Hunter (jane@dstc.edu.au)
22
      Pete Johnston (p.johnston@ukoln.ac.uk),
23
      Carl Lagoze (lagoze@cs.cornell.edu)
24
25
      This schema declares XML elements for the DC elements and
26
      DC element refinements from the http://purl.org/dc/terms/ namespace.
27
28
      It reuses the complexType dc:SimpleLiteral, imported from the dc.xsd
29
      schema, which permits simple element content, and makes the xml:lang
30
      attribute available.
31
32
      This complexType permits the derivation of other complexTypes
33
      which would permit child elements.
34
35
      XML elements corresponding to DC elements are declared as substitutable for the abstract element dc:any, and
36
      XML elements corresponding to DC element refinements are defined as substitutable for the base elements
37
      which they refine.
38
39
      This means that the default type for all XML elements (i.e. corresponding to all DC elements and
40
      element refinements) is dc:SimpleLiteral.
41
42
      Encoding schemes are defined as complexTypes which are restrictions
43
      of the dc:SimpleLiteral complexType. These complexTypes restrict
44
      values to an appropriates syntax or format using data typing,
45
      regular expressions, or enumerated lists.
46
47
      In order to specify one of these encodings an xsi:type attribute must
48
      be used in the instance document.
49
50
      Also, note that one shortcoming of this approach is that any type can be
51
      applied to any of the elements or refinements.  There is no convenient way
52
      to restrict types to specific elements using this approach.
53
54
      Changes in 2008-02-11 version:
55
56
      Add element declarations corresponding to 15 new dcterms URIs, and amend use of substitutionGroups.
57
58
      Add compexType definitions corresponding to ISO639-3, RFC4646.
59
60
    </xs:documentation>
61
62
  </xs:annotation>
63
64
65
  <xs:import namespace="http://www.w3.org/XML/1998/namespace"
66
             schemaLocation="http://www.w3.org/2001/03/xml.xsd">
67
  </xs:import>
68
69
   <xs:import namespace="http://purl.org/dc/elements/1.1/"
70
              schemaLocation="dc.xsd"/>
71
72
   <xs:import namespace="http://purl.org/dc/dcmitype/"
73
              schemaLocation="dcmitype.xsd"/>
74
75
   <xs:element name="title" substitutionGroup="dc:title"/>
76
   <xs:element name="creator" substitutionGroup="dc:creator"/>
77
   <xs:element name="subject" substitutionGroup="dc:subject"/>
78
   <xs:element name="description" substitutionGroup="dc:description"/>
79
   <xs:element name="publisher" substitutionGroup="dc:publisher"/>
80
   <xs:element name="contributor" substitutionGroup="dc:contributor"/>
81
   <xs:element name="date" substitutionGroup="dc:date"/>
82
   <xs:element name="type" substitutionGroup="dc:type"/>
83
   <xs:element name="format" substitutionGroup="dc:format"/>
84
   <xs:element name="identifier" substitutionGroup="dc:identifier"/>
85
   <xs:element name="source" substitutionGroup="dc:source"/>
86
   <xs:element name="language" substitutionGroup="dc:language"/>
87
   <xs:element name="relation" substitutionGroup="dc:relation"/>
88
   <xs:element name="coverage" substitutionGroup="dc:coverage"/>
89
   <xs:element name="rights" substitutionGroup="dc:rights"/>
90
91
   <xs:element name="alternative" substitutionGroup="title"/>
92
93
   <xs:element name="tableOfContents" substitutionGroup="description"/>
94
   <xs:element name="abstract" substitutionGroup="description"/>
95
96
   <xs:element name="created" substitutionGroup="date"/>
97
   <xs:element name="valid" substitutionGroup="date"/>
98
   <xs:element name="available" substitutionGroup="date"/>
99
   <xs:element name="issued" substitutionGroup="date"/>
100
   <xs:element name="modified" substitutionGroup="date"/>
101
   <xs:element name="dateAccepted" substitutionGroup="date"/>
102
   <xs:element name="dateCopyrighted" substitutionGroup="date"/>
103
   <xs:element name="dateSubmitted" substitutionGroup="date"/>
104
105
   <xs:element name="extent" substitutionGroup="format"/>
106
   <xs:element name="medium" substitutionGroup="format"/>
107
108
   <xs:element name="isVersionOf" substitutionGroup="relation"/>
109
   <xs:element name="hasVersion" substitutionGroup="relation"/>
110
   <xs:element name="isReplacedBy" substitutionGroup="relation"/>
111
   <xs:element name="replaces" substitutionGroup="relation"/>
112
   <xs:element name="isRequiredBy" substitutionGroup="relation"/>
113
   <xs:element name="requires" substitutionGroup="relation"/>
114
   <xs:element name="isPartOf" substitutionGroup="relation"/>
115
   <xs:element name="hasPart" substitutionGroup="relation"/>
116
   <xs:element name="isReferencedBy" substitutionGroup="relation"/>
117
   <xs:element name="references" substitutionGroup="relation"/>
118
   <xs:element name="isFormatOf" substitutionGroup="relation"/>
119
   <xs:element name="hasFormat" substitutionGroup="relation"/>
120
   <xs:element name="conformsTo" substitutionGroup="relation"/>
121
122
   <xs:element name="spatial" substitutionGroup="coverage"/>
123
   <xs:element name="temporal" substitutionGroup="coverage"/>
124
125
   <xs:element name="audience" substitutionGroup="dc:any"/>
126
   <xs:element name="accrualMethod" substitutionGroup="dc:any"/>
127
   <xs:element name="accrualPeriodicity" substitutionGroup="dc:any"/>
128
   <xs:element name="accrualPolicy" substitutionGroup="dc:any"/>
129
   <xs:element name="instructionalMethod" substitutionGroup="dc:any"/>
130
   <xs:element name="provenance" substitutionGroup="dc:any"/>
131
   <xs:element name="rightsHolder" substitutionGroup="dc:any"/>
132
133
   <xs:element name="mediator" substitutionGroup="audience"/>
134
   <xs:element name="educationLevel" substitutionGroup="audience"/>
135
136
   <xs:element name="accessRights" substitutionGroup="rights"/>
137
   <xs:element name="license" substitutionGroup="rights"/>
138
139
   <xs:element name="bibliographicCitation" substitutionGroup="identifier"/>
140
141
  <xs:complexType name="LCSH">
142
   <xs:simpleContent>
143
    <xs:restriction base="dc:SimpleLiteral">
144
        <xs:simpleType>
145
          <xs:restriction base="xs:string"/>
146
        </xs:simpleType>
147
        <xs:attribute ref="xml:lang" use="prohibited"/>
148
    </xs:restriction>
149
   </xs:simpleContent>
150
  </xs:complexType>
151
152
  <xs:complexType name="MESH">
153
   <xs:simpleContent>
154
    <xs:restriction base="dc:SimpleLiteral">
155
        <xs:simpleType>
156
          <xs:restriction base="xs:string"/>
157
        </xs:simpleType>
158
        <xs:attribute ref="xml:lang" use="prohibited"/>
159
    </xs:restriction>
160
   </xs:simpleContent>
161
  </xs:complexType>
162
163
  <xs:complexType name="DDC">
164
   <xs:simpleContent>
165
    <xs:restriction base="dc:SimpleLiteral">
166
        <xs:simpleType>
167
          <xs:restriction base="xs:string"/>
168
        </xs:simpleType>
169
        <xs:attribute ref="xml:lang" use="prohibited"/>
170
    </xs:restriction>
171
   </xs:simpleContent>
172
  </xs:complexType>
173
174
  <xs:complexType name="LCC">
175
   <xs:simpleContent>
176
    <xs:restriction base="dc:SimpleLiteral">
177
        <xs:simpleType>
178
          <xs:restriction base="xs:string"/>
179
        </xs:simpleType>
180
        <xs:attribute ref="xml:lang" use="prohibited"/>
181
    </xs:restriction>
182
   </xs:simpleContent>
183
  </xs:complexType>
184
185
  <xs:complexType name="UDC">
186
   <xs:simpleContent>
187
    <xs:restriction base="dc:SimpleLiteral">
188
        <xs:simpleType>
189
          <xs:restriction base="xs:string"/>
190
        </xs:simpleType>
191
        <xs:attribute ref="xml:lang" use="prohibited"/>
192
    </xs:restriction>
193
   </xs:simpleContent>
194
  </xs:complexType>
195
196
  <xs:complexType name="Period">
197
   <xs:simpleContent>
198
    <xs:restriction base="dc:SimpleLiteral">
199
        <xs:simpleType>
200
          <xs:restriction base="xs:string"/>
201
        </xs:simpleType>
202
        <xs:attribute ref="xml:lang" use="prohibited"/>
203
    </xs:restriction>
204
   </xs:simpleContent>
205
  </xs:complexType>
206
207
  <xs:complexType name="W3CDTF">
208
   <xs:simpleContent>
209
    <xs:restriction base="dc:SimpleLiteral">
210
        <xs:simpleType>
211
           <xs:union memberTypes="xs:gYear xs:gYearMonth xs:date xs:dateTime"/>
212
        </xs:simpleType>
213
        <xs:attribute ref="xml:lang" use="prohibited"/>
214
    </xs:restriction>
215
   </xs:simpleContent>
216
  </xs:complexType>
217
218
  <xs:complexType name="DCMIType">
219
   <xs:simpleContent>
220
    <xs:restriction base="dc:SimpleLiteral">
221
        <xs:simpleType>
222
          <xs:restriction base="dcmitype:DCMIType"/>
223
        </xs:simpleType>
224
        <xs:attribute ref="xml:lang" use="prohibited"/>
225
    </xs:restriction>
226
   </xs:simpleContent>
227
  </xs:complexType>
228
229
  <xs:complexType name="IMT">
230
   <xs:simpleContent>
231
    <xs:restriction base="dc:SimpleLiteral">
232
        <xs:simpleType>
233
          <xs:restriction base="xs:string"/>
234
        </xs:simpleType>
235
        <xs:attribute ref="xml:lang" use="prohibited"/>
236
    </xs:restriction>
237
   </xs:simpleContent>
238
  </xs:complexType>
239
240
  <xs:complexType name="URI">
241
   <xs:simpleContent>
242
    <xs:restriction base="dc:SimpleLiteral">
243
        <xs:simpleType>
244
          <xs:restriction base="xs:anyURI"/>
245
        </xs:simpleType>
246
        <xs:attribute ref="xml:lang" use="prohibited"/>
247
    </xs:restriction>
248
   </xs:simpleContent>
249
  </xs:complexType>
250
251
  <xs:complexType name="ISO639-2">
252
   <xs:simpleContent>
253
    <xs:restriction base="dc:SimpleLiteral">
254
        <xs:simpleType>
255
          <xs:restriction base="xs:string"/>
256
        </xs:simpleType>
257
        <xs:attribute ref="xml:lang" use="prohibited"/>
258
    </xs:restriction>
259
   </xs:simpleContent>
260
  </xs:complexType>
261
262
  <xs:complexType name="ISO639-3">
263
   <xs:simpleContent>
264
    <xs:restriction base="dc:SimpleLiteral">
265
        <xs:simpleType>
266
          <xs:restriction base="xs:string"/>
267
        </xs:simpleType>
268
        <xs:attribute ref="xml:lang" use="prohibited"/>
269
    </xs:restriction>
270
   </xs:simpleContent>
271
  </xs:complexType>
272
273
  <xs:complexType name="RFC1766">
274
   <xs:simpleContent>
275
    <xs:restriction base="dc:SimpleLiteral">
276
        <xs:simpleType>
277
          <xs:restriction base="xs:language"/>
278
        </xs:simpleType>
279
        <xs:attribute ref="xml:lang" use="prohibited"/>
280
    </xs:restriction>
281
   </xs:simpleContent>
282
  </xs:complexType>
283
284
  <xs:complexType name="RFC3066">
285
   <xs:simpleContent>
286
    <xs:restriction base="dc:SimpleLiteral">
287
        <xs:simpleType>
288
          <xs:restriction base="xs:language"/>
289
        </xs:simpleType>
290
        <xs:attribute ref="xml:lang" use="prohibited"/>
291
    </xs:restriction>
292
   </xs:simpleContent>
293
  </xs:complexType>
294
295
  <xs:complexType name="RFC4646">
296
   <xs:simpleContent>
297
    <xs:restriction base="dc:SimpleLiteral">
298
        <xs:simpleType>
299
          <xs:restriction base="xs:language"/>
300
        </xs:simpleType>
301
        <xs:attribute ref="xml:lang" use="prohibited"/>
302
    </xs:restriction>
303
   </xs:simpleContent>
304
  </xs:complexType>
305
306
  <xs:complexType name="Point">
307
   <xs:simpleContent>
308
    <xs:restriction base="dc:SimpleLiteral">
309
        <xs:simpleType>
310
          <xs:restriction base="xs:string"/>
311
        </xs:simpleType>
312
        <xs:attribute ref="xml:lang" use="prohibited"/>
313
    </xs:restriction>
314
   </xs:simpleContent>
315
  </xs:complexType>
316
317
  <xs:complexType name="ISO3166">
318
   <xs:simpleContent>
319
    <xs:restriction base="dc:SimpleLiteral">
320
        <xs:simpleType>
321
          <xs:restriction base="xs:string"/>
322
        </xs:simpleType>
323
        <xs:attribute ref="xml:lang" use="prohibited"/>
324
    </xs:restriction>
325
   </xs:simpleContent>
326
  </xs:complexType>
327
328
  <xs:complexType name="Box">
329
   <xs:simpleContent>
330
    <xs:restriction base="dc:SimpleLiteral">
331
        <xs:simpleType>
332
          <xs:restriction base="xs:string"/>
333
        </xs:simpleType>
334
        <xs:attribute ref="xml:lang" use="prohibited"/>
335
    </xs:restriction>
336
   </xs:simpleContent>
337
  </xs:complexType>
338
339
  <xs:complexType name="TGN">
340
   <xs:simpleContent>
341
    <xs:restriction base="dc:SimpleLiteral">
342
        <xs:simpleType>
343
          <xs:restriction base="xs:string"/>
344
        </xs:simpleType>
345
        <xs:attribute ref="xml:lang" use="prohibited"/>
346
    </xs:restriction>
347
   </xs:simpleContent>
348
  </xs:complexType>
349
350
  <xs:group name="elementsAndRefinementsGroup">
351
  	<xs:annotation>
352
    	<xs:documentation xml:lang="en">
353
    		This group is included as a convenience for schema authors
354
            who need to refer to all the DC elements and element refinements
355
            in the http://purl.org/dc/elements/1.1/ and
356
            http://purl.org/dc/terms namespaces.
357
            N.B. Refinements available via substitution groups.
358
    	</xs:documentation>
359
  	</xs:annotation>
360
361
  <xs:sequence>
362
    <xs:choice minOccurs="0" maxOccurs="unbounded">
363
	<xs:element ref="dc:any" />
364
    </xs:choice>
365
  </xs:sequence>
366
  </xs:group>
367
368
  <xs:complexType name="elementOrRefinementContainer">
369
  	<xs:annotation>
370
    	<xs:documentation xml:lang="en">
371
    		This is included as a convenience for schema authors who need to define a root
372
    		or container element for all of the DC elements and element refinements.
373
    	</xs:documentation>
374
  	</xs:annotation>
375
376
    <xs:choice>
377
      <xs:group ref="elementsAndRefinementsGroup"/>
378
    </xs:choice>
379
  </xs:complexType>
380
381
382
</xs:schema>