Project

General

Profile

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

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

    
9
  <xs:complexType mixed="true" name="inferenceExtendedStringType">
10
    <xs:annotation>
11
      <xs:documentation>XML elements of this type are simple strings, but in cases where their
12
        values have been inferred by Openaire inference algorithms, the elements features some
13
        attributes describing the inference algorithm. This way it is easy to understand if a value
14
        comes from the originally imported data or if it has been added later for enrichment.
15
      </xs:documentation>
16
    </xs:annotation>
17
    <xs:simpleContent>
18
      <xs:extension base="xs:string">
19
        <xs:attributeGroup ref="optionalInferenceAttrGroup"/>
20
      </xs:extension>
21
    </xs:simpleContent>
22
  </xs:complexType>
23

    
24
  <xs:attributeGroup name="optionalInferenceAttrGroup">
25
    <xs:attribute name="inferred" use="optional" type="xs:boolean">
26
      <xs:annotation>
27
        <xs:documentation>True if this information has been inferred by the automatic inference
28
          algorithms run by OpenAIRE.</xs:documentation>
29
      </xs:annotation>
30
    </xs:attribute>
31
    <xs:attribute name="inferenceprovenance" use="optional" type="xs:string">
32
      <xs:annotation>
33
        <xs:documentation>Which algorithm inferred the current property.</xs:documentation>
34
      </xs:annotation>
35
    </xs:attribute>
36
    <xs:attribute name="trust" use="optional" type="xs:string">
37
      <xs:annotation>
38
        <xs:documentation>Value of trust of this information. Typically a value in the range [0,1].
39
          More the value, more trustworthy is the information.</xs:documentation>
40
      </xs:annotation>
41
    </xs:attribute>
42
  </xs:attributeGroup>
43

    
44
  <xs:complexType mixed="true" name="classedSchemedElement">
45
    <xs:attributeGroup ref="classSchemeAttrGroup"/>
46
    <xs:attributeGroup ref="optionalInferenceAttrGroup"/>
47
  </xs:complexType>
48

    
49
  <xs:attributeGroup name="classSchemeAttrGroup">
50
    <xs:attribute name="classid" use="required" type="xs:string">
51
      <xs:annotation>
52
        <xs:documentation>Identifier of the value in classname with respect to the controlled
53
          vocabulary with id = schemeid.</xs:documentation>
54
      </xs:annotation>
55
    </xs:attribute>
56
    <xs:attribute name="classname" use="required" type="xs:string">
57
      <xs:annotation>
58
        <xs:documentation>A value from the controlled vocabulary identified by
59
          schemeid.</xs:documentation>
60
      </xs:annotation>
61
    </xs:attribute>
62
    <xs:attribute name="schemeid" use="required" type="xs:string">
63
      <xs:annotation>
64
        <xs:documentation>Identifier of the controlled vocabulary with name
65
          schemename.</xs:documentation>
66
      </xs:annotation>
67
    </xs:attribute>
68
    <xs:attribute name="schemename" use="required" type="xs:string">
69
      <xs:annotation>
70
        <xs:documentation>Name of the controlled vocabulary.</xs:documentation>
71
      </xs:annotation>
72
    </xs:attribute>
73
  </xs:attributeGroup>
74

    
75
  <xs:complexType mixed="true" name="optionalClassedSchemedElement">
76
    <xs:attributeGroup ref="optionalClassSchemeAttrGroup"/>
77
    <xs:attributeGroup ref="optionalInferenceAttrGroup"/>
78
  </xs:complexType>
79

    
80
  <xs:attributeGroup name="optionalClassSchemeAttrGroup">
81
    <xs:attribute name="classid" use="optional" type="xs:string">
82
      <xs:annotation>
83
        <xs:documentation>Identifier of the value in classname with respect to the controlled
84
          vocabulary with id = schemeid.</xs:documentation>
85
      </xs:annotation>
86
    </xs:attribute>
87
    <xs:attribute name="classname" use="optional" type="xs:string">
88
      <xs:annotation>
89
        <xs:documentation>A value from the controlled vocabulary identified by
90
          schemeid.</xs:documentation>
91
      </xs:annotation>
92
    </xs:attribute>
93
    <xs:attribute name="schemeid" use="optional" type="xs:string">
94
      <xs:annotation>
95
        <xs:documentation>Identifier of the controlled vocabulary with name
96
          schemename.</xs:documentation>
97
      </xs:annotation>
98
    </xs:attribute>
99
    <xs:attribute name="schemename" use="optional" type="xs:string">
100
      <xs:annotation>
101
        <xs:documentation>Name of the controlled vocabulary.</xs:documentation>
102
      </xs:annotation>
103
    </xs:attribute>
104
  </xs:attributeGroup>
105

    
106
  <xs:complexType name="namedIdElement">
107
    <xs:attribute name="id" use="required"/>
108
    <xs:attribute name="name" use="required"/>
109
  </xs:complexType>
110

    
111
  <xs:complexType name="labeledIdElement">
112
    <xs:attribute name="id" use="required"/>
113
    <xs:attribute name="label" use="required"/>
114
  </xs:complexType>
115

    
116
  <xs:complexType name="datainfoType">
117
    <xs:annotation>
118
      <xs:documentation>Information about the provenance of this record.</xs:documentation>
119
    </xs:annotation>
120
    <xs:choice maxOccurs="unbounded">
121
      <xs:element name="inferred" type="xs:boolean">
122
        <xs:annotation>
123
          <xs:documentation>True if this information has been inferred by the automatic inference
124
            algorithms run by OpenAIRE.</xs:documentation>
125
        </xs:annotation>
126
      </xs:element>
127
      <xs:element name="deletedbyinference" type="xs:boolean">
128
        <xs:annotation>
129
          <xs:documentation>True if this information has been deleted by the automatic inference
130
            algorithms run by OpenAIRE.</xs:documentation>
131
        </xs:annotation>
132
      </xs:element>
133
      <xs:element name="trust" type="xs:string">
134
        <xs:annotation>
135
          <xs:documentation>Value of trust of this information. Typically a value in the range
136
            [0,1]. More the value, more trustwirthy is the infromation.</xs:documentation>
137
        </xs:annotation>
138
      </xs:element>
139
      <xs:element name="inferenceprovenance" type="xs:string">
140
        <xs:annotation>
141
          <xs:documentation>Which algorithm inferred the current property</xs:documentation>
142
        </xs:annotation>
143
      </xs:element>
144
      <xs:element name="provenanceaction" type="classedSchemedElement"/>
145
    </xs:choice>
146
  </xs:complexType>
147

    
148
  <xs:complexType name="relsType">
149
    <xs:annotation>
150
      <xs:documentation>Relationships to other entities.</xs:documentation>
151
    </xs:annotation>
152
    <xs:sequence maxOccurs="unbounded" minOccurs="0">
153
      <xs:element name="rel" type="relType" minOccurs="0"/>
154
    </xs:sequence>
155
  </xs:complexType>
156

    
157
  <xs:complexType name="relType">
158
    <xs:annotation>
159
      <xs:documentation>A relationship to another entity</xs:documentation>
160
    </xs:annotation>
161
    <xs:choice maxOccurs="unbounded">
162
      <xs:element name="to" type="relToType"/>
163
      <xs:element name="ranking" type="xs:integer" minOccurs="0"/>
164
      <xs:element name="fullname" type="xs:string" minOccurs="0"/>
165
      <xs:element name="title" type="optionalClassedSchemedElement" minOccurs="0"/>
166
      <xs:element name="dateofacceptance" type="xs:string" minOccurs="0"/>
167
      <xs:element name="publisher" type="xs:string" minOccurs="0"/>
168
      <xs:element name="resulttype" type="classedSchemedElement" minOccurs="0">
169
        <xs:annotation>
170
          <xs:documentation>Type of the related result. Valid only if the related entity is a
171
            result. Allowed values: dataset, publication.</xs:documentation>
172
        </xs:annotation>
173
      </xs:element>
174

    
175
      <!-- elements for organisations, some are also valid for datsources and projects -->
176
      <xs:element name="officialname" type="xs:string" minOccurs="0"/>
177
      <xs:element name="participantnumber" type="xs:string" minOccurs="0"/>
178
      <xs:element name="websiteurl" type="xs:string" minOccurs="0"/>
179
      <xs:element name="code" type="xs:string" minOccurs="0"/>
180
      <xs:element name="acronym" type="xs:string" minOccurs="0"/>
181
      <xs:element name="contracttype" type="optionalClassedSchemedElement" minOccurs="0">
182
        <xs:annotation>
183
          <xs:documentation>Type of the contract. Allowed values: Article 171 of the Treaty,
184
            CIP-Eco-Innovation - CIP-Thematic Network, Collaborative project, Combination of CP
185
            &amp; CSA, Coordination and support action, Network of Excellence, Research for the
186
            benefit of specific groups, Support for frontier research (ERC), Support for training
187
            and career development of researchers (Marie Curie) </xs:documentation>
188
        </xs:annotation>
189
      </xs:element>
190
      <xs:element name="funding" type="fundingFlatType" minOccurs="0"/>
191
      <!-- elements for datasources -->
192
      <xs:element name="legalname" type="xs:string" minOccurs="0"/>
193
      <xs:element name="datasourcetype" type="optionalClassedSchemedElement" minOccurs="0">
194
        <xs:annotation>
195
          <xs:documentation>Type of datasource. Allowed values are: aggregator::datarepository,
196
            aggregator::pubsrepository::institutional, aggregator::pubsrepository::journals,
197
            aggregator::pubsrepository::unknown, crissystem, datarepository::unknown,
198
            entityregistry, infospace, pubsrepository::institutional, pubsrepository::journal,
199
            pubsrepository::mock, pubsrepository::thematic, pubsrepository::unknown, scholarly
200
            commnication infrastructure, websource </xs:documentation>
201
        </xs:annotation>
202
      </xs:element>
203
      <xs:element name="datasourcetypeui" type="optionalClassedSchemedElement" minOccurs="0"/>
204
      <xs:element name="legalshortname" type="xs:string" minOccurs="0"/>
205
      <xs:element name="country" type="optionalClassedSchemedElement" minOccurs="0">
206
        <xs:annotation>
207
          <xs:documentation> The classid attribute contains the ISO 3166-1 alpha-2 code of the
208
            country. The classname attribute contains the english name of the country.
209
          </xs:documentation>
210
        </xs:annotation>
211
      </xs:element>
212
      <!-- elements for projects -->
213
      <xs:element name="fax" type="xs:string" minOccurs="0"/>
214
      <xs:element name="email" type="xs:string" minOccurs="0"/>
215
      <xs:element name="phone" type="xs:string" minOccurs="0"/>
216
    </xs:choice>
217
    <xs:attributeGroup ref="optionalInferenceAttrGroup"/>
218
    <xs:attribute name="provenanceaction" type="xs:string"/>
219
  </xs:complexType>
220

    
221
  <xs:complexType name="relToType">
222
    <xs:annotation>
223
      <xs:documentation>Type of the related entity.</xs:documentation>
224
    </xs:annotation>
225
    <xs:simpleContent>
226
      <xs:extension base="xs:string">
227
        <xs:attribute name="class" use="required" type="xs:string">
228
          <xs:annotation>
229
            <xs:documentation>The semantics of the relationship between this entity and the entity
230
              whose id is in the value of this element.</xs:documentation>
231
          </xs:annotation>
232
        </xs:attribute>
233
        <xs:attribute name="scheme" use="required" type="xs:string"/>
234
        <xs:attribute name="type" use="required" type="xs:string">
235
          <xs:annotation>
236
            <xs:documentation>The type of the related entity: project, organisation, datasource,
237
              result, person.</xs:documentation>
238
          </xs:annotation>
239
        </xs:attribute>
240
      </xs:extension>
241
    </xs:simpleContent>
242
  </xs:complexType>
243

    
244
  <xs:complexType name="fundingFlatType">
245
    <xs:sequence>
246
      <xs:element name="funding_level_0" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
247
      <xs:element name="funding_level_1" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
248
      <xs:element name="funding_level_2" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
249
    </xs:sequence>
250
  </xs:complexType>
251

    
252
  <xs:complexType name="externalreferenceType">
253
    <xs:sequence>
254
      <xs:element name="sitename" type="xs:string"/>
255
      <xs:element name="label" type="xs:string"/>
256
      <xs:element name="qualifier" type="optionalClassedSchemedElement"/>
257
      <xs:element name="refidentifier" type="xs:string"/>
258
    </xs:sequence>
259
    <xs:attributeGroup ref="optionalInferenceAttrGroup"/>
260
  </xs:complexType>
261

    
262
  <xs:complexType name="extraInfoType">
263
    <xs:annotation>
264
      <xs:documentation>Fields of this type can contain any well-formed XML, regardless of the
265
        actual structure.</xs:documentation>
266
    </xs:annotation>
267
    <xs:sequence>
268
      <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
269
    </xs:sequence>
270
    <xs:attribute name="name" type="xs:string" use="required">
271
      <xs:annotation>
272
        <xs:documentation>Human readable label that explains the type of information we can find
273
          inside this element. It corresponds to the value in the "typology"
274
          attribute.</xs:documentation>
275
      </xs:annotation>
276
    </xs:attribute>
277
    <xs:attribute name="typology" type="xs:string" use="required">
278
      <xs:annotation>
279
        <xs:documentation>Type of the information we can find inside this element. The attribute
280
          "name" provides a human-readable label of this very same information.</xs:documentation>
281
      </xs:annotation>
282
    </xs:attribute>
283
    <xs:attribute name="provenance" type="xs:string"/>
284
    <xs:attribute name="trust" type="xs:string">
285
      <xs:annotation>
286
        <xs:documentation>Value of trust of this information. Typically a value in the range [0,1].
287
          More the value, more trustworthy is the information.</xs:documentation>
288
      </xs:annotation>
289
    </xs:attribute>
290
  </xs:complexType>
291

    
292
</xs:schema>
(3-3/8)