Project

General

Profile

1 26600 sandro.lab
<?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 28355 andrea.man
    <!-- ###############-->
7
    <!-- # MAIN ENTITY #-->
8
    <!-- ###############-->
9 26600 sandro.lab
    <xs:element name="eagleObject" type="eagle:eagleEntity">
10
        <xs:annotation>
11
            <xs:documentation>
12 28355 andrea.man
                The EAGLE wrapper entity. It contains the following main entities
13
                (sub-entities): artifact/inscription, visual representation, documental manifestation, trismegistos card.
14 26600 sandro.lab
                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 28394 andrea.man
20 28355 andrea.man
    <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 28394 andrea.man
            <xs:element ref="eagle:recordSourceInfo"/>
32 28355 andrea.man
            <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 28394 andrea.man
                        <xs:element name="metadataEditor" type="xs:string" minOccurs="0"
40
                            maxOccurs="1"/>
41 28355 andrea.man
                    </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 28394 andrea.man
                <xs:element ref="eagle:trismegistosCard"/>
69 28355 andrea.man
                <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 26600 sandro.lab
76
77 28355 andrea.man
    <!-- ##################-->
78
    <!-- # EAGLE ENTITIES #-->
79
    <!-- ##################-->
80 26600 sandro.lab
    <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 28394 andrea.man
                <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 31854 andrea.man
                <xs:element name="dimensions" minOccurs="0" maxOccurs="unbounded"
99 28394 andrea.man
                    type="eagle:ThreeDimensionsType"/>
100 29630 andrea.man
                <xs:element name="decoration" minOccurs="0" maxOccurs="unbounded"
101 28394 andrea.man
                    type="eagle:StringWithUriType"/>
102
                <xs:element name="stateOfPreservation" minOccurs="0" maxOccurs="1"
103
                    type="eagle:StringWithUriType"/>
104 26600 sandro.lab
                <xs:element name="originDating" minOccurs="0" maxOccurs="1" type="eagle:DateType"/>
105 28310 andrea.man
                <xs:element name="yearOfFinding" minOccurs="0" maxOccurs="1" type="xs:string"/>
106 26600 sandro.lab
                <xs:element ref="eagle:findingSpot" minOccurs="0" maxOccurs="1"/>
107
                <xs:element ref="eagle:conservationPlace" minOccurs="0" maxOccurs="1"/>
108 28394 andrea.man
                <xs:element name="hasVisualRepresentation" type="eagle:HasVisualRepresentationType"
109
                    minOccurs="0" maxOccurs="unbounded"/>
110 28310 andrea.man
                <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 26600 sandro.lab
            </xs:sequence>
119
        </xs:complexType>
120
    </xs:element>
121
122
    <xs:element name="inscription">
123
        <xs:complexType>
124
            <xs:sequence>
125 28394 andrea.man
                <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 26600 sandro.lab
                    <xs:annotation>
130
                        <xs:documentation>Type of the inscription</xs:documentation>
131
                    </xs:annotation>
132
                </xs:element>
133 28394 andrea.man
                <xs:element name="engravingTechnique" minOccurs="0" maxOccurs="unbounded"
134
                    type="eagle:StringWithUriType">
135 26600 sandro.lab
                    <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 31854 andrea.man
                <xs:element name="fieldSize" minOccurs="0" maxOccurs="unbounded"
145 28394 andrea.man
                    type="eagle:TwoDimensionsType">
146 26600 sandro.lab
                    <xs:annotation>
147
                        <xs:documentation>Dimensions of the epigraphic field</xs:documentation>
148
                    </xs:annotation>
149
                </xs:element>
150 28394 andrea.man
                <xs:element maxOccurs="1" minOccurs="0" name="paleographicCharacteristics"
151
                    type="xs:string">
152 26600 sandro.lab
                    <xs:annotation>
153
                        <xs:documentation>Paleographic Characteristics of the inscription</xs:documentation>
154
                    </xs:annotation>
155
                </xs:element>
156 31854 andrea.man
                <xs:element maxOccurs="unbounded" minOccurs="0" name="letterSize" type="eagle:RangeType">
157 26600 sandro.lab
                    <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 28394 andrea.man
                <xs:element name="hasTranslation" type="eagle:HasTranslationType" minOccurs="0"
224
                    maxOccurs="unbounded">
225 26600 sandro.lab
                    <xs:annotation>
226
                        <xs:documentation>Translation resource identificator</xs:documentation>
227
                    </xs:annotation>
228
                </xs:element>
229 28394 andrea.man
                <xs:element name="hasTranscription" minOccurs="0" maxOccurs="unbounded"
230
                    type="eagle:HasTranscriptionType">
231 26600 sandro.lab
                    <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 28355 andrea.man
                    <xs:annotation>
247
                        <xs:documentation>
248
                            Possible values are: {transcription | translation}
249
                        </xs:documentation>
250
                    </xs:annotation>
251 26600 sandro.lab
                    <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 28394 andrea.man
                <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 26600 sandro.lab
                <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 28310 andrea.man
                            <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 26600 sandro.lab
                        </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 28394 andrea.man
                <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 26600 sandro.lab
                <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 28310 andrea.man
                <xs:element name="text" type="eagle:StringWithLanguageType"/>
353 28355 andrea.man
                <xs:element name="mediawikiUrl" type="xs:anyURI" minOccurs="0" maxOccurs="1"/>
354 26600 sandro.lab
                <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 28394 andrea.man
                <xs:element name="hasTranscription" type="eagle:HasTranscriptionType" minOccurs="0"
363
                    maxOccurs="1"/>
364 26600 sandro.lab
            </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 28355 andrea.man
                <xs:element name="text" type="eagle:StringWithLanguageType"/>
375
                <xs:element name="textHtml" type="eagle:HtmlWithLanguageType"/>
376 31854 andrea.man
                <xs:element name="criticalApparatus" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
377
                <xs:element name="bibliography" minOccurs="0" maxOccurs="unbounded" type="eagle:StringWithUriType"/>
378 26600 sandro.lab
                <xs:element name="commentary" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
379 28355 andrea.man
                <xs:element name="hasTranslation" type="eagle:HasTranslationType" minOccurs="0" maxOccurs="unbounded"/>
380 26600 sandro.lab
            </xs:sequence>
381
        </xs:complexType>
382
    </xs:element>
383 28394 andrea.man
384 28355 andrea.man
    <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 26600 sandro.lab
                    <xs:annotation>
392 28355 andrea.man
                        <xs:documentation>Plain Trismegistos number</xs:documentation>
393 26600 sandro.lab
                    </xs:annotation>
394
                </xs:element>
395 31854 andrea.man
                <xs:element name="identifiesInscription" minOccurs="1" maxOccurs="unbounded" type="xs:string">
396 28355 andrea.man
                    <xs:annotation>
397
                        <xs:documentation>Relation to an inscription</xs:documentation>
398
                    </xs:annotation>
399
                </xs:element>
400 31854 andrea.man
                <xs:element name="otherRelevantPropertiesFromTrismegistos" minOccurs="0" maxOccurs="unbounded" type="eagle:TypedStringType">
401 28355 andrea.man
                    <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 28394 andrea.man
409 28355 andrea.man
    <!-- #################-->
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 28394 andrea.man
430 28355 andrea.man
    <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 28394 andrea.man
452 28355 andrea.man
    <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 28394 andrea.man
471
472 28355 andrea.man
    <!-- #########################-->
473
    <!-- # CUSTOM TYPES ELEMENTS #-->
474
    <!-- #########################-->
475
    <xs:complexType name="StringWithUriType">
476
        <xs:annotation>
477
            <xs:documentation>
478 28477 andrea.man
                Defines the type for an (untyped) string referencing an external URI (e.g. a vocabulary term in Tematres or any external web resource)
479 28355 andrea.man
            </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 28394 andrea.man
488 28355 andrea.man
    <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 28394 andrea.man
499 28355 andrea.man
    <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 28394 andrea.man
510 28355 andrea.man
    <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 26600 sandro.lab
        </xs:sequence>
517 28394 andrea.man
        <xs:attribute name="lang" type="xs:string"/>
518 26600 sandro.lab
    </xs:complexType>
519 28394 andrea.man
520 28355 andrea.man
    <xs:complexType name="RangeType">
521
        <xs:annotation>
522
            <xs:documentation>Defines a type for a min/max range</xs:documentation>
523
        </xs:annotation>
524 31854 andrea.man
        <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 28355 andrea.man
    </xs:complexType>
532 28394 andrea.man
533 28355 andrea.man
    <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 28394 andrea.man
557 26600 sandro.lab
    <xs:complexType name="DateType">
558 28355 andrea.man
        <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 26600 sandro.lab
        <xs:simpleContent>
564 28394 andrea.man
            <xs:extension base="xs:string">
565 28310 andrea.man
                <xs:attribute use="optional" name="notBefore" type="xs:string">
566 26600 sandro.lab
                    <xs:annotation>
567
                        <xs:documentation>Defines lower-end for date ranges</xs:documentation>
568
                    </xs:annotation>
569
                </xs:attribute>
570 28310 andrea.man
                <xs:attribute use="optional" name="notAfter" type="xs:string">
571 26600 sandro.lab
                    <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 28394 andrea.man
590 26600 sandro.lab
    <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 28355 andrea.man
598
    <!-- ###############-->
599
    <!-- # REL. TYPES  #-->
600
    <!-- ###############-->
601
    <xs:complexType name="GenericRelType" abstract="true">
602 26600 sandro.lab
        <xs:annotation>
603 28355 andrea.man
            <xs:documentation>Defines the base class for relationships in eagle</xs:documentation>
604 26600 sandro.lab
        </xs:annotation>
605
        <xs:sequence>
606 28394 andrea.man
            <xs:element name="dnetResourceIdentifier" type="xs:string"/>
607 28355 andrea.man
            <xs:element ref="eagle:recordSourceInfo"/>
608 26600 sandro.lab
        </xs:sequence>
609
    </xs:complexType>
610 28394 andrea.man
611 28355 andrea.man
    <xs:complexType name="HasTrismegistosType">
612 28310 andrea.man
        <xs:annotation>
613 28355 andrea.man
            <xs:documentation>Defines the type for relationships to a trismegistos number</xs:documentation>
614 28310 andrea.man
        </xs:annotation>
615
        <xs:sequence>
616 28355 andrea.man
            <xs:element name="tmId" type="xs:string" minOccurs="1" maxOccurs="1"/>
617 28394 andrea.man
            <xs:element name="alternateId" minOccurs="0" maxOccurs="unbounded">
618 28355 andrea.man
                <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 28394 andrea.man
                            <xs:attribute name="providerAcronym" type="xs:string"/>
625
                            <xs:attribute name="localId" type="xs:string"/>
626 28355 andrea.man
                        </xs:extension>
627
                    </xs:simpleContent>
628
                </xs:complexType>
629
            </xs:element>
630 28310 andrea.man
        </xs:sequence>
631
    </xs:complexType>
632 28394 andrea.man
633 28355 andrea.man
    <xs:complexType name="HasTranslationType">
634 26600 sandro.lab
        <xs:annotation>
635 28355 andrea.man
            <xs:documentation>Defines the type for relationships to a translation entity</xs:documentation>
636 26600 sandro.lab
        </xs:annotation>
637
        <xs:complexContent>
638 28355 andrea.man
            <xs:extension base="eagle:GenericRelType">
639 26600 sandro.lab
                <xs:sequence>
640 28394 andrea.man
                    <xs:element name="text" type="eagle:StringWithLanguageType"/>
641
                    <xs:element name="mediawikiUrl" type="xs:anyURI"/>
642 26600 sandro.lab
                </xs:sequence>
643
            </xs:extension>
644
        </xs:complexContent>
645
    </xs:complexType>
646 28394 andrea.man
647 28355 andrea.man
    <xs:complexType name="HasTranscriptionType">
648 26600 sandro.lab
        <xs:annotation>
649 28355 andrea.man
            <xs:documentation>Defines the type for relationships to a transcription entity</xs:documentation>
650 26600 sandro.lab
        </xs:annotation>
651 28355 andrea.man
        <xs:complexContent>
652
            <xs:extension base="eagle:GenericRelType">
653
                <xs:sequence>
654 28394 andrea.man
                    <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 28355 andrea.man
                </xs:sequence>
659 26600 sandro.lab
            </xs:extension>
660 28355 andrea.man
        </xs:complexContent>
661 26600 sandro.lab
    </xs:complexType>
662 28394 andrea.man
663 28355 andrea.man
    <xs:complexType name="HasArtifactType">
664 28310 andrea.man
        <xs:annotation>
665 28355 andrea.man
            <xs:documentation>Defines the type for relationships to an artifact entity</xs:documentation>
666 28310 andrea.man
        </xs:annotation>
667 28355 andrea.man
        <xs:complexContent>
668
            <xs:extension base="eagle:GenericRelType">
669
                <xs:sequence>
670 28394 andrea.man
                    <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 28355 andrea.man
                    <xs:element ref="eagle:findingSpot" minOccurs="0" maxOccurs="1"/>
676 28394 andrea.man
                    <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 28355 andrea.man
                    <xs:element ref="eagle:conservationPlace" minOccurs="0" maxOccurs="1"/>
683
                </xs:sequence>
684 28310 andrea.man
            </xs:extension>
685 28355 andrea.man
        </xs:complexContent>
686 28310 andrea.man
    </xs:complexType>
687 28394 andrea.man
688 28355 andrea.man
    <xs:complexType name="HasVisualRepresentationType">
689 26600 sandro.lab
        <xs:annotation>
690 28355 andrea.man
            <xs:documentation>Defines the type for relationships to a visual representation entity</xs:documentation>
691 26600 sandro.lab
        </xs:annotation>
692 28355 andrea.man
        <xs:complexContent>
693
            <xs:extension base="eagle:GenericRelType">
694
                <xs:sequence>
695 31674 andrea.man
					<xs:element name="url" minOccurs="1" maxOccurs="1" type="xs:anyURI"/>
696
					<xs:element name="thumbnail" minOccurs="0" maxOccurs="1" type="xs:anyURI"/>
697 28355 andrea.man
                </xs:sequence>
698 26600 sandro.lab
            </xs:extension>
699 28355 andrea.man
        </xs:complexContent>
700 26600 sandro.lab
    </xs:complexType>
701 28394 andrea.man
702 26600 sandro.lab
</xs:schema>