Project

General

Profile

1
<?xml version="1.0" encoding="UTF-8"?>
2
<xs:schema xmlns:eagle="http://www.eagle-network.eu/eagle"
3
    xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.eagle-network.eu/eagle"
4
    elementFormDefault="qualified" version="1" id="eagle">
5

    
6
    <!-- ###############-->
7
    <!-- # MAIN ENTITY #-->
8
    <!-- ###############-->
9
    <xs:element name="eagleObject" type="eagle:eagleEntity">
10
        <xs:annotation>
11
            <xs:documentation>
12
                The EAGLE wrapper entity. It contains the following main entities
13
                (sub-entities): artifact/inscription, visual representation, documental manifestation, trismegistos card.
14
                Such entities share some common properties like resource identifier in D-Net aggregation system, 
15
                provenance and original identifier information, Intellectual property right statement.
16
            </xs:documentation>
17
        </xs:annotation>
18
    </xs:element>
19

    
20
    <xs:complexType name="eagleEntity">
21
        <xs:sequence>
22
            <xs:element maxOccurs="1" minOccurs="1" name="dnetResourceIdentifier" type="xs:string">
23
                <xs:annotation>
24
                    <xs:documentation>
25
                        Unique resource identifier internal to D-Net infrastructure.
26
                        This property is obtained by concatenating the content CP Acronym and the
27
                        local record ID to the identifier. (CP_ACRONYM::LOCAL_ID)
28
                    </xs:documentation>
29
                </xs:annotation>
30
            </xs:element>
31
            <xs:element ref="eagle:recordSourceInfo"/>
32
            <xs:element name="editingInfo" minOccurs="0" maxOccurs="1">
33
                <xs:annotation>
34
                    <xs:documentation>Information about metadata editor/curator and time of the last modification</xs:documentation>
35
                </xs:annotation>
36
                <xs:complexType>
37
                    <xs:all>
38
                        <xs:element name="dateEdited" type="xs:string" minOccurs="0" maxOccurs="1"/>
39
                        <xs:element name="metadataEditor" type="xs:string" minOccurs="0"
40
                            maxOccurs="1"/>
41
                    </xs:all>
42
                </xs:complexType>
43
            </xs:element>
44
            <xs:element name="metadataIpr" minOccurs="0" maxOccurs="1"
45
                type="eagle:StringWithUriType">
46
                <xs:annotation>
47
                    <xs:documentation>Intellectual property right statement assigned to the content by each Content Provider.</xs:documentation>
48
                </xs:annotation>
49
            </xs:element>
50
            <xs:element name="title" minOccurs="0" maxOccurs="unbounded"
51
                type="eagle:StringWithLanguageType"/>
52
            <xs:element name="description" minOccurs="0" maxOccurs="unbounded"
53
                type="eagle:StringWithLanguageType"/>
54
            <xs:element maxOccurs="1" minOccurs="1" name="entityType">
55
                <xs:annotation>
56
                    <xs:documentation>Entity type describing the following xs:choice</xs:documentation>
57
                </xs:annotation>
58
                <xs:simpleType>
59
                    <xs:restriction base="xs:string">
60
                        <xs:enumeration value="artifact"/>
61
                        <xs:enumeration value="visual"/>
62
                        <xs:enumeration value="documental"/>
63
                        <xs:enumeration value="trismegistos card"/>
64
                    </xs:restriction>
65
                </xs:simpleType>
66
            </xs:element>
67
            <xs:choice>
68
                <xs:element ref="eagle:trismegistosCard"/>
69
                <xs:element ref="eagle:visualRepresentation"/>
70
                <xs:element ref="eagle:artifact"/>
71
                <xs:element ref="eagle:documentalManifestation"/>
72
            </xs:choice>
73
        </xs:sequence>
74
    </xs:complexType>
75

    
76

    
77
    <!-- ##################-->
78
    <!-- # EAGLE ENTITIES #-->
79
    <!-- ##################-->
80
    <xs:element name="artifact">
81
        <xs:annotation>
82
            <xs:documentation>Generic artifact in EAGLE domain</xs:documentation>
83
        </xs:annotation>
84
        <xs:complexType>
85
            <xs:sequence>
86
                <xs:element name="artifactType">
87
                    <xs:simpleType>
88
                        <xs:restriction base="xs:string">
89
                            <xs:enumeration value="monument"/>
90
                            <xs:enumeration value="inscription"/>
91
                        </xs:restriction>
92
                    </xs:simpleType>
93
                </xs:element>
94
                <xs:element name="objectType" minOccurs="1" maxOccurs="unbounded"
95
                    type="eagle:StringWithUriType"/>
96
                <xs:element name="material" minOccurs="1" maxOccurs="unbounded"
97
                    type="eagle:StringWithUriType"/>
98
                <xs:element name="dimensions" minOccurs="0" maxOccurs="unbounded"
99
                    type="eagle:ThreeDimensionsType"/>
100
                <xs:element name="decoration" minOccurs="0" maxOccurs="unbounded"
101
                    type="eagle:StringWithUriType"/>
102
                <xs:element name="stateOfPreservation" minOccurs="0" maxOccurs="1"
103
                    type="eagle:StringWithUriType"/>
104
                <xs:element name="originDating" minOccurs="0" maxOccurs="1" type="eagle:DateType"/>
105
                <xs:element name="yearOfFinding" minOccurs="0" maxOccurs="1" type="xs:string"/>
106
                <xs:element ref="eagle:findingSpot" minOccurs="0" maxOccurs="1"/>
107
                <xs:element ref="eagle:conservationPlace" minOccurs="0" maxOccurs="1"/>
108
                <xs:element name="hasVisualRepresentation" type="eagle:HasVisualRepresentationType"
109
                    minOccurs="0" maxOccurs="unbounded"/>
110
                <xs:element ref="eagle:inscription" minOccurs="0" maxOccurs="unbounded">
111
                    <xs:annotation>
112
                        <xs:documentation>
113
                            Present when artifactType='inscription'.
114
                            This describes the inscription present on the artifact.
115
                        </xs:documentation>
116
                    </xs:annotation>
117
                </xs:element>
118
            </xs:sequence>
119
        </xs:complexType>
120
    </xs:element>
121

    
122
    <xs:element name="inscription">
123
        <xs:complexType>
124
            <xs:sequence>
125
                <xs:element name="hasTmId" type="eagle:HasTrismegistosType" minOccurs="0"
126
                    maxOccurs="1"/>
127
                <xs:element name="inscriptionType" minOccurs="0" maxOccurs="unbounded"
128
                    type="eagle:StringWithUriType">
129
                    <xs:annotation>
130
                        <xs:documentation>Type of the inscription</xs:documentation>
131
                    </xs:annotation>
132
                </xs:element>
133
                <xs:element name="engravingTechnique" minOccurs="0" maxOccurs="unbounded"
134
                    type="eagle:StringWithUriType">
135
                    <xs:annotation>
136
                        <xs:documentation>Engraving techniques used for the inscription</xs:documentation>
137
                    </xs:annotation>
138
                </xs:element>
139
                <xs:element maxOccurs="1" minOccurs="0" name="metre" type="xs:string">
140
                    <xs:annotation>
141
                        <xs:documentation>Metric of the inscription</xs:documentation>
142
                    </xs:annotation>
143
                </xs:element>
144
                <xs:element name="fieldSize" minOccurs="0" maxOccurs="unbounded"
145
                    type="eagle:TwoDimensionsType">
146
                    <xs:annotation>
147
                        <xs:documentation>Dimensions of the epigraphic field</xs:documentation>
148
                    </xs:annotation>
149
                </xs:element>
150
                <xs:element maxOccurs="1" minOccurs="0" name="paleographicCharacteristics"
151
                    type="xs:string">
152
                    <xs:annotation>
153
                        <xs:documentation>Paleographic Characteristics of the inscription</xs:documentation>
154
                    </xs:annotation>
155
                </xs:element>
156
                <xs:element maxOccurs="unbounded" minOccurs="0" name="letterSize" type="eagle:RangeType">
157
                    <xs:annotation>
158
                        <xs:documentation>Size of the letter (font)</xs:documentation>
159
                    </xs:annotation>
160
                </xs:element>
161
                <xs:element maxOccurs="1" minOccurs="0" name="inscriptionAuthor" type="xs:string">
162
                    <xs:annotation>
163
                        <xs:documentation>
164
                            Author of the inscription, e.g. the creator of the inscription itself, 
165
                            or the name of the artist or the name of the artistic/artisan school
166
                        </xs:documentation>
167
                    </xs:annotation>
168
                </xs:element>
169
                <xs:element maxOccurs="1" minOccurs="0" name="honorand">
170
                    <xs:annotation>
171
                        <xs:documentation>
172
                            The person to whom the inscription was dedicated and the political/social role/position of the honorand
173
                        </xs:documentation>
174
                    </xs:annotation>
175
                    <xs:complexType>
176
                        <xs:simpleContent>
177
                            <xs:extension base="xs:string">
178
                                <xs:attribute name="socialStatus" type="xs:string"/>
179
                            </xs:extension>
180
                        </xs:simpleContent>
181
                    </xs:complexType>
182
                </xs:element>
183
                <xs:element maxOccurs="1" minOccurs="0" name="dedicator" type="xs:string">
184
                    <xs:annotation>
185
                        <xs:documentation>name of the person who devotes the inscription</xs:documentation>
186
                    </xs:annotation>
187
                </xs:element>
188
                <xs:element maxOccurs="1" minOccurs="0" name="namesMentioned" type="xs:string">
189
                    <xs:annotation>
190
                        <xs:documentation>names of the person(s) mentioned in the inscription</xs:documentation>
191
                    </xs:annotation>
192
                </xs:element>
193
                <xs:element maxOccurs="1" minOccurs="0" name="relatedEvent" type="xs:string">
194
                    <xs:annotation>
195
                        <xs:documentation>description about the event related to the purpose of the inscription</xs:documentation>
196
                    </xs:annotation>
197
                </xs:element>
198
                <xs:element maxOccurs="1" minOccurs="0" name="placesMentioned" type="xs:string">
199
                    <xs:annotation>
200
                        <xs:documentation>Placenames mentioned in the inscription</xs:documentation>
201
                    </xs:annotation>
202
                </xs:element>
203
                <xs:element maxOccurs="1" minOccurs="0" name="restorationInfo" type="xs:string">
204
                    <xs:annotation>
205
                        <xs:documentation>information regarding whether the inscription has been restored and when</xs:documentation>
206
                    </xs:annotation>
207
                </xs:element>
208
                <xs:element maxOccurs="1" minOccurs="0" name="doubleSided" type="xs:string">
209
                    <xs:annotation>
210
                        <xs:documentation>States whether the inscription is double-sided or not</xs:documentation>
211
                    </xs:annotation>
212
                </xs:element>
213
                <xs:element maxOccurs="1" minOccurs="0" name="erasures" type="xs:string">
214
                    <xs:annotation>
215
                        <xs:documentation>It specifies whether the text of the inscription was damaged on purpose</xs:documentation>
216
                    </xs:annotation>
217
                </xs:element>
218
                <xs:element maxOccurs="1" minOccurs="0" name="spellingErrors" type="xs:string">
219
                    <xs:annotation>
220
                        <xs:documentation>It shows if there are any spelling mistakes on the text of the inscription</xs:documentation>
221
                    </xs:annotation>
222
                </xs:element>
223
                <xs:element name="hasTranslation" type="eagle:HasTranslationType" minOccurs="0"
224
                    maxOccurs="unbounded">
225
                    <xs:annotation>
226
                        <xs:documentation>Translation resource identificator</xs:documentation>
227
                    </xs:annotation>
228
                </xs:element>
229
                <xs:element name="hasTranscription" minOccurs="0" maxOccurs="unbounded"
230
                    type="eagle:HasTranscriptionType">
231
                    <xs:annotation>
232
                        <xs:documentation>Translation resource identificator</xs:documentation>
233
                    </xs:annotation>
234
                </xs:element>
235
            </xs:sequence>
236
        </xs:complexType>
237
    </xs:element>
238

    
239
    <xs:element name="documentalManifestation">
240
        <xs:annotation>
241
            <xs:documentation>Container for documents describing the inscription (i.e. transcriptions and translations)</xs:documentation>
242
        </xs:annotation>
243
        <xs:complexType>
244
            <xs:sequence>
245
                <xs:element name="documentType">
246
                    <xs:annotation>
247
                        <xs:documentation>
248
                            Possible values are: {transcription | translation}
249
                        </xs:documentation>
250
                    </xs:annotation>
251
                    <xs:simpleType>
252
                        <xs:restriction base="xs:string">
253
                            <xs:enumeration value="transcription"/>
254
                            <xs:enumeration value="translation"/>
255
                        </xs:restriction>
256
                    </xs:simpleType>
257
                </xs:element>
258
                <xs:element name="hasArtifact" type="eagle:HasArtifactType" minOccurs="1"
259
                    maxOccurs="unbounded"/>
260
                <xs:element name="hasVisualRepresentation" type="eagle:HasVisualRepresentationType"
261
                    minOccurs="0" maxOccurs="unbounded"/>
262
                <xs:choice>
263
                    <xs:element ref="eagle:transcription"/>
264
                    <xs:element ref="eagle:translation"/>
265
                </xs:choice>
266
            </xs:sequence>
267
        </xs:complexType>
268
    </xs:element>
269

    
270
    <xs:element name="visualRepresentation">
271
        <xs:annotation>
272
            <xs:documentation>Digital image representing of an EAGLE artifact/monument or context</xs:documentation>
273
        </xs:annotation>
274
        <xs:complexType>
275
            <xs:sequence>
276
                <xs:element name="representationType" minOccurs="0" maxOccurs="1">
277
                    <xs:annotation>
278
                        <xs:documentation>Image type among {Drawing, Photo, Computer graphics, Digitized literature, Video}</xs:documentation>
279
                    </xs:annotation>
280
                    <xs:simpleType>
281
                        <xs:restriction base="xs:string">
282
                            <xs:enumeration value="image"/>
283
                            <xs:enumeration value="drawing"/>
284
                            <xs:enumeration value="digitizad literature"/>
285
                            <xs:enumeration value="computer graphic"/>
286
                            <xs:enumeration value="video"/>
287
                        </xs:restriction>
288
                    </xs:simpleType>
289
                </xs:element>
290
                <xs:element name="url" minOccurs="1" maxOccurs="1" type="xs:anyURI"/>
291
                <xs:element name="thumbnail" minOccurs="0" maxOccurs="1" type="xs:anyURI"/>
292
                <xs:element name="author" type="xs:string" minOccurs="0" maxOccurs="1"/>
293
                <xs:element name="visualRepresentationIpr" type="eagle:StringWithUriType"
294
                    minOccurs="1" maxOccurs="1"/>
295
                <xs:element name="creationDate" type="xs:string" minOccurs="0" maxOccurs="1"/>
296
                <xs:element name="quality" type="xs:string" minOccurs="0" maxOccurs="1"/>
297
                <xs:element name="format" type="xs:string" minOccurs="0" maxOccurs="1"/>
298
                <xs:element name="hasArtifact" type="eagle:HasArtifactType" minOccurs="0"
299
                    maxOccurs="1"/>
300
                <xs:element name="hasTranslation" type="eagle:HasTranslationType" minOccurs="0" maxOccurs="unbounded"/>
301
                <xs:element name="hasTranscription" type="eagle:HasTranscriptionType" minOccurs="0" maxOccurs="unbounded"/>
302
                <xs:element name="info3D" minOccurs="0" maxOccurs="1">
303
                    <xs:annotation>
304
                        <xs:documentation>Present only if the visual representation is a 3D rendering (i.e. computer graphics)</xs:documentation>
305
                    </xs:annotation>
306
                    <xs:complexType>
307
                        <xs:sequence>
308
                            <xs:element name="acquisitionTechnology" type="xs:string" minOccurs="0"
309
                                maxOccurs="1"/>
310
                            <xs:element name="processingInfo" type="xs:string" minOccurs="0"
311
                                maxOccurs="1"/>
312
                            <xs:element name="horizontalResolution" type="xs:string" minOccurs="0"
313
                                maxOccurs="1"/>
314
                            <xs:element name="verticalResolution" type="xs:string" minOccurs="0"
315
                                maxOccurs="1"/>
316
                            <xs:element name="modelDimensions" type="eagle:ThreeDimensionsType"
317
                                minOccurs="0" maxOccurs="1"/>
318
                            <xs:element name="modelArea" type="xs:string" minOccurs="0"
319
                                maxOccurs="1"/>
320
                            <xs:element name="modelPerimeter" type="xs:string" minOccurs="0"
321
                                maxOccurs="1"/>
322
                        </xs:sequence>
323
                    </xs:complexType>
324
                </xs:element>
325
                <xs:element name="infoVideo" minOccurs="0" maxOccurs="1">
326
                    <xs:annotation>
327
                        <xs:documentation>Present only if the visual representation is a video resource (i.e. video)</xs:documentation>
328
                    </xs:annotation>
329
                    <xs:complexType>
330
                        <xs:sequence>
331
                            <xs:element name="duration" type="xs:string" minOccurs="0" maxOccurs="1"/>
332
                            <xs:element name="resolution" type="xs:string" minOccurs="0"
333
                                maxOccurs="1"/>
334
                            <xs:element name="rate" type="xs:string" minOccurs="0" maxOccurs="1"/>
335
                        </xs:sequence>
336
                    </xs:complexType>
337
                </xs:element>
338
            </xs:sequence>
339
        </xs:complexType>
340
    </xs:element>
341

    
342
    <xs:element name="translation">
343
        <xs:annotation>
344
            <xs:documentation>
345
                Translation page from media wiki. 
346
                Each page contains one or more translations in one or more languages. 
347
                Each page reports the local identifiers of the inscriptions to which is referred.
348
            </xs:documentation>
349
        </xs:annotation>
350
        <xs:complexType>
351
            <xs:sequence>
352
                <xs:element name="text" type="eagle:StringWithLanguageType"/>
353
                <xs:element name="mediawikiUrl" type="xs:anyURI" minOccurs="0" maxOccurs="1"/>
354
                <xs:element name="notes" type="xs:string" minOccurs="0" maxOccurs="1"/>
355
                <xs:element name="author" type="xs:string" minOccurs="0" maxOccurs="1"/>
356
                <xs:element name="translationIpr" type="eagle:StringWithUriType" minOccurs="1"
357
                    maxOccurs="1"/>
358
                <xs:element name="publicationTitle" type="xs:string" minOccurs="0" maxOccurs="1"/>
359
                <xs:element name="publicationYear" type="xs:string" minOccurs="0" maxOccurs="1"/>
360
                <xs:element name="publicationAuthor" type="xs:string" minOccurs="0" maxOccurs="1"/>
361
                <xs:element name="publicationPlace" type="xs:string" minOccurs="0" maxOccurs="1"/>
362
                <xs:element name="hasTranscription" type="eagle:HasTranscriptionType" minOccurs="0"
363
                    maxOccurs="1"/>
364
            </xs:sequence>
365
        </xs:complexType>
366
    </xs:element>
367

    
368
    <xs:element name="transcription">
369
        <xs:annotation>
370
            <xs:documentation>Transcription entity built from information contained inside a given epidoc file</xs:documentation>
371
        </xs:annotation>
372
        <xs:complexType>
373
            <xs:sequence>
374
                <xs:element name="text" type="eagle:StringWithLanguageType"/>
375
                <xs:element name="textHtml" type="eagle:HtmlWithLanguageType"/>
376
                <xs:element name="criticalApparatus" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
377
                <xs:element name="bibliography" minOccurs="0" maxOccurs="unbounded" type="eagle:StringWithUriType"/>
378
                <xs:element name="commentary" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
379
                <xs:element name="hasTranslation" type="eagle:HasTranslationType" minOccurs="0" maxOccurs="unbounded"/>
380
            </xs:sequence>
381
        </xs:complexType>
382
    </xs:element>
383

    
384
    <xs:element name="trismegistosCard">
385
        <xs:annotation>
386
            <xs:documentation>Trismegistos card entity</xs:documentation>
387
        </xs:annotation>
388
        <xs:complexType>
389
            <xs:sequence>
390
                <xs:element name="tmId" type="xs:string">
391
                    <xs:annotation>
392
                        <xs:documentation>Plain Trismegistos number</xs:documentation>
393
                    </xs:annotation>
394
                </xs:element>
395
                <xs:element name="identifiesInscription" minOccurs="1" maxOccurs="unbounded" type="xs:string">
396
                    <xs:annotation>
397
                        <xs:documentation>Relation to an inscription</xs:documentation>
398
                    </xs:annotation>
399
                </xs:element>
400
                <xs:element name="otherRelevantPropertiesFromTrismegistos" minOccurs="0" maxOccurs="unbounded" type="eagle:TypedStringType">
401
                    <xs:annotation>
402
                        <xs:documentation>TODO: select information from Trismegistos cards to be put here</xs:documentation>
403
                    </xs:annotation>
404
                </xs:element>
405
            </xs:sequence>
406
        </xs:complexType>
407
    </xs:element>
408

    
409
    <!-- #################-->
410
    <!-- # MISC ELEMENTS #-->
411
    <!-- #################-->
412
    <xs:element name="recordSourceInfo">
413
        <xs:annotation>
414
            <xs:documentation>
415
                Original identifier locally valid at the content provider.
416
                Additional information about record ownership are provided as attributes (landingPage, providerAcronym, providerName).
417
            </xs:documentation>
418
        </xs:annotation>
419
        <xs:complexType>
420
            <xs:simpleContent>
421
                <xs:extension base="xs:string">
422
                    <xs:attribute name="providerName" type="xs:string"/>
423
                    <xs:attribute name="providerAcronym" type="xs:string"/>
424
                    <xs:attribute name="landingPage" type="xs:anyURI"/>
425
                </xs:extension>
426
            </xs:simpleContent>
427
        </xs:complexType>
428
    </xs:element>
429

    
430
    <xs:element name="findingSpot">
431
        <xs:annotation>
432
            <xs:documentation>Structured property locating the place of finding</xs:documentation>
433
        </xs:annotation>
434
        <xs:complexType>
435
            <xs:all>
436
                <xs:element name="romanProvinceItalicRegion" minOccurs="0" maxOccurs="1"
437
                    type="eagle:StringWithUriType"/>
438
                <xs:element name="ancientFindSpot" minOccurs="0" maxOccurs="1"
439
                    type="eagle:StringWithUriType"/>
440
                <xs:element name="modernFindSpot" minOccurs="0" maxOccurs="1"
441
                    type="eagle:StringWithUriType"/>
442
                <xs:element name="modernCountry" minOccurs="0" maxOccurs="1"
443
                    type="eagle:StringWithUriType"/>
444
                <xs:element name="modernRegion" minOccurs="0" maxOccurs="1"
445
                    type="eagle:StringWithUriType"/>
446
                <xs:element name="modernProvince" minOccurs="0" maxOccurs="1"
447
                    type="eagle:StringWithUriType"/>
448
            </xs:all>
449
        </xs:complexType>
450
    </xs:element>
451

    
452
    <xs:element name="conservationPlace">
453
        <xs:annotation>
454
            <xs:documentation>Structured property locating the place of conservation (down to position inside a museum)</xs:documentation>
455
        </xs:annotation>
456
        <xs:complexType>
457
            <xs:all>
458
                <xs:element name="conservationCountry" minOccurs="0" maxOccurs="1"
459
                    type="eagle:StringWithUriType"/>
460
                <xs:element name="conservationRegion" minOccurs="0" maxOccurs="1"
461
                    type="eagle:StringWithUriType"/>
462
                <xs:element name="conservationCity" minOccurs="0" maxOccurs="1"
463
                    type="eagle:StringWithUriType"/>
464
                <xs:element name="museum" minOccurs="0" maxOccurs="1" type="eagle:StringWithUriType"/>
465
                <xs:element name="position" minOccurs="0" maxOccurs="1" type="xs:string"/>
466
                <xs:element name="inventoryNumber" minOccurs="0" maxOccurs="1" type="xs:string"/>
467
            </xs:all>
468
        </xs:complexType>
469
    </xs:element>
470

    
471

    
472
    <!-- #########################-->
473
    <!-- # CUSTOM TYPES ELEMENTS #-->
474
    <!-- #########################-->
475
    <xs:complexType name="StringWithUriType">
476
        <xs:annotation>
477
            <xs:documentation>
478
                Defines the type for an (untyped) string referencing an external URI (e.g. a vocabulary term in Tematres or any external web resource)
479
            </xs:documentation>
480
        </xs:annotation>
481
        <xs:simpleContent>
482
            <xs:extension base="xs:string">
483
                <xs:attribute name="uri" type="xs:anyURI"/>
484
            </xs:extension>
485
        </xs:simpleContent>
486
    </xs:complexType>
487

    
488
    <xs:complexType name="StringWithLanguageType">
489
        <xs:annotation>
490
            <xs:documentation>Defines the type for any textual element with a 'lang' attribute</xs:documentation>
491
        </xs:annotation>
492
        <xs:simpleContent>
493
            <xs:extension base="xs:string">
494
                <xs:attribute name="lang" type="xs:string"/>
495
            </xs:extension>
496
        </xs:simpleContent>
497
    </xs:complexType>
498

    
499
    <xs:complexType name="TypedStringType">
500
        <xs:annotation>
501
            <xs:documentation>Defines the type for any textual element with a 'type' attribute</xs:documentation>
502
        </xs:annotation>
503
        <xs:simpleContent>
504
            <xs:extension base="xs:string">
505
                <xs:attribute name="type" type="xs:string"/>
506
            </xs:extension>
507
        </xs:simpleContent>
508
    </xs:complexType>
509

    
510
    <xs:complexType name="HtmlWithLanguageType">
511
        <xs:annotation>
512
            <xs:documentation>Defines the type for a node containing HTML code with a 'lang' attribute</xs:documentation>
513
        </xs:annotation>
514
        <xs:sequence>
515
            <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
516
        </xs:sequence>
517
        <xs:attribute name="lang" type="xs:string"/>
518
    </xs:complexType>
519

    
520
    <xs:complexType name="RangeType">
521
        <xs:annotation>
522
            <xs:documentation>Defines a type for a min/max range</xs:documentation>
523
        </xs:annotation>
524
        <xs:simpleContent>
525
            <xs:extension base="xs:string">
526
                <xs:attribute name="unit" type="xs:string"/>
527
                <xs:attribute name="min" type="xs:string"/>
528
                <xs:attribute name="max" type="xs:string"/>
529
            </xs:extension>
530
        </xs:simpleContent>
531
    </xs:complexType>
532

    
533
    <xs:complexType name="TwoDimensionsType">
534
        <xs:annotation>
535
            <xs:documentation>Defines a type for two dimensional measures (whenever depth is not taken into account)</xs:documentation>
536
        </xs:annotation>
537
        <xs:sequence>
538
            <xs:element name="width" type="xs:string"/>
539
            <xs:element name="height" type="xs:string"/>
540
        </xs:sequence>
541
        <xs:attribute name="unit" type="xs:string"/>
542
    </xs:complexType>
543

    
544
    <xs:complexType name="ThreeDimensionsType">
545
        <xs:annotation>
546
            <xs:documentation>3D measures: extends 2D dimensions type by adding the depth measure</xs:documentation>
547
        </xs:annotation>
548
        <xs:complexContent>
549
            <xs:extension base="eagle:TwoDimensionsType">
550
                <xs:sequence>
551
                    <xs:element name="depth" type="xs:string"/>
552
                </xs:sequence>
553
            </xs:extension>
554
        </xs:complexContent>
555
    </xs:complexType>
556

    
557
    <xs:complexType name="DateType">
558
        <xs:annotation>
559
            <xs:documentation>Defines the type used for dates.
560
                It should extend eagle:CustomDateType instead, 
561
                but content is quite fuzzy as for dates so I used xs:string</xs:documentation>
562
        </xs:annotation>
563
        <xs:simpleContent>
564
            <xs:extension base="xs:string">
565
                <xs:attribute use="optional" name="notBefore" type="xs:string">
566
                    <xs:annotation>
567
                        <xs:documentation>Defines lower-end for date ranges</xs:documentation>
568
                    </xs:annotation>
569
                </xs:attribute>
570
                <xs:attribute use="optional" name="notAfter" type="xs:string">
571
                    <xs:annotation>
572
                        <xs:documentation>Defines upper-end for date ranges</xs:documentation>
573
                    </xs:annotation>
574
                </xs:attribute>
575
                <xs:attribute name="datingMethod" type="xs:anyURI">
576
                    <xs:annotation>
577
                        <xs:documentation>URI of dating method (e.g. to wikipedia)</xs:documentation>
578
                    </xs:annotation>
579
                </xs:attribute>
580
                <xs:attribute name="evidence" type="xs:string"/>
581
                <xs:attribute name="period" type="xs:string">
582
                    <xs:annotation>
583
                        <xs:documentation>URI to Eagle wiki dating period</xs:documentation>
584
                    </xs:annotation>
585
                </xs:attribute>
586
            </xs:extension>
587
        </xs:simpleContent>
588
    </xs:complexType>
589

    
590
    <xs:simpleType name="CustomDateType">
591
        <xs:restriction base="xs:string">
592
            <xs:pattern value="\d{4}-\d{2}-\d{2}"/>
593
            <xs:pattern value="\d{4}"/>
594
        </xs:restriction>
595
    </xs:simpleType>
596

    
597

    
598
    <!-- ###############-->
599
    <!-- # REL. TYPES  #-->
600
    <!-- ###############-->
601
    <xs:complexType name="GenericRelType" abstract="true">
602
        <xs:annotation>
603
            <xs:documentation>Defines the base class for relationships in eagle</xs:documentation>
604
        </xs:annotation>
605
        <xs:sequence>
606
            <xs:element name="dnetResourceIdentifier" type="xs:string"/>
607
            <xs:element ref="eagle:recordSourceInfo"/>
608
        </xs:sequence>
609
    </xs:complexType>
610

    
611
    <xs:complexType name="HasTrismegistosType">
612
        <xs:annotation>
613
            <xs:documentation>Defines the type for relationships to a trismegistos number</xs:documentation>
614
        </xs:annotation>
615
        <xs:sequence>
616
            <xs:element name="tmId" type="xs:string" minOccurs="1" maxOccurs="1"/>
617
            <xs:element name="alternateId" minOccurs="0" maxOccurs="unbounded">
618
                <xs:annotation>
619
                    <xs:documentation>The value of this element is a dnet resource identifier. The provider acronym and local identifier are in the two attributes.</xs:documentation>
620
                </xs:annotation>
621
                <xs:complexType>
622
                    <xs:simpleContent>
623
                        <xs:extension base="xs:string">
624
                            <xs:attribute name="providerAcronym" type="xs:string"/>
625
                            <xs:attribute name="localId" type="xs:string"/>
626
                        </xs:extension>
627
                    </xs:simpleContent>
628
                </xs:complexType>
629
            </xs:element>
630
        </xs:sequence>
631
    </xs:complexType>
632

    
633
    <xs:complexType name="HasTranslationType">
634
        <xs:annotation>
635
            <xs:documentation>Defines the type for relationships to a translation entity</xs:documentation>
636
        </xs:annotation>
637
        <xs:complexContent>
638
            <xs:extension base="eagle:GenericRelType">
639
                <xs:sequence>
640
                    <xs:element name="text" type="eagle:StringWithLanguageType"/>
641
                    <xs:element name="mediawikiUrl" type="xs:anyURI"/>
642
                </xs:sequence>
643
            </xs:extension>
644
        </xs:complexContent>
645
    </xs:complexType>
646

    
647
    <xs:complexType name="HasTranscriptionType">
648
        <xs:annotation>
649
            <xs:documentation>Defines the type for relationships to a transcription entity</xs:documentation>
650
        </xs:annotation>
651
        <xs:complexContent>
652
            <xs:extension base="eagle:GenericRelType">
653
                <xs:sequence>
654
                    <xs:element name="text" type="eagle:StringWithLanguageType"/>
655
                    <xs:element name="textHtml" type="eagle:HtmlWithLanguageType"/>
656
                    <xs:element name="bibliography" type="eagle:StringWithUriType" minOccurs="0"
657
                        maxOccurs="unbounded"/>
658
                </xs:sequence>
659
            </xs:extension>
660
        </xs:complexContent>
661
    </xs:complexType>
662

    
663
    <xs:complexType name="HasArtifactType">
664
        <xs:annotation>
665
            <xs:documentation>Defines the type for relationships to an artifact entity</xs:documentation>
666
        </xs:annotation>
667
        <xs:complexContent>
668
            <xs:extension base="eagle:GenericRelType">
669
                <xs:sequence>
670
                    <xs:element name="hasTmId" type="eagle:HasTrismegistosType"/>
671
                    <xs:element name="artifactTitle" type="eagle:StringWithLanguageType"
672
                        minOccurs="0" maxOccurs="unbounded"/>
673
                    <xs:element name="originDating" minOccurs="0" maxOccurs="1"
674
                        type="eagle:DateType"/>
675
                    <xs:element ref="eagle:findingSpot" minOccurs="0" maxOccurs="1"/>
676
                    <xs:element name="inscriptionType" minOccurs="0" maxOccurs="unbounded"
677
                        type="eagle:StringWithUriType"/>
678
                    <xs:element name="objectType" minOccurs="1" maxOccurs="unbounded"
679
                        type="eagle:StringWithUriType"/>
680
                    <xs:element name="material" minOccurs="1" maxOccurs="unbounded"
681
                        type="eagle:StringWithUriType"/>
682
                    <xs:element ref="eagle:conservationPlace" minOccurs="0" maxOccurs="1"/>
683
                </xs:sequence>
684
            </xs:extension>
685
        </xs:complexContent>
686
    </xs:complexType>
687

    
688
    <xs:complexType name="HasVisualRepresentationType">
689
        <xs:annotation>
690
            <xs:documentation>Defines the type for relationships to a visual representation entity</xs:documentation>
691
        </xs:annotation>
692
        <xs:complexContent>
693
            <xs:extension base="eagle:GenericRelType">
694
                <xs:sequence>
695
					<xs:element name="url" minOccurs="1" maxOccurs="1" type="xs:anyURI"/>
696
					<xs:element name="thumbnail" minOccurs="0" maxOccurs="1" type="xs:anyURI"/>
697
                </xs:sequence>
698
            </xs:extension>
699
        </xs:complexContent>
700
    </xs:complexType>
701

    
702
</xs:schema>
    (1-1/1)