Project

General

Profile

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>
(3-3/3)