1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
3
|
<xs:element name="RESOURCE_PROFILE">
|
4
|
<xs:complexType>
|
5
|
<xs:sequence>
|
6
|
<xs:element name="HEADER" type="HEADERType"/>
|
7
|
<xs:element name="BODY" type="BODYType"/>
|
8
|
</xs:sequence>
|
9
|
</xs:complexType>
|
10
|
</xs:element>
|
11
|
<xs:complexType name="HEADERType">
|
12
|
<xs:all>
|
13
|
<xs:element name="RESOURCE_IDENTIFIER" type="RESOURCE_IDENTIFIERType"/>
|
14
|
<xs:element name="RESOURCE_TYPE" type="RESOURCE_TYPEType"/>
|
15
|
<xs:element name="RESOURCE_KIND" type="RESOURCE_KINDType"/>
|
16
|
<xs:element name="RESOURCE_URI" type="RESOURCE_URIType"/>
|
17
|
<xs:element name="DATE_OF_CREATION" type="DATE_OF_CREATIONType"/>
|
18
|
<xs:element name="PROTOCOL" type="xs:string"/>
|
19
|
</xs:all>
|
20
|
</xs:complexType>
|
21
|
<xs:complexType name="BODYType">
|
22
|
<xs:sequence>
|
23
|
<xs:element name="CONFIGURATION" type="CONFIGURATION"/>
|
24
|
<xs:element name="STATUS" type="STATUS"/>
|
25
|
<xs:element name="QOS" type="QOS"/>
|
26
|
<xs:element name="SECURITY_PARAMETERS" type="xs:string"/>
|
27
|
<xs:element name="BLACKBOARD" type="BLACKBOARD"/>
|
28
|
</xs:sequence>
|
29
|
</xs:complexType>
|
30
|
<xs:complexType name="BLACKBOARD">
|
31
|
<xs:sequence>
|
32
|
<xs:element name="LAST_REQUEST" type="xs:string" minOccurs="0" maxOccurs="1"/>
|
33
|
<xs:element name="LAST_RESPONSE" type="xs:string" minOccurs="0" maxOccurs="1"/>
|
34
|
<xs:element name="MESSAGE" type="MESSAGE" minOccurs="0" maxOccurs="unbounded"/>
|
35
|
</xs:sequence>
|
36
|
</xs:complexType>
|
37
|
<xs:complexType name="CONFIGURATION">
|
38
|
<xs:all>
|
39
|
<!-- Typology of the datasource: repository, aggregator, etc. -->
|
40
|
<xs:element name="DATASOURCE_TYPE" type="xs:string" minOccurs="0"/>
|
41
|
<!-- Original identifier of the datasource. Ex. <DATASOURCE_ORIGINAL_ID
|
42
|
provenance="OpenDoar">openDoar ID</DATASOURCE_ORIGINAL_ID> It corresponds
|
43
|
to the old schema EXTRA_FIELD with key='OpenAireDataSourceId' -->
|
44
|
<xs:element name="DATASOURCE_ORIGINAL_ID" type="DATASOURCE_ORIGINAL_IDType" minOccurs="0"/>
|
45
|
|
46
|
<!-- True if this datasource is aggregated by an aggregator -->
|
47
|
<xs:element name="DATASOURCE_AGGREGATED" minOccurs="0" type="xs:boolean"/>
|
48
|
|
49
|
<!-- If DATASOURCE_AGGREGATED is true, then DATASOURCE_AGGREGATOR_ID contains
|
50
|
the resource identifier of the profile of the aggregator. -->
|
51
|
<xs:element name="DATASOURCE_AGGREGATOR_ID" type="xs:string" minOccurs="0"/>
|
52
|
<!-- Names of environments with services that are allowed to manage this
|
53
|
datasource. For example, the environment for Slovenia repositories is SLOVENIA,
|
54
|
while the environment for repositories joining the OpenAire project is OpenAire.
|
55
|
This list of environment name supercedes the old schema EXTRA_FIELD element
|
56
|
with key='aggregatorName' -->
|
57
|
<xs:element name="ENVIRONMENTS" type="ENVIRONMENTSType" minOccurs="0" maxOccurs="1"/>
|
58
|
<xs:element name="TYPOLOGY" type="xs:string"/>
|
59
|
<xs:element name="MAX_SIZE_OF_DATASTRUCTURE" type="xs:integer"/>
|
60
|
<xs:element name="AVAILABLE_DISKSPACE" type="xs:string"/>
|
61
|
<xs:element name="MAX_NUMBER_OF_DATASTRUCTURE" type="xs:integer"/>
|
62
|
<xs:element name="OFFICIAL_NAME" type="xs:string"/>
|
63
|
<xs:element name="ENGLISH_NAME" type="xs:string"/>
|
64
|
<xs:element name="ICON_URI" type="xs:string"/>
|
65
|
<xs:element name="COUNTRY" type="xs:string"/>
|
66
|
<xs:element name="LOCATION" type="LOCATION"/>
|
67
|
<xs:element name="REPOSITORY_WEBPAGE" type="xs:string"/>
|
68
|
<xs:element name="REPOSITORY_INSTITUTION" type="xs:string"/>
|
69
|
<xs:element name="ADMIN_INFO" type="xs:string"/>
|
70
|
<xs:element name="INTERFACES" type="INTERFACES"/>
|
71
|
<xs:element name="REGISTERED_BY" type="xs:string" minOccurs="0"/>
|
72
|
<xs:element name="EXTRA_FIELDS" type="EXTRA_FIELDS" minOccurs="0"/>
|
73
|
</xs:all>
|
74
|
</xs:complexType>
|
75
|
|
76
|
<xs:complexType name="DATASOURCE_ORIGINAL_IDType">
|
77
|
<xs:annotation>
|
78
|
<xs:documentation>Type for the datasource original identifier.
|
79
|
The
|
80
|
original id is not the D-Net profile identifier, but an id that
|
81
|
identifies the datasource itself in the outside world.
|
82
|
The provenance
|
83
|
attribute references to the organisation,institution,
|
84
|
etc, where the
|
85
|
id had been taken from.
|
86
|
For example, the profile for a repository
|
87
|
that is in OpenDoar will have
|
88
|
its opendoar id with provenance
|
89
|
'OpenDoar'.
|
90
|
This field should be used instead of the old schema
|
91
|
EXTRA_FIELD with key='OpenAireDataSourceId'</xs:documentation>
|
92
|
</xs:annotation>
|
93
|
<xs:simpleContent>
|
94
|
<xs:extension base="xs:string">
|
95
|
<xs:attribute name="provenance"/>
|
96
|
</xs:extension>
|
97
|
</xs:simpleContent>
|
98
|
</xs:complexType>
|
99
|
<xs:complexType name="ACCESSPROTOCOLDATACOLLType">
|
100
|
<xs:simpleContent>
|
101
|
<xs:extension base="xs:string">
|
102
|
<xs:anyAttribute processContents="lax"/>
|
103
|
</xs:extension>
|
104
|
</xs:simpleContent>
|
105
|
</xs:complexType>
|
106
|
|
107
|
<xs:complexType name="LAST_UPDATEType">
|
108
|
<xs:attribute name="value" type="xs:dateTime" use="required"/>
|
109
|
</xs:complexType>
|
110
|
<xs:complexType name="LOCATION">
|
111
|
<xs:all>
|
112
|
<xs:element name="LONGITUDE" type="xs:double"/>
|
113
|
<xs:element name="LATITUDE" type="xs:double"/>
|
114
|
<xs:element name="TIMEZONE">
|
115
|
<xs:simpleType>
|
116
|
<xs:restriction base="xs:double">
|
117
|
<xs:pattern value="-?[0-9]*(\.[05])?"/>
|
118
|
<xs:minInclusive value="-12.0"/>
|
119
|
<xs:maxInclusive value="12.0"/>
|
120
|
</xs:restriction>
|
121
|
</xs:simpleType>
|
122
|
</xs:element>
|
123
|
</xs:all>
|
124
|
</xs:complexType>
|
125
|
<xs:complexType mixed="true" name="STATUS">
|
126
|
<xs:all>
|
127
|
<xs:element name="HANDLED_DATASTRUCTURE" type="xs:integer" minOccurs="0"/>
|
128
|
<xs:element name="USED_DISKSPACE" type="xs:integer" minOccurs="0"/>
|
129
|
<xs:element name="NUMBER_OF_OBJECTS" type="xs:integer"/>
|
130
|
<xs:element name="LAST_UPDATE" type="LAST_UPDATEType" minOccurs="0"/>
|
131
|
</xs:all>
|
132
|
</xs:complexType>
|
133
|
<xs:simpleType name="ACTION_STATUS">
|
134
|
<xs:restriction base="xs:string">
|
135
|
<xs:enumeration value="DONE"/>
|
136
|
<xs:enumeration value="ONGOING"/>
|
137
|
<xs:enumeration value="FAILED"/>
|
138
|
<xs:enumeration value="WAITING"/>
|
139
|
<xs:enumeration value="ASSIGNED"/>
|
140
|
</xs:restriction>
|
141
|
</xs:simpleType>
|
142
|
|
143
|
<xs:complexType name="INTERFACE">
|
144
|
<xs:sequence>
|
145
|
<xs:element name="ACCESS_PROTOCOL">
|
146
|
<xs:complexType>
|
147
|
<xs:simpleContent>
|
148
|
<xs:extension base="xs:string">
|
149
|
<xs:anyAttribute processContents="lax"/>
|
150
|
</xs:extension>
|
151
|
</xs:simpleContent>
|
152
|
</xs:complexType>
|
153
|
</xs:element>
|
154
|
<xs:element name="BASE_URL" type="xs:string"/>
|
155
|
|
156
|
|
157
|
<xs:element name="INTERFACE_EXTRA_FIELD" minOccurs="0" maxOccurs="unbounded">
|
158
|
<xs:complexType>
|
159
|
<xs:simpleContent>
|
160
|
<xs:extension base="xs:string">
|
161
|
<xs:attribute name="name" use="required" type="xs:string"/>
|
162
|
</xs:extension>
|
163
|
</xs:simpleContent>
|
164
|
</xs:complexType>
|
165
|
</xs:element>
|
166
|
</xs:sequence>
|
167
|
|
168
|
<!-- The attributes id, typology, group have been imported from the Datacoll Type
|
169
|
to keep track of the correspondence: interface <-> datacoll -->
|
170
|
|
171
|
<!-- id of the interface. -->
|
172
|
<xs:attribute name="id" type="xs:string" use="required"/>
|
173
|
|
174
|
<!-- label of the interface. -->
|
175
|
<xs:attribute name="label" type="xs:string" use="required"/>
|
176
|
|
177
|
<!-- brief information/description about the interface -->
|
178
|
<xs:attribute name="typology" type="xs:string"/>
|
179
|
|
180
|
<!--
|
181
|
Indicates if this interface is related with almost one workflow
|
182
|
-->
|
183
|
<xs:attribute name="compliance" type="xs:string" use="required"/>
|
184
|
|
185
|
<!--
|
186
|
Indicates if this interface is related with almost one workflow
|
187
|
-->
|
188
|
|
189
|
<xs:attribute name="active" type="xs:boolean" use="required"/>
|
190
|
|
191
|
<!--
|
192
|
Indicates if this interface is related with almost one workflow
|
193
|
-->
|
194
|
<xs:attribute name="removable" type="xs:boolean" use="required"/>
|
195
|
|
196
|
<!--
|
197
|
Indicates the description of the data provided by the interface (typical values are metadata, file::WoS, file::PDF, file::EuropePMC)
|
198
|
-->
|
199
|
<xs:attribute name="contentDescription" type="xs:string" use="required"/>
|
200
|
</xs:complexType>
|
201
|
<xs:complexType name="ENVIRONMENTSType">
|
202
|
<xs:annotation>
|
203
|
<xs:documentation>The list of environments that can manage this
|
204
|
datasource.
|
205
|
An environment identifies a set of services of one or
|
206
|
more D-Net
|
207
|
installations.
|
208
|
The element ENVIRONMENT supercedes the
|
209
|
EXTRA_FIELD element with
|
210
|
key='aggregatorName'.</xs:documentation>
|
211
|
</xs:annotation>
|
212
|
<xs:sequence>
|
213
|
<xs:element name="ENVIRONMENT" type="xs:string" maxOccurs="unbounded"/>
|
214
|
</xs:sequence>
|
215
|
</xs:complexType>
|
216
|
<xs:complexType name="INTERFACES">
|
217
|
<xs:sequence>
|
218
|
<xs:element name="INTERFACE" type="INTERFACE" minOccurs="0" maxOccurs="unbounded"/>
|
219
|
</xs:sequence>
|
220
|
</xs:complexType>
|
221
|
<xs:complexType name="EXTRA_FIELDS">
|
222
|
<xs:sequence>
|
223
|
<xs:element name="FIELD" type="FieldType" maxOccurs="unbounded"/>
|
224
|
</xs:sequence>
|
225
|
</xs:complexType>
|
226
|
<xs:complexType name="FieldType">
|
227
|
<xs:all>
|
228
|
<xs:element name="key" type="xs:string"/>
|
229
|
<xs:element name="value" type="xs:string"/>
|
230
|
</xs:all>
|
231
|
</xs:complexType>
|
232
|
<xs:complexType name="RESOURCE_TYPEType">
|
233
|
<xs:attribute name="value" use="required">
|
234
|
<xs:simpleType>
|
235
|
<xs:restriction base="xs:string">
|
236
|
<xs:enumeration value="RepositoryServiceResourceType"/>
|
237
|
</xs:restriction>
|
238
|
</xs:simpleType>
|
239
|
</xs:attribute>
|
240
|
</xs:complexType>
|
241
|
<xs:complexType name="RESOURCE_URIType">
|
242
|
<xs:attribute name="value" type="xs:string" use="required"/>
|
243
|
</xs:complexType>
|
244
|
<xs:complexType name="RESOURCE_KINDType">
|
245
|
<xs:attribute name="value" use="required">
|
246
|
<xs:simpleType>
|
247
|
<xs:restriction base="xs:string">
|
248
|
<xs:enumeration value="RepositoryServiceResources"/>
|
249
|
<xs:enumeration value="PendingRepositoryResources"/>
|
250
|
</xs:restriction>
|
251
|
</xs:simpleType>
|
252
|
</xs:attribute>
|
253
|
</xs:complexType>
|
254
|
<xs:complexType name="RESOURCE_IDENTIFIERType">
|
255
|
<xs:attribute name="value" type="xs:string" use="required"/>
|
256
|
</xs:complexType>
|
257
|
<xs:complexType name="DATE_OF_CREATIONType">
|
258
|
<xs:attribute name="value" type="xs:dateTime" use="required"/>
|
259
|
</xs:complexType>
|
260
|
<xs:complexType name="QOS">
|
261
|
<xs:sequence>
|
262
|
<xs:element name="AVAILABILITY" type="xs:string"/>
|
263
|
<xs:element name="CAPACITY" type="xs:string"/>
|
264
|
<xs:element name="RESPONSE_TIME" type="xs:string" minOccurs="0"/>
|
265
|
<xs:element name="THROUGHPUT" type="xs:double"/>
|
266
|
</xs:sequence>
|
267
|
</xs:complexType>
|
268
|
<xs:complexType name="PARAMETERS">
|
269
|
<xs:simpleContent>
|
270
|
<xs:extension base="xs:string">
|
271
|
<xs:attribute name="name" type="xs:string" use="required"/>
|
272
|
</xs:extension>
|
273
|
</xs:simpleContent>
|
274
|
</xs:complexType>
|
275
|
<xs:complexType name="MESSAGE">
|
276
|
<xs:sequence>
|
277
|
<xs:element name="ACTION" type="ACTION"/>
|
278
|
<xs:element name="PARAMETERS" type="PARAMETERS" maxOccurs="unbounded"/>
|
279
|
<xs:element name="ACTION_STATUS" type="ACTION_STATUS"/>
|
280
|
</xs:sequence>
|
281
|
<xs:attribute name="id" type="xs:string" use="required"/>
|
282
|
</xs:complexType>
|
283
|
<xs:simpleType name="ACTION">
|
284
|
<xs:restriction base="xs:string">
|
285
|
<xs:enumeration value="CREATE"/>
|
286
|
<xs:enumeration value="DELETE"/>
|
287
|
<xs:enumeration value="UPDATE"/>
|
288
|
<xs:enumeration value="MANAGE"/>
|
289
|
<xs:enumeration value="RELEASE"/>
|
290
|
<xs:enumeration value="CANCEL"/>
|
291
|
</xs:restriction>
|
292
|
</xs:simpleType>
|
293
|
</xs:schema>
|