1
|
<?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>
|