Project

General

Profile

« Previous | Next » 

Revision 39581

Changed data model schema and added first release of mapping from puma to isti cnr format

View differences:

modules/dnet-newpuma-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/TransformationRuleDSResources/puma2IstiTransform.xml
1
<RESOURCE_PROFILE>
2
	<HEADER>
3
		<RESOURCE_IDENTIFIER value="7c178593-f1b2-4e09-96e0-2cd8aadb74f6_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
4
		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
5
		<RESOURCE_KIND value="TransformationRuleDSResources"/>
6
		<RESOURCE_URI value=""/>
7
		<DATE_OF_CREATION value="2015-07-28T12:26:13+02:00"/>
8
	</HEADER>
9
	<BODY>
10
		<CONFIGURATION>
11
			<IMPORTED/>
12
			<SCRIPT>
13
				<TITLE>puma 2 isti transformation</TITLE>
14
				<CODE><![CDATA[
15
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
16
				xmlns:datetime="http://exslt.org/dates-and-times" xmlns:exslt="http://exslt.org/common"
17
				xmlns:oai="http://www.openarchives.org/OAI/2.0/"
18
				xmlns:isti="http://www.isti.cnr.it/" xmlns:dri="http://www.driver-repository.eu/namespace/dri"
19
				xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"
20
				exclude-result-prefixes="xsl datetime exslt dc">
21
	<xsl:param name="varOfficialName"/>
22
	<xsl:template match="/">
23
		<oai:record>
24
			<xsl:copy-of select="//*[local-name()='header']"/>
25
			<oai:metadata>
26
				<isti:entity>
27
					<isti:recordIdentifiers>
28
						<isti:identifier type="original">
29
							<xsl:value-of select="//dri:recordIdentifier"/>
30
						</isti:identifier>
31
						<xsl:for-each select="//dc:pumainfo/dc:identifier">
32
							<isti:identifier type="puma">
33
								<xsl:value-of select="."/>
34
							</isti:identifier>
35
						</xsl:for-each>
36
					</isti:recordIdentifiers>
37
					<isti:recordProvenance>
38
						<isti:recordProvider>
39
							<xsl:value-of select="$varOfficialName"/>
40
						</isti:recordProvider>
41
						<isti:collectionDate>
42
							<xsl:value-of select="//dri:dateOfCollection"/>
43
						</isti:collectionDate>
44
					</isti:recordProvenance>
45
					<xsl:for-each select="//dc:title">
46
						<isti:title type="main title">
47
							<xsl:value-of select="."/>
48
						</isti:title>
49
					</xsl:for-each>
50
					<xsl:for-each select="//dc:title.acronym">
51
						<isti:title type="acronym">
52
							<xsl:value-of select="."/>
53
						</isti:title>
54
					</xsl:for-each>
55
					<!--TODO Add the cleaning rule for language -->
56
					<xsl:for-each select="//dc:language">
57
						<isti:language>
58
							<xsl:value-of select="."/>
59
						</isti:language>
60
					</xsl:for-each>
61
					<isti:authors>
62
						<xsl:for-each select="//dc:creator">
63
							<isti:author>
64
								<isti:name>
65
									<xsl:value-of select="./dc:name"/>
66
								</isti:name>
67
								<isti:surname>
68
									<xsl:value-of select="./dc:surname"/>
69
								</isti:surname>
70
								<!--Optional:-->
71
								<isti:affiliation type="{./dc:type_affiliation}">
72
									<xsl:value-of select="./dc:affiliation"/>
73
								</isti:affiliation>
74
								<!--Zero or more repetitions:-->
75
								<isti:identifier type="CNR serial number">
76
									<xsl:value-of select="./dc:freshman"/>
77
								</isti:identifier>
78
							</isti:author>
79
						</xsl:for-each>
80
					</isti:authors>
81

  
82
					<isti:contributors>
83
						<xsl:for-each select="//dc:contributors">
84
							<xsl:for-each select="tokenize(., ',')">
85
								<isti:contributor type="editor">
86
									<xsl:value-of select="."/>
87
								</isti:contributor>
88
							</xsl:for-each>
89
						</xsl:for-each>
90
					</isti:contributors>
91
					<isti:publisher>
92
						<xsl:value-of select="//dc:publisher"/>
93
					</isti:publisher>
94
					<isti:keywords>
95
						<xsl:for-each select="//*[starts-with(local-name(),'subject.')]">
96
							<isti:term type="{substring-after(local-name(),'subject.')}">
97
								<xsl:value-of select="."></xsl:value-of>
98
							</isti:term>
99
						</xsl:for-each>
100
						<xsl:for-each select="//dc:subject">
101
							<isti:term type="keyword">
102
								<xsl:value-of select="."></xsl:value-of>
103
							</isti:term>
104
						</xsl:for-each>
105
					</isti:keywords>
106

  
107
					<isti:description language="{//dc:language.description}">
108
						<xsl:value-of select="//dc:description"/>
109
					</isti:description>
110
					<xsl:for-each select="//dc:relation.note">
111
						<isti:note>
112
							<xsl:value-of select="."/>
113
						</isti:note>
114
					</xsl:for-each>
115

  
116
					<xsl:for-each select="//dc:date.publication">
117
						<isti:date type="publication date">
118
							<xsl:value-of select="."/>
119
						</isti:date>
120
					</xsl:for-each>
121

  
122
					<xsl:for-each select="//dc:date.onlinefirst">
123
						<isti:date type="Online publication date">
124
							<xsl:value-of select="."/>
125
						</isti:date>
126
					</xsl:for-each>
127

  
128

  
129
					<xsl:for-each select="//dc:date.issued">
130
						<isti:date type="issue date">
131
							<xsl:value-of select="."/>
132
						</isti:date>
133
					</xsl:for-each>
134

  
135
					<xsl:for-each select="//dc:date.issued.mod">
136
						<isti:date type="last modification date">
137
							<xsl:value-of select="."/>
138
						</isti:date>
139
					</xsl:for-each>
140

  
141

  
142
					<xsl:for-each select="//dc:yearac">
143
						<isti:date type="academic year">
144
							<xsl:value-of select="."/>
145
						</isti:date>
146
					</xsl:for-each>
147

  
148

  
149
					<xsl:for-each select="//dc:relation.yrelease">
150
						<isti:date type="release date">
151
							<xsl:value-of select="."/>
152
						</isti:date>
153
					</xsl:for-each>
154
					<isti:grants>
155
						<xsl:for-each select="//dc:funds">
156
							<isti:grant>
157
								<isti:grantIdentifier>
158
									<xsl:value-of select="./dc:relation.grantfund"/>
159
								</isti:grantIdentifier>
160
								<isti:fundingStream>
161
									<xsl:value-of select="./dc:relation.typefund"/>
162
								</isti:fundingStream>
163
								<isti:funderPID>
164
									<xsl:value-of select="./dc:relation.typefund"/>
165
								</isti:funderPID>
166
								<isti:grantName>
167
									<xsl:value-of select="./dc:relation.funding"/>
168
								</isti:grantName>
169
								<isti:grantAcronym>
170
									<xsl:value-of select="./dc:relation.acronym_funding"/>
171
								</isti:grantAcronym>
172
							</isti:grant>
173
						</xsl:for-each>
174
					</isti:grants>
175
					<xsl:variable name="typology">
176
						<xsl:value-of select="substring(//dc:type,1, 2)"/>
177
					</xsl:variable>
178
					<xsl:choose>
179
						<xsl:when test="$typology='A0'">
180
							<isti:typology isPublished="true">International Journal Article</isti:typology>
181
							<xsl:call-template name="mapping_Journal"/>
182
						</xsl:when>
183
						<xsl:when test="$typology='B0'">
184
							<isti:typology isPublished="true">National Journal Article</isti:typology>
185
							<xsl:call-template name="mapping_Journal"/>
186
						</xsl:when>
187
						<xsl:when test="$typology='A1'">
188

  
189
							<isti:typology isPublished="true">
190
								<xsl:choose>
191
									<xsl:when test="contains(//dc:type, 'Contribution')">Contribution to International Book/Monograph</xsl:when>
192
									<xsl:otherwise>International Book/Monograph</xsl:otherwise>
193
								</xsl:choose>
194
							</isti:typology>
195
							<xsl:call-template name="mapping_Book"/>
196
						</xsl:when>
197
						<xsl:when test="$typology='B1'">
198
							<isti:typology isPublished="true">
199
								<xsl:choose>
200
									<xsl:when test="contains(//dc:type, 'Contribution')">Contribution to National Book/Monograph</xsl:when>
201
									<xsl:otherwise>National Book/Monograph</xsl:otherwise>
202
								</xsl:choose>
203
							</isti:typology>
204
							<xsl:call-template name="mapping_Book"/>
205
						</xsl:when>
206
						<xsl:when test="$typology='A2'">
207
							<isti:typology isPublished="true">International Conference Article</isti:typology>
208
							<xsl:call-template name="mapping_Conference"/>
209
							<xsl:call-template name="mapping_Book"/>
210
						</xsl:when>
211
						<xsl:when test="$typology='B2'">
212
							<isti:typology isPublished="true">National Conference Article</isti:typology>
213
							<xsl:call-template name="mapping_Conference"/>
214
							<xsl:call-template name="mapping_Book"/>
215
						</xsl:when>
216
						<xsl:when test="$typology='A6'">
217
							<isti:typology isPublished="true">International Conference Communication/Abstract/Poster</isti:typology>
218
							<xsl:call-template name="mapping_Conference"/>
219
							<xsl:call-template name="mapping_Book"/>
220
						</xsl:when>
221

  
222
						<xsl:when test="$typology='B6'">
223
							<isti:typology isPublished="true">National Conference Communication/Abstract/Poster</isti:typology>
224
							<xsl:call-template name="mapping_Conference"/>
225
							<xsl:call-template name="mapping_Book"/>
226
						</xsl:when>
227

  
228
						<xsl:when test="$typology='A7'">
229
							<isti:typology isPublished="true">International Journal Abstract</isti:typology>
230
							<xsl:call-template name="mapping_Journal"/>
231
						</xsl:when>
232

  
233
						<xsl:when test="$typology='B7'">
234
							<isti:typology isPublished="true">National Journal Abstract</isti:typology>
235
							<xsl:call-template name="mapping_Journal"/>
236
						</xsl:when>
237

  
238
						<xsl:when test="$typology='ED'">
239
							<isti:typology isPublished="true">Editorial</isti:typology>
240
							<xsl:call-template name="mapping_Journal"/>
241
						</xsl:when>
242
						<xsl:when test="$typology='MA'">
243
							<isti:typology isPublished="true">Map</isti:typology>
244
						</xsl:when>
245
						<xsl:when test="$typology='MM'">
246
							<isti:typology isPublished="false">Multimedia</isti:typology>
247
						</xsl:when>
248
						<xsl:when test="$typology='A3'">
249
							<isti:typology isPublished="false">International Conference Communication/Abstract/Poster</isti:typology>
250
							<xsl:call-template name="mapping_Conference"/>
251
						</xsl:when>
252
						<xsl:when test="$typology='B3'">
253
							<isti:typology isPublished="false">National Conference Communication/Abstract/Poster</isti:typology>
254
							<xsl:call-template name="mapping_Conference"/>
255
						</xsl:when>
256
						<xsl:when test="$typology='B4'">
257
							<isti:typology isPublished="false">Internal Note</isti:typology>
258
						</xsl:when>
259
						<xsl:when test="$typology='B5'">
260
							<isti:typology isPublished="false">Other</isti:typology>
261
						</xsl:when>
262
						<xsl:when test="$typology='EC'">
263
							<isti:typology isPublished="false">Deliverable</isti:typology>
264
						</xsl:when>
265
						<xsl:when test="$typology='IS'">
266
							<isti:typology isPublished="false">Institutional Series</isti:typology>
267
						</xsl:when>
268
						<xsl:when test="$typology='PH'">
269
							<isti:typology isPublished="false">PHD Thesis</isti:typology>
270
							<xsl:call-template name="mapping_Thesis">
271
								<xsl:with-param name="isPhd" select="true()"/>
272
							</xsl:call-template>
273
						</xsl:when>
274
						<xsl:when test="$typology='TH'">
275
							<isti:typology isPublished="false">Thesis</isti:typology>
276
							<xsl:call-template name="mapping_Thesis">
277
								<xsl:with-param name="isPhd" select="false()"/>
278
							</xsl:call-template>
279
						</xsl:when>
280
						<xsl:when test="$typology='PP'">
281
							<isti:typology isPublished="false">Pre-Print</isti:typology>
282
						</xsl:when>
283
						<xsl:when test="$typology='PR'">
284
							<isti:typology isPublished="false">Project Report</isti:typology>
285
						</xsl:when>
286
						<xsl:when test="$typology='TR'">
287
							<isti:typology isPublished="false">Technical Report</isti:typology>
288
						</xsl:when>
289
						<xsl:when test="$typology='WP'">
290
							<isti:typology isPublished="false">Working Paper</isti:typology>
291
						</xsl:when>
292
						<xsl:when test="$typology='BV'">
293
							<isti:typology isPublished="false">Patent</isti:typology>
294
						</xsl:when>
295
						<xsl:when test="$typology='SW'">
296
							<isti:typology isPublished="false">Software</isti:typology>
297
							<xsl:call-template name="mapping_Software"/>
298
						</xsl:when>
299
					</xsl:choose>
300
					<xsl:for-each select="//dc:files">
301
						<isti:manifestationMetadata>
302
							<isti:version>1.0</isti:version>
303
							<xsl:for-each select=".//dc:file.copyright">
304
								<isti:accessRights>
305
									<xsl:value-of select="."/>
306
								</isti:accessRights>
307
							</xsl:for-each>
308
							<xsl:for-each select=".//dc:file">
309
								<isti:file>
310
									<xsl:value-of select="./dc:file.url"/>
311
								</isti:file>
312
							</xsl:for-each>
313
							<isti:provenance>
314
								<isti:recordProvider>
315
									<xsl:value-of select="$varOfficialName"/>
316
								</isti:recordProvider>
317
								<isti:collectionDate>
318
									<xsl:value-of select="//dc:date.issued"/>
319
								</isti:collectionDate>
320
							</isti:provenance>
321

  
322
						</isti:manifestationMetadata>
323
					</xsl:for-each>
324

  
325
				</isti:entity>
326
			</oai:metadata>
327
		</oai:record>
328
	</xsl:template>
329

  
330

  
331
	<xsl:template name="mapping_Conference">
332
		<isti:conference>
333
			<isti:title>
334
				<xsl:if test="string-length(normalize-space(//dc:source_metadata/dc:relation.acronym)) &gt; 0">
335
					<xsl:attribute name="acronym">
336
						<xsl:value-of select="normalize-space(//dc:source_metadata/dc:relation.acronym)"/>
337
					</xsl:attribute>
338
				</xsl:if>
339
				<xsl:value-of select="//dc:source_metadata/dc:relation.conference"/>
340
			</isti:title>
341
			<isti:place>
342
				<xsl:value-of select="//dc:source_metadata/dc:relation.place"/>
343
			</isti:place>
344
			<isti:date>
345
				<xsl:value-of select="//dc:source_metadata/dc:relation.eventdate"/>
346
			</isti:date>
347
		</isti:conference>
348
	</xsl:template>
349
	<xsl:template name="mapping_Book">
350

  
351
		<isti:book>
352
			<isti:title>
353
				<xsl:value-of
354
						select="//dc:source_metadata/dc:relation.book |//dc:source_metadata/dc:relation.conference "/>
355
			</isti:title>
356
			<isti:edition>
357
				<xsl:value-of select="//dc:relation.edition"/>
358
			</isti:edition>
359
			<isti:series volume="{normalize-space(//dc:relation.series.volume)}">
360
				<xsl:value-of select="//dc:relation.series"/>
361
			</isti:series>
362
			<isti:volume>
363
				<xsl:value-of select="//dc:relation.volume"/>
364
			</isti:volume>
365
			<isti:pages>
366
				<xsl:if test="string-length(normalize-space(//dc:source.pages.first)) &gt; 0">
367
					<xsl:attribute name="from" select="//dc:source.pages.first"/>
368
				</xsl:if>
369
				<xsl:if test="string-length(normalize-space(//dc:source.pages.last)) &gt; 0">
370
					<xsl:attribute name="to" select="//dc:source.pages.last"/>
371
				</xsl:if>
372
				<xsl:if test="string-length(normalize-space(//dc:source.pages)) &gt; 0">
373
					<xsl:attribute name="total" select="//dc:source.pages"/>
374
				</xsl:if>
375
			</isti:pages>
376

  
377
			<isti:identifiers>
378
				<xsl:for-each select="//dc:source_metadata/*[starts-with(local-name(),'identifier.')]">
379
					<xsl:if test="string-length(normalize-space(.)) &gt; 0">
380
						<isti:identifier type="{substring-after(local-name(),'identifier.')}">
381
							<xsl:value-of select="."/>
382
						</isti:identifier>
383
					</xsl:if>
384
				</xsl:for-each>
385
			</isti:identifiers>
386

  
387
		</isti:book>
388
	</xsl:template>
389
	<xsl:template name="mapping_Journal">
390
		<isti:journal>
391
			<isti:title>
392
				<xsl:value-of select="//dc:source_metadata/dc:relation.journal"/>
393
			</isti:title>
394
			<isti:volume>
395
				<xsl:value-of select="//dc:relation.volume"/>
396
			</isti:volume>
397
			<isti:issue>
398
				<xsl:value-of select="//dc:relation.issue"/>
399
			</isti:issue>
400
			<isti:specialissue>
401
				<xsl:value-of select="//dc:relation.specialissue"/>
402
			</isti:specialissue>
403
			<isti:articleNumber>
404
				<xsl:value-of select="//dc:source.article"/>
405
			</isti:articleNumber>
406
			<isti:pages>
407
				<xsl:if test="string-length(normalize-space(//dc:source.pages.first)) &gt; 0">
408
					<xsl:attribute name="from" select="//dc:source.pages.first"/>
409
				</xsl:if>
410
				<xsl:if test="string-length(normalize-space(//dc:source.pages.last)) &gt; 0">
411
					<xsl:attribute name="to" select="//dc:source.pages.last"/>
412
				</xsl:if>
413
			</isti:pages>
414
			<isti:identifiers>
415
				<xsl:for-each select="//dc:source_metadata/*[starts-with(local-name(),'identifier.')]">
416
					<xsl:if test="string-length(normalize-space(.)) &gt; 0">
417
						<isti:identifier type="{substring-after(local-name(),'identifier.')}">
418
							<xsl:value-of select="."/>
419
						</isti:identifier>
420
					</xsl:if>
421
				</xsl:for-each>
422
			</isti:identifiers>
423
		</isti:journal>
424
	</xsl:template>
425

  
426
	<xsl:template name="mapping_Thesis">
427
		<xsl:param name="isPhd"/>
428
		<isti:thesis>
429
			<xsl:for-each select="//dc:source_metadata/dc:reporter">
430
				<isti:advisor>
431
					<xsl:attribute name="type">
432
						<xsl:choose>
433
							<xsl:when test="$isPhd">Doctoral advisor</xsl:when>
434
							<xsl:otherwise>Main advisor</xsl:otherwise>
435

  
436
						</xsl:choose>
437
					</xsl:attribute>
438
					<xsl:value-of select="."/>
439
				</isti:advisor>
440
			</xsl:for-each>
441

  
442
			<xsl:for-each select="//dc:source_metadata/dc:coreporter">
443
				<isti:advisor type="Co-advisor">
444
					<xsl:value-of select="."/>
445
				</isti:advisor>
446
			</xsl:for-each>
447

  
448
			<xsl:for-each select="//dc:source_metadata/dc:acoreporter">
449
				<isti:advisor type="Other advisor">
450
					<xsl:value-of select="."/>
451
				</isti:advisor>
452
			</xsl:for-each>
453

  
454
			<xsl:for-each select="//dc:faculty">
455
				<isti:faculty>
456
					<xsl:value-of select="."/>
457
				</isti:faculty>
458
			</xsl:for-each>
459

  
460
			<xsl:for-each select="//dc:doctorate">
461
				<isti:degree>
462
					<xsl:value-of select="."/>
463
				</isti:degree>
464
			</xsl:for-each>
465

  
466

  
467
		</isti:thesis>
468

  
469
	</xsl:template>
470

  
471
	<xsl:template name="mapping_Software">
472
		<isti:software>
473
			<isti:contact>
474
				<xsl:value-of select="//dc:relation.conctact"/>
475
			</isti:contact>
476
			<isti:email>
477
				<xsl:value-of select="//dc:relation.econctact"/>
478
			</isti:email>
479
			<isti:release>
480
				<xsl:value-of select="//dc:relation.release"/>
481
			</isti:release>
482
			<isti:previousRelease>
483
				<xsl:value-of select="//dc:relation.previous"/>
484
			</isti:previousRelease>
485
			<isti:licence>
486
				<xsl:value-of select="//dc:relation.licenze"/>
487
			</isti:licence>
488
			<isti:softwareTypology>
489
				<xsl:value-of select="//dc:relation.tipsoft"/>
490
			</isti:softwareTypology>
491
			<isti:sourceTypology>
492
				<xsl:value-of select="//dc:relation.tipsorg"/>
493
			</isti:sourceTypology>
494
		</isti:software>
495

  
496
	</xsl:template>
497

  
498

  
499
</xsl:stylesheet>
500

  
501

  
502

  
503

  
504
					]]>
505
				</CODE>
506
			</SCRIPT>
507
		</CONFIGURATION>
508
		<STATUS/>
509
		<SECURITY_PARAMETERS/>
510
	</BODY>
511
</RESOURCE_PROFILE>
modules/dnet-newpuma-profiles/trunk/src/main/resources/eu/dnetlib/test/schemas/isti.xsd
91 91
                                <xs:complexType>
92 92
                                    <xs:sequence>
93 93
                                        <xs:element name="grantIdentifier" type="xs:string"/>
94
                                        <xs:element name="fundingStream" type="xs:string"/>
94
                                        <xs:element name="fundingStream" type="xs:string"
95
                                            minOccurs="0"/>
95 96
                                        <xs:element name="funderPID" type="xs:string"/>
96
                                        <xs:element name="funderPIDScheme" type="xs:string"/>
97
                                        <xs:element name="funderPIDScheme" type="xs:string"
98
                                            minOccurs="0"/>
97 99
                                        <xs:element minOccurs="0" name="funderName" type="xs:string"/>
98 100
                                        <xs:element minOccurs="0" name="grantName" type="xs:string"/>
99 101
                                        <xs:element minOccurs="0" name="grantAcronym"
......
121 123
                            <xs:element name="title" type="xs:string"/>
122 124
                            <xs:element name="volume" type="xs:string"/>
123 125
                            <xs:element name="issue" type="xs:string"/>
124
                            <xs:element minOccurs="0" name="articleNumber" type="xs:int"/>
126
                            <xs:element minOccurs="0" name="specialissue" type="xs:string"/>
127
                            <xs:element minOccurs="0" name="articleNumber" type="xs:string"/>
125 128
                            <xs:element name="pages" type="isti:pagesType" minOccurs="0"/>
126 129
                            <xs:element name="identifiers" type="isti:identifiersType"/>
127 130
                        </xs:sequence>
128 131
                    </xs:complexType>
129 132
                </xs:element>
133
                <xs:element name="conference" minOccurs="0" maxOccurs="1">
134
                    <xs:complexType>
135
                        <xs:sequence>
136
                            <xs:element name="title">
137
                                <xs:complexType>
138
                                    <xs:simpleContent>
139
                                        <xs:extension base="xs:string">
140
                                            <xs:attribute name="acronym" type="xs:string"/>
141
                                        </xs:extension>
142
                                    </xs:simpleContent>
143
                                </xs:complexType>
144
                            </xs:element>
145
                            <xs:element minOccurs="0" name="place" type="xs:string"/>
146
                            <xs:element minOccurs="0" name="date" type="xs:string"/>
147
                        </xs:sequence>
148
                    </xs:complexType>
149
                </xs:element>
130 150
                <xs:element name="book" minOccurs="0" maxOccurs="1">
131 151
                    <xs:complexType>
132 152
                        <xs:sequence>
......
148 168
                                </xs:complexType>
149 169
                            </xs:element>
150 170
                            <xs:element minOccurs="0" name="volume" type="xs:string"/>
151
                            <xs:element minOccurs="0" name="articleNumber" type="xs:int"/>
171
                            <xs:element minOccurs="0" name="articleNumber" type="xs:string"/>
152 172
                            <xs:element minOccurs="0" name="pages" type="isti:pagesType"/>
153 173
                            <xs:element name="identifiers" type="isti:identifiersType"/>
154 174
                        </xs:sequence>
155 175
                    </xs:complexType>
156 176
                </xs:element>
157
                <xs:element name="conference" minOccurs="0" maxOccurs="1">
158
                    <xs:complexType>
159
                        <xs:sequence>
160
                            <xs:element name="title">
161
                                <xs:complexType>
162
                                    <xs:simpleContent>
163
                                        <xs:extension base="xs:string">
164
                                            <xs:attribute name="acronym" type="xs:string"/>
165
                                        </xs:extension>
166
                                    </xs:simpleContent>
167
                                </xs:complexType>
168
                            </xs:element>
169
                            <xs:element minOccurs="0" name="place" type="xs:string"/>
170
                            <xs:element minOccurs="0" name="date" type="xs:string"/>
171
                        </xs:sequence>
172
                    </xs:complexType>
173
                </xs:element>
174 177
                <xs:element minOccurs="0" name="thesis" maxOccurs="1">
175 178
                    <xs:complexType>
176 179
                        <xs:sequence>
......
184 187
                                                  <xs:enumeration value="Main advisor"/>
185 188
                                                  <xs:enumeration value="Co-advisor"/>
186 189
                                                  <xs:enumeration value="Committee member"/>
187
                                                  <xs:enumeration value="Academic advisor"/>
190
                                                  <xs:enumeration value="Other advisor"/>
188 191
                                                  <xs:enumeration value="Doctoral advisor"/>
189 192
                                                  </xs:restriction>
190 193
                                                </xs:simpleType>
......
193 196
                                    </xs:simpleContent>
194 197
                                </xs:complexType>
195 198
                            </xs:element>
199
                            <xs:element minOccurs="0" name="faculty" type="xs:string"/>
200
                            <xs:element minOccurs="0" name="degree" type="xs:string"/>
196 201
                        </xs:sequence>
197 202
                    </xs:complexType>
198 203
                </xs:element>
......
212 217
                <xs:element name="manifestationMetadata" minOccurs="1" maxOccurs="unbounded">
213 218
                    <xs:complexType>
214 219
                        <xs:sequence>
215
                            <xs:element name="version" minOccurs="1" maxOccurs="1">
220
                            <xs:element name="version" minOccurs="1" maxOccurs="1" type="xs:string"> </xs:element>
221
                            <xs:element name="accessRights" minOccurs="0" maxOccurs="1">
216 222
                                <xs:simpleType>
217 223
                                    <xs:restriction base="xs:string">
218
                                        <xs:enumeration value="pre-print"/>
219
                                        <xs:enumeration value="post-print"/>
220
                                        <xs:enumeration value="published"/>
221
                                    </xs:restriction>
222
                                </xs:simpleType>
223
                            </xs:element>
224
                            <xs:element name="accessRights" minOccurs="1" maxOccurs="1">
225
                                <xs:simpleType>
226
                                    <xs:restriction base="xs:string">
227 224
                                        <xs:enumeration value="open"/>
228 225
                                        <xs:enumeration value="restricted"/>
229 226
                                        <xs:enumeration value="closed"/>
......
235 232
                                maxOccurs="1"/>
236 233
                            <xs:element name="provenance" type="isti:recordProvenanceType"
237 234
                                minOccurs="1" maxOccurs="1"/>
238
                            <xs:element name="file" type="xs:string" minOccurs="1"
235
                            <xs:element name="file" type="xs:string" minOccurs="0"
239 236
                                maxOccurs="unbounded"/>
240 237
                        </xs:sequence>
241 238
                    </xs:complexType>
......
288 285

  
289 286
    <xs:complexType name="identifiersType">
290 287
        <xs:sequence>
291
            <xs:element name="identifier" type="isti:persistentIdentifierType" minOccurs="1"
288
            <xs:element name="identifier" type="isti:persistentIdentifierType" minOccurs="0"
292 289
                maxOccurs="unbounded"/>
293 290
        </xs:sequence>
294 291
    </xs:complexType>
295 292

  
296 293
    <xs:complexType name="pagesType">
297
        <xs:attribute name="from" type="xs:int"/>
298
        <xs:attribute name="to" type="xs:int"/>
299
        <xs:attribute name="total" type="xs:int"/>
294
        <xs:attribute name="from" type="xs:string"/>
295
        <xs:attribute name="to" type="xs:string"/>
296
        <xs:attribute name="total" type="xs:string"/>
300 297
    </xs:complexType>
301 298

  
302 299
    <xs:simpleType name="typologyType">
......
327 324
            <xs:enumeration value="Other"/>
328 325
            <xs:enumeration value="Patent"/>
329 326
            <xs:enumeration value="Software"/>
327
            <xs:enumeration value="Multimedia"/>
330 328
        </xs:restriction>
331 329
    </xs:simpleType>
332 330

  

Also available in: Unified diff