Project

General

Profile

1
<?xml version="1.0" encoding="UTF-8"?>
2
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
3
	xmlns="http://namespace.openaire.eu/oaf" targetNamespace="http://namespace.openaire.eu/oaf"
4
    xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" vc:minVersion="1.1">
5

    
6
	<xs:annotation>
7
		<xs:documentation>This schema defines common types that can be re-used.</xs:documentation>
8
	</xs:annotation>
9

    
10
	<xs:simpleType name="emptyType">
11
		<xs:restriction base="xs:string">
12
			<xs:length value="0"/>
13
		</xs:restriction>
14
	</xs:simpleType>
15

    
16
	<xs:simpleType name="boolOrEmptyType">
17
		<xs:union memberTypes="emptyType xs:boolean"/>
18
	</xs:simpleType>
19

    
20
	<xs:simpleType name="stringOrEmptyType">
21
		<xs:union memberTypes="emptyType xs:string"/>
22
	</xs:simpleType>
23

    
24
	<xs:complexType mixed="true" name="inferenceExtendedStringType">
25
		<xs:annotation>
26
			<xs:documentation>XML elements of this type are simple strings, but in cases where their
27
				values have been inferred by Openaire inference algorithms, the elements features
28
				some attributes describing the inference algorithm. This way it is easy to
29
				understand if a value comes from the originally imported data or if it has been
30
				added later for enrichment. </xs:documentation>
31
		</xs:annotation>
32
		<xs:simpleContent>
33
			<xs:extension base="xs:string">
34
				<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
35
			</xs:extension>
36
		</xs:simpleContent>
37
	</xs:complexType>
38

    
39
	<xs:complexType mixed="true" name="inferenceExtendedBooleanType">
40
		<xs:annotation>
41
			<xs:documentation>XML elements of this type are simple booleans, but in cases where
42
				their values have been inferred by Openaire inference algorithms, the elements
43
				features some attributes describing the inference algorithm. This way it is easy to
44
				understand if a value comes from the originally imported data or if it has been
45
				added later for enrichment. </xs:documentation>
46
		</xs:annotation>
47
		<xs:simpleContent>
48
			<xs:extension base="xs:boolean">
49
				<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
50
			</xs:extension>
51
		</xs:simpleContent>
52
	</xs:complexType>
53

    
54
	<xs:attributeGroup name="optionalInferenceAttrGroup">
55
		<xs:attribute name="inferred" use="optional" type="xs:boolean">
56
			<xs:annotation>
57
				<xs:documentation>True if this information has been inferred by the automatic
58
					inference algorithms run by OpenAIRE. </xs:documentation>
59
			</xs:annotation>
60
		</xs:attribute>
61
		<xs:attribute name="provenance" use="optional" type="xs:string">
62
			<xs:annotation>
63
				<xs:documentation>Provenance of the value</xs:documentation>
64
			</xs:annotation>
65
		</xs:attribute>
66
	</xs:attributeGroup>
67

    
68
	<!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
69

    
70
	<xs:complexType mixed="true" name="controlledElementType">
71
		<xs:simpleContent>
72
			<xs:extension base="xs:string">
73
				<xs:attribute name="code" use="required" type="xs:string"/>
74
				<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
75
			</xs:extension>
76
		</xs:simpleContent>
77
	</xs:complexType>
78

    
79
	<xs:complexType name="namedElementType">
80
		<xs:attribute name="name" use="required"/>
81
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
82
	</xs:complexType>
83

    
84
	<xs:complexType name="labeledIdElementType">
85
		<xs:attribute name="id" use="required"/>
86
		<xs:attribute name="label" use="required"/>
87
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
88
	</xs:complexType>
89

    
90
	<xs:complexType name="typedElementType">
91
		<xs:simpleContent>
92
			<xs:extension base="xs:string">
93
				<xs:attribute name="type" use="required"/>
94
				<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
95
			</xs:extension>
96
		</xs:simpleContent>
97
	</xs:complexType>
98

    
99
	<xs:complexType name="creatorType">
100
		<xs:simpleContent>
101
			<xs:extension base="xs:string">
102
				<xs:attribute name="rank" use="required"/>
103
			</xs:extension>
104
		</xs:simpleContent>
105
	</xs:complexType>
106
	
107
	
108
	<xs:complexType name="relsType">
109
		<xs:annotation>
110
			<xs:documentation>Relationships to other entities.</xs:documentation>
111
		</xs:annotation>
112
		<xs:choice maxOccurs="unbounded" minOccurs="0">
113
			<xs:element name="relationship" type="relType" minOccurs="0"/>
114
		</xs:choice>
115
	</xs:complexType>
116

    
117
	<xs:complexType name="relType">
118
		<xs:sequence maxOccurs="1">
119
			<xs:element name="target">
120
				<xs:complexType>
121
					<xs:choice>
122
						<xs:group ref="relDataSourceGroup"/>
123
						<xs:group ref="relResultGroup"/>
124
						<xs:group ref="relProjectGroup"/>
125
						<xs:group ref="relOrganizationGroup"/>
126
					</xs:choice>
127
					<xs:attribute name="type" use="required" type="xs:string">
128
						<xs:annotation>
129
							<xs:documentation>The type of the related entity. <p>Allowed values are:
130
								project, organization, datasource, result.</p>
131
							</xs:documentation>
132
						</xs:annotation>
133
					</xs:attribute>
134
					<xs:attribute name="id" use="required" type="xs:string"/>
135
				</xs:complexType>
136
			</xs:element>
137
		</xs:sequence>
138
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
139
		<xs:attribute name="semantics" type="xs:string" use="required">
140
			<xs:annotation>
141
				<xs:documentation>
142
					<p>Allowed semantics for relationships are: <table>
143
						<tr><th>Entity types</th><th>Name of relationships</th><th>Inverse
144
							of</th><th>Simmetric</th></tr>
145
						<tr><td>Project --
146
							Person</td><td>hasContact</td><td>isContact</td><td>no</td></tr>
147
						<tr><td>Project --
148
							Result</td><td>produces</td><td>isProducedBy</td><td>no</td></tr>
149
						<tr><td>Project --
150
							Organization</td><td>hasParticipant</td><td>isParticipant</td><td>no</td></tr>
151
						<tr><td>Person --
152
							Project</td><td>isContact</td><td>hasContact</td><td>no</td></tr>
153
						<tr><td>Person --
154
							Result</td><td>isAuthorOf</td><td>hasAuthor</td><td>no</td></tr>
155
						<tr><td>Person --
156
							Person</td><td>isCoauthorOf</td><td>--</td><td>yes</td></tr>
157
						<tr><td>Result --
158
							Person</td><td>hasAuthor</td><td>isAuthorOf</td><td>no</td></tr>
159
						<tr><td>Result --
160
							Project</td><td>isProducedBy</td><td>produces</td><td>no</td></tr>
161
						<tr><td>Result --
162
							Result</td><td>isRelatedTo</td><td>--</td><td>yes</td></tr>
163
						<tr><td>Result --
164
							Result</td><td>hasAmongTopNSimilarDocuments</td><td>isAmongTopNSimilarDocuments</td><td>no</td></tr>
165
						<tr><td>Result --
166
							Result</td><td>isAmongTopNSimilarDocuments</td><td>hasAmongTopNSimilarDocuments</td><td>no</td></tr>
167
						<tr><td>Organization --
168
							Datasource</td><td>isProvidedBy</td><td>provides</td><td>no</td></tr>
169
						<tr><td>Organization --
170
							Project</td><td>isParticpant</td><td>hasParticipant</td><td>no</td></tr>
171
						<tr><td>Datasource --
172
							Organization</td><td>provides</td><td>isProvidedBy</td><td>no</td></tr>
173
					</table></p>
174
				</xs:documentation>
175
			</xs:annotation>
176
		</xs:attribute>
177
		
178
	</xs:complexType>
179

    
180
	<xs:group name="relDataSourceGroup">
181
		<xs:sequence>
182
			<xs:choice minOccurs="0" maxOccurs="unbounded">
183
				<xs:element name="officialname" type="xs:string"/>
184
				<xs:element name="datasourcetype" type="controlledElementType"/>
185
			</xs:choice>
186
		</xs:sequence>
187
	</xs:group>
188

    
189
	<xs:group name="relResultGroup">
190
		<xs:sequence>
191
			<xs:choice minOccurs="0" maxOccurs="unbounded">
192
				<xs:element name="resulttitle" type="xs:string"/>
193
				<xs:element name="dateofacceptance" type="xs:string"/>
194
				<xs:element name="publisher" type="xs:string"/>
195
				<xs:element name="resulttype" type="xs:string">
196
					<xs:annotation>
197
						<xs:documentation> Tells if the related record is about a publication or a
198
							dataset. </xs:documentation>
199
					</xs:annotation>
200
				</xs:element>
201
				<!-- the following fields are available only for similarity relations -->
202
				<xs:element name="similarity" type="xs:double">
203
					<xs:annotation>
204
						<xs:documentation>The similarity degree expressed in the range (0,1]. This
205
							field is avaiable only when the to/@class is one of
206
							{hasAmongTopNSimilarDocuments,
207
							isAmongTopNSimilarDocuments}</xs:documentation>
208
					</xs:annotation>
209
				</xs:element>
210
			</xs:choice>
211
		</xs:sequence>
212
	</xs:group>
213

    
214
	<xs:group name="relProjectGroup">
215
		<xs:sequence>
216
			<xs:choice minOccurs="0" maxOccurs="unbounded">
217
				<xs:element name="code" type="xs:string"/>
218
				<xs:element name="acronym" type="xs:string"/>
219
				<xs:element name="projecttitle" type="xs:string"/>
220
				<xs:element name="contracttype" type="controlledElementType"/>
221
				<xs:element name="funding" type="fundingFlatType"/>
222
			</xs:choice>
223
		</xs:sequence>
224
	</xs:group>
225

    
226
	<xs:group name="relOrganizationGroup">
227
		<xs:sequence>
228
			<xs:choice minOccurs="0" maxOccurs="unbounded">
229
				<xs:element name="legalname" type="xs:string"/>
230
				<xs:element name="legalshortname" type="xs:string"/>
231
				<xs:element name="country" type="controlledElementType"/>
232
				<xs:element name="websiteurl" type="xs:string"/>
233
			</xs:choice>
234
		</xs:sequence>
235
	</xs:group>
236

    
237
	<xs:complexType name="fundingFlatType">
238
		<xs:sequence>
239
			<xs:element name="funder" type="funderFlatType" minOccurs="1" maxOccurs="1"/>
240
			<xs:element name="funding_level_0" type="namedFundingLevel" minOccurs="0"
241
				maxOccurs="unbounded"/>
242
			<xs:element name="funding_level_1" type="namedFundingLevel" minOccurs="0"
243
				maxOccurs="unbounded"/>
244
			<xs:element name="funding_level_2" type="namedFundingLevel" minOccurs="0"
245
				maxOccurs="unbounded"/>
246
		</xs:sequence>
247
	</xs:complexType>
248

    
249
	<xs:complexType name="funderFlatType">
250
		<xs:simpleContent>
251
			<xs:extension base="xs:string">
252
				<xs:attribute name="id" use="required" type="xs:string"/>
253
				<xs:attribute name="shortname" use="required" type="xs:string"/>
254
				<xs:attribute name="name" use="required" type="xs:string"/>
255
				<xs:attribute name="jurisdiction" use="optional" type="xs:string"/>
256
			</xs:extension>
257
		</xs:simpleContent>
258
	</xs:complexType>
259

    
260
	<xs:complexType name="namedFundingLevel">
261
		<xs:simpleContent>
262
			<xs:extension base="xs:string">
263
				<xs:attribute name="name" use="required" type="xs:string"/>
264
			</xs:extension>
265
		</xs:simpleContent>
266
	</xs:complexType>
267

    
268
	<xs:complexType name="externalreferenceType">
269
		<xs:sequence>
270
			<xs:element name="sitename" type="xs:string" minOccurs="0" maxOccurs="1"/>
271
			<xs:element name="url" type="xs:string" minOccurs="0" maxOccurs="1"/>
272
			<xs:element name="refidentifier" type="typedElementType" minOccurs="0" maxOccurs="1">
273
				<xs:annotation>
274
					<xs:documentation>Identifier of the referred entity at sitename. The type attribute specifies the type of identifier and can assume the values defined in http://api.openaire.eu/vocabularies/dnet:externalReference_typologies</xs:documentation>
275
				</xs:annotation>
276
			</xs:element>
277
		</xs:sequence>
278
		<xs:attributeGroup ref="optionalInferenceAttrGroup"/>
279
	</xs:complexType>
280
	
281
	<xs:complexType name="communityType">
282
		<xs:complexContent>
283
			<xs:extension base="labeledIdElementType">
284
				<xs:sequence maxOccurs="unbounded">
285
					<xs:element name="category" type="categoryType"/>
286
				</xs:sequence>
287
			</xs:extension>
288
		</xs:complexContent>
289
	</xs:complexType>
290
	
291
	<xs:complexType name="categoryType">
292
		<xs:complexContent>
293
			<xs:extension base="labeledIdElementType">
294
				<xs:sequence minOccurs="0" maxOccurs="unbounded">
295
					<xs:element name="concept" type="conceptType"/>
296
				</xs:sequence>
297
			</xs:extension>
298
		</xs:complexContent>
299
	</xs:complexType>
300
	
301
	<xs:complexType name="conceptType">
302
		<xs:complexContent>
303
			<xs:extension base="labeledIdElementType">
304
				<xs:sequence maxOccurs="unbounded" minOccurs="0">
305
					<xs:element name="concept" type="conceptType"/>
306
				</xs:sequence>
307
			</xs:extension>
308
		</xs:complexContent>
309
	</xs:complexType>
310
	
311
	<xs:complexType name="instancesType">
312
		<xs:sequence>
313
			<xs:element name="instance" type="instanceType" minOccurs="1" maxOccurs="unbounded">
314
				<xs:annotation>
315
					<xs:documentation>Actual digital representation of the publication or dataset.
316
					</xs:documentation>
317
				</xs:annotation>
318
			</xs:element>
319
		</xs:sequence>
320
	</xs:complexType>
321
	
322
	<xs:complexType name="instanceType">
323
		<xs:choice maxOccurs="unbounded">
324
			<xs:element name="accessrights" type="controlledElementType">
325
				<xs:annotation>
326
					<xs:documentation> License to access this actual manifestation of the
327
						publication or dataset. <p>For allowed values check:
328
							http://api.openaire.eu/vocabularies/dnet:access_modes </p>
329
						<p>When several instances are available for the same publication, the opener
330
							access rights is selected as the bestaccessrights field in element
331
							result. </p>
332
					</xs:documentation>
333
				</xs:annotation>
334
			</xs:element>
335
			<xs:element name="instancetype" type="xs:string">
336
				<xs:annotation>
337
					<xs:documentation> Type of the instance, for example: article, thesis, etc.
338
						<p>For allowed values check: http://api.openaire.eu/vocabularies/dnet:publication_resource
339
						</p>
340
					</xs:documentation>
341
				</xs:annotation>
342
			</xs:element>
343
			<xs:element name="hostedby" type="namedElementType" maxOccurs="1">
344
				<xs:annotation>
345
					<xs:documentation>Datasource hosting this file.</xs:documentation>
346
				</xs:annotation>
347
			</xs:element>
348
			<xs:element name="webresource" type="webresourceType" minOccurs="1"
349
				maxOccurs="unbounded"/>
350
		</xs:choice>
351
	</xs:complexType>
352
	
353
	<xs:complexType name="webresourceType">
354
		<xs:sequence>
355
			<xs:element name="url" type="xs:string" minOccurs="1" maxOccurs="1"/>
356
		</xs:sequence>
357
	</xs:complexType>
358

    
359

    
360
</xs:schema>
(1-1/5)