Project

General

Profile

1
<?xml version="1.0" encoding="UTF-8"?>
2
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
3
xmlns:dri="http://www.driver-repository.eu/namespace/dri"
4
xmlns:oaf="http://namespace.openaire.eu/oaf"
5
xmlns:dc="http://purl.org/dc/elements/1.1/">
6
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
7
<!-- PROJECT
8
missing fields:
9
1. scientific area ?
10
2. programme ?
11
3. cordis link ?
12
4. publications
13
 -->
14
<xsl:template match = "/">
15
<result type ="result">
16
	<xsl:apply-templates select="//header"/>
17
	<xsl:apply-templates select="//oaf:project"/>
18
	<xsl:apply-templates select="//rel"/>
19
	<!--xsl:apply-templates select="//funding[parent[not(node())]] "/-->
20
	<xsl:apply-templates select="//funding_level_2"/>
21
	<xsl:apply-templates select="//funding_level_1"/>
22
	<xsl:apply-templates select="//funding_level_0"/>
23
</result>
24
</xsl:template>
25

    
26
<!-- HEADER
27
fields in header:
28
1. dri:objIdentifier 		[objIdentifier]
29
2. dri:repositoryId			X
30
3. dri:dateOfCollection		X
31
-->
32
<xsl:template match = "header">
33
	<field name="projectId" multiplicity="false" indexId="objIdentifier" label="Object id">
34
		<xsl:attribute name="value">
35
			<xsl:value-of select='./dri:objIdentifier'/>
36
		</xsl:attribute>
37
	</field>
38
	<xsl:if test="substring(./dri:objIdentifier,1,4)='ec::'">
39
		<field name="grantagreementnumber" multiplicity="false" indexId="" label="Grant agreement number">
40
			<xsl:attribute name="value">
41
				<xsl:value-of select="substring(./dri:objIdentifier,5)"/>
42
			</xsl:attribute>
43
		</field>
44
	</xsl:if>
45
	
46
	<!--<field name="repositoryId" multiplicity="false" indexId="???" label="???">
47
		<xsl:attribute name="value">
48
			<xsl:value-of select='./dri:repositoryId'/>
49
		</xsl:attribute>
50
	</field>-->
51
	<!--<field name="dateOfCollection" multiplicity="false" indexId="???" label="???">
52
		<xsl:attribute name="value">
53
			<xsl:value-of select='./dri:dateOfCollection'/>
54
		</xsl:attribute>
55
	</field>-->
56
</xsl:template>
57

    
58
<xsl:template match = "oaf:project">
59

    
60
	<xsl:for-each select = "./acronym">
61
		<field name="name" indexId = "projectacronym" multiplicity="true" label="Project">
62
			<xsl:attribute name="value">
63
				<xsl:value-of select='.'/>
64
			</xsl:attribute>
65
		</field>
66
	</xsl:for-each>
67
	
68
	<xsl:for-each select = "./code">
69
		<field name="code" indexId = "projectcode" multiplicity="true" label="Project code">
70
			<xsl:attribute name="value">
71
				<xsl:value-of select='.'/>
72
			</xsl:attribute>
73
		</field>
74
	</xsl:for-each>
75

    
76
	<xsl:for-each select = "./title">
77
		<field name="title" indexId = "projecttitle" multiplicity="true" label="Title">
78
			<xsl:attribute name="value">
79
				<xsl:value-of select='.'/>
80
			</xsl:attribute>
81
		</field>
82
	</xsl:for-each>
83

    
84
	<xsl:for-each select = "./startdate">
85
		<field name="startyear" indexId = "projectstartyear" multiplicity="true" label="Start year">
86
			<xsl:attribute name="value">
87
				<xsl:value-of select='substring-before(.,"-")'/>
88
			</xsl:attribute>
89
		</field>
90
		<field name="startdate" indexId = "projectstartdate" multiplicity="true" label="Start date">
91
			<xsl:attribute name="value">
92
				<xsl:value-of select='.'/>
93
			</xsl:attribute>
94
		</field>
95
	</xsl:for-each>
96

    
97
	<xsl:for-each select = "./enddate">
98
		<field name="endyear" indexId = "projectendyear" multiplicity="true" label="End year">
99
			<xsl:attribute name="value">
100
				<xsl:value-of select="substring-before(.,'-')"/>
101
			</xsl:attribute>
102
		</field>
103
		<field name="enddate" indexId = "projectenddate" multiplicity="true" label="End date">
104
			<xsl:attribute name="value">
105
				<xsl:value-of select='.'/>
106
			</xsl:attribute>
107
		</field>
108
	</xsl:for-each>
109

    
110
	<xsl:for-each select = "./callidentifier">
111
		<field name="call_identifier" indexId = "projectcallidentifier" multiplicity="true" label="Call">
112
			<xsl:attribute name="value">
113
				<xsl:value-of select='.'/>
114
			</xsl:attribute>
115
		</field>
116
	</xsl:for-each>
117

    
118
	<xsl:for-each select = "./ecsc39">
119
		<field name="ec_sc39" indexId = "projectecsc39" multiplicity="true" label="Special clause 39"> 
120
			<xsl:attribute name="value">
121
				<xsl:value-of select='.'/>
122
			</xsl:attribute>
123
		</field>
124
	</xsl:for-each>
125

    
126
	<xsl:for-each select = "./collectedfrom">
127
		<field name="collectedfrom" indexId = "projectcollectedfrom" multiplicity="true" label="Collected from">
128
                        <xsl:attribute name="value">
129
                                <xsl:value-of select='./@id'/>
130
                        </xsl:attribute>
131
                </field>
132
                <field name="collectedfromname" indexId = "" multiplicity="true" label="Collected from name">
133
                        <xsl:attribute name="value">
134
                                <xsl:value-of select='./@name'/>
135
                        </xsl:attribute>
136
                </field>
137
	</xsl:for-each>
138

    
139

    
140
	<xsl:for-each select = "./contracttype">
141
		<field name="contracttypeid" indexId = "projectcontracttypeid" multiplicity="true" label="Contract type id"> 
142
			<xsl:attribute name="value">
143
				<xsl:value-of select='./@classid'/>
144
			</xsl:attribute>
145
		</field>
146
		<field name="contracttypename" indexId = "projectcontracttypename" multiplicity="true" label="Contract type name"> 
147
			<xsl:attribute name="value">
148
				<xsl:value-of select='./@classname'/>
149
			</xsl:attribute>
150
		</field>
151
	</xsl:for-each>
152

    
153
	<xsl:for-each select = "./pid">
154
		<field name="pidid" indexId = "pidclassid" multiplicity="true" label="Pid">
155
			<xsl:attribute name="value">
156
				<xsl:value-of select='./@classid'/>
157
			</xsl:attribute>
158
		</field>
159
		<field name="pidname" indexId = "pidclassname" multiplicity="true" label="Pid">
160
			<xsl:attribute name="value">
161
				<xsl:value-of select='./@classname'/>
162
			</xsl:attribute>
163
		</field>
164
	</xsl:for-each>
165

    
166
	<xsl:for-each select = "./websiteurl">
167
		<field name="websiteurl" indexId = "projectwebsiteurl" multiplicity="true" label="Website url"> 
168
			<xsl:attribute name="value">
169
				<xsl:value-of select='.'/>
170
			</xsl:attribute>
171
		</field>
172
	</xsl:for-each>
173

    
174
	<xsl:for-each select = "./keywords">
175
		<field name="keywords" indexId = "projectkeywords" multiplicity="true" label="Keywords"> 
176
			<xsl:attribute name="value">
177
				<xsl:value-of select='.'/>
178
			</xsl:attribute>
179
		</field>
180
	</xsl:for-each>
181

    
182
	<xsl:for-each select = "./duration">
183
		<field name="duration" indexId = "projectduration" multiplicity="true" label="Duration"> 
184
			<xsl:attribute name="value">
185
				<xsl:value-of select='.'/>
186
			</xsl:attribute>
187
		</field>
188
	</xsl:for-each>
189

    
190
</xsl:template>
191

    
192

    
193
<!--  RELS  
194
1. person 
195
2. project	
196
3. organisation 
197
4. result  
198
5. datasource 
199
-->
200
<xsl:template match="rel">
201
<!--PERSON-->
202
	<xsl:if test="./to/@type='person'">
203
		<field name="author" indexId = "objIdentifier"  multiplicity="true">
204
			<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
205
			<field name = "personId" indexId ="objIdentifier" multiplicity="false" label="Person id">		
206
				<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
207
			</field>
208
			<field name = "role" indexId ="" multiplicity="false" label="role">		
209
				<xsl:attribute name="value"><xsl:value-of select='./to/@class'/> </xsl:attribute>
210
			</field>
211
			<field name = "fullname" indexId ="personfullname" multiplicity="false" label="Person fullname">		
212
				<xsl:attribute name="value"><xsl:value-of select='./fullname'/> </xsl:attribute>
213
			</field>
214
			<field name = "ranking" indexId ="" multiplicity="false" label="ranking">		
215
				<xsl:attribute name="value"><xsl:value-of select='./ranking'/> </xsl:attribute>
216
			</field>
217
		</field>
218
	</xsl:if>
219
<!--PROJECT-->
220
	<xsl:if test="./to/@type='project'">
221
		<field name="project" indexId = "objIdentifier" multiplicity="true">
222
			<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
223
			<field name = "projectId" indexId ="objIdentifier" multiplicity="false" label="Project id">		
224
				<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
225
			</field>
226
			<field name = "role" indexId ="" multiplicity="false" label="role">		
227
				<xsl:attribute name="value"><xsl:value-of select='./to/@class'/> </xsl:attribute>
228
			</field>
229
			<field name = "projectcode" indexId ="projectcode" multiplicity="false" label="Project(s)">		
230
				<xsl:attribute name="value"><xsl:value-of select='./code'/> </xsl:attribute>
231
			</field>	
232
			<field name = "projectacronym" indexId ="projectacronym" multiplicity="false" label="Project(s)">		
233
				<xsl:attribute name="value"><xsl:value-of select='./acronym'/> </xsl:attribute>
234
			</field>
235
			<field name = "projecttitle" indexId ="projecttitle" multiplicity="false" label="Project title">		
236
				<xsl:attribute name="value"><xsl:value-of select='./title'/> </xsl:attribute>
237
			</field>
238
			<field name = "projectcontracttypeid" indexId ="projectcontracttypeid" multiplicity="false" label="Project contract type id">		
239
				<xsl:attribute name="value"><xsl:value-of select='./contracttype/@classid'/> </xsl:attribute>
240
			</field>
241
			<field name = "projectcontracttypename" indexId ="projectcontracttypename" multiplicity="false" label="Project contract type name">		
242
				<xsl:attribute name="value"><xsl:value-of select='./contracttype/@classname'/> </xsl:attribute>
243
			</field>
244
		</field>
245
	</xsl:if>
246
<!--RESULT-->
247
	<xsl:if test="./to/@type='result'">
248
		<field name="result" indexId = "objIdentifier"  multiplicity="true">
249
			<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
250
			<field name = "resultid" indexId ="objIdentifier" multiplicity="false" label="Result id">		
251
				<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
252
			</field>
253
			<field name = "title" indexId = "resulttitle" multiplicity = "false" label = "Title">
254
				<xsl:attribute name="value">
255
					<xsl:value-of select="./title"/>
256
				</xsl:attribute>
257
			</field>
258
			<field name = "dateofacceptance" indexId = "resultdateofacceptance" multiplicity = "false" label = "Date of acceptance">
259
				<xsl:attribute name="value">
260
					<xsl:value-of select="./dateofacceptance"/>
261
				</xsl:attribute>
262
			</field>
263
			<field name = "resulttypeid" indexId = "resulttypeid" multiplicity = "false" label = "type id">
264
				<xsl:attribute name="value">
265
					<xsl:value-of select="./resulttype/@classid"/>
266
				</xsl:attribute>
267
			</field>
268
			<field name = "resulttypename" indexId = "resulttypename" multiplicity = "false" label = "type name">
269
				<xsl:attribute name="value">
270
					<xsl:value-of select="./resulttype/@classname"/>
271
				</xsl:attribute>
272
			</field>
273
		</field>
274
	</xsl:if>	
275
<!--ORGANIZATION-->
276
	<xsl:if test="./to/@type='organization'">
277
		<field name="organization" indexId = "objIdentifier"  multiplicity="true">
278
			<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
279
			<field name = "organizationid" indexId ="objIdentifier" multiplicity="false" label="Organization id">		
280
				<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
281
			</field>
282
			<field name = "role" indexId ="" multiplicity="false" label="role">		
283
				<xsl:attribute name="value"><xsl:value-of select='./to/@class'/> </xsl:attribute>
284
			</field>
285
			<field name = "legalshortname" indexId ="organizationlegalshortname" multiplicity="false" label="Organization short name">		
286
				<xsl:attribute name="value"><xsl:value-of select='./legalshortname'/> </xsl:attribute>
287
			</field>
288
			<field name = "legalname" indexId ="organizationlegalname" multiplicity="false" label="Organization name">		
289
				<xsl:attribute name="value"><xsl:value-of select='./legalname'/> </xsl:attribute>
290
			</field>
291
			<field name = "websiteurl" indexId ="organizationwebsiteurl" multiplicity="false" label="Website">		
292
				<xsl:attribute name="value"><xsl:value-of select='./websiteurl'/> </xsl:attribute>
293
			</field>
294
			<field name = "countryid" indexId ="organizationcountryid" multiplicity="false" label="Country code">		
295
				<xsl:attribute name="value"><xsl:value-of select='./country/@classid'/> </xsl:attribute>
296
			</field>
297
			<field name = "countryname" indexId ="organizationcountryname" multiplicity="false" label="Country">		
298
				<xsl:attribute name="value"><xsl:value-of select='./country/@classname'/> </xsl:attribute>
299
			</field>
300
			<field name = "participantnumber" indexId ="" multiplicity="false" label="Participant Number">		
301
				<xsl:attribute name="value"><xsl:value-of select='./participantnumber'/> </xsl:attribute>
302
			</field>
303
			<field name = "contactperson" indexId ="" multiplicity="false" label="Contact Person">		
304
				<xsl:attribute name="value"><xsl:value-of select='./contactperson'/> </xsl:attribute>
305
			</field>
306
		</field>
307
	</xsl:if>
308

    
309
</xsl:template>
310

    
311
<xsl:template match="funding_level_2">
312
<field name="funding_level_2" multiplicity="false">
313
		<field name="fundingid" indexId="fundingprogramid" label="">
314
			<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
315
		</field>
316
		<field name="fundingdescription" indexId="fundingprogramdescription" label="">
317
			<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
318
		</field>
319
		<field name="fundingname" indexId="fundingprogramname" label="">
320
			<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
321
		</field>
322
		<field name="fundingclass" indexId="" label="">
323
			<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
324
		</field>
325
</field>
326
</xsl:template>
327

    
328
<xsl:template match="funding_level_1">
329
<field name="funding_level_1" multiplicity="false">
330
	<xsl:choose>
331
		<xsl:when test="./class='wt:fundingStream'">
332
				<field name="fundingid" indexId="fundingstreamid" label="">
333
					<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
334
				</field>
335
				<field name="fundingdescription" indexId="fundingstreamnamedescription" label="">
336
					<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
337
				</field>
338
				<field name="fundingname" indexId="fundingstreamname" label="">
339
					<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
340
				</field>
341
				<field name="fundingclass" indexId="" label="">
342
					<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
343
				</field>
344
		</xsl:when>
345
		<xsl:when test="./class='ec:specificprogram'">
346
				<field name="fundingid" indexId="fundingspecificprogramid" label="">
347
					<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
348
				</field>
349
				<field name="fundingdescription" indexId="fundingspecificprogramdescription" label="">
350
					<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
351
				</field>
352
				<field name="fundingname" indexId="fundingspecificprogramname" label="">
353
					<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
354
				</field>
355
				<field name="fundingclass" indexId="" label="">
356
					<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
357
				</field>
358
		</xsl:when>
359
	</xsl:choose>
360
</field>
361
</xsl:template>
362

    
363
<xsl:template match="funding_level_0">
364
<field name="funding_level_0" multiplicity="false">
365
	<xsl:choose>
366
		<xsl:when test="./class='wt:fundingStream'">
367
				<field name="fundingid" indexId="fundingstreamid" label="">
368
					<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
369
				</field>
370
				<field name="fundingdescription" indexId="fundingstreamnamedescription" label="">
371
					<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
372
				</field>
373
				<field name="fundingname" indexId="fundingstreamname" label="">
374
					<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
375
				</field>
376
				<field name="fundingclass" indexId="" label="">
377
					<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
378
				</field>
379
		</xsl:when>
380
		<xsl:when test="./class='ec:frameworkprogram'">
381
				<field name="fundingid" indexId="fundingframeworkprogramid" label="">
382
					<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
383
				</field>
384
				<field name="fundingdescription" indexId="fundingframeworkprogramdescription" label="">
385
					<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
386
				</field>
387
				<field name="fundingname" indexId="fundingframeworkprogramname" label="">
388
					<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
389
				</field>
390
				<field name="fundingclass" indexId="" label="">
391
					<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
392
				</field>
393
		</xsl:when>
394
	</xsl:choose>
395
</field>
396
</xsl:template>
397

    
398

    
399
<!--xsl:template match="funding[parent[not(node())]]" >
400
	<field name='funding'>
401
		<xsl:choose>
402
				<xsl:when test="./class='ec:program'">	
403
					<field name = "fundingprogramid" indexId = "fundingprogramid" multiplicity="true">
404
						<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
405
						<field name="fundingid" indexId="fundingprogramid" label="">
406
							<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
407
						</field>
408
						<field name="fundingdescription" indexId="fundingprogramdescription" label="">
409
							<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
410
						</field>
411
						<field name="fundingname" indexId="fundingprogramname" label="">
412
							<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
413
						</field>
414
						<field name="fundingclass" indexId="" label="">
415
							<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
416
						</field>
417
						<xsl:apply-templates select="../.."/>
418
					</field>
419
				</xsl:when>
420
				<xsl:when test="./class='ec:specificprogram'">	
421
					<field name = "fundingspecificprogramid" indexId = "fundingspecificprogramid" multiplicity="true">
422
						<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
423
						<field name="fundingid" indexId="fundingspecificprogramid" label="">
424
							<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
425
						</field>
426
						<field name="fundingdescription" indexId="fundingspecificprogramdescription" label="">
427
							<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
428
						</field>
429
						<field name="fundingname" indexId="fundingspecificprogramname" label="">
430
							<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
431
						</field>
432
						<field name="fundingclass" indexId="" label="">
433
							<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
434
						</field>
435
						<xsl:apply-templates select="../.."/>
436
					</field>
437
				</xsl:when>
438
				<xsl:when test="./class='ec:frameworkprogram'">	
439
					<field name = "fundingframeworkprogramid" indexId = "fundingframeworkprogramid" multiplicity="true">
440
						<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
441
						<field name="fundingid" indexId="fundingframeworkprogramid" label="">
442
							<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
443
						</field>
444
						<field name="fundingdescription" indexId="fundingframeworkprogramdescription" label="">
445
							<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
446
						</field>
447
						<field name="fundingname" indexId="fundingframeworkprogramname" label="">
448
							<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
449
						</field>
450
						<field name="fundingclass" indexId="" label="">
451
							<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
452
						</field>
453
						<xsl:apply-templates select="../.."/>
454
					</field>
455
				</xsl:when>
456
				<xsl:when test="./class='wt:fundingStream'">	
457
					<field name = "fundingstreamid" indexId = "fundingstreamid" multiplicity="true">
458
						<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
459
						<field name="fundingid" indexId="fundingstreamid" label="">
460
							<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
461
						</field>
462
						<field name="fundingdescription" indexId="fundingstreamnamedescription" label="">
463
							<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
464
						</field>
465
						<field name="fundingname" indexId="fundingstreamname" label="">
466
							<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
467
						</field>
468
						<field name="fundingclass" indexId="" label="">
469
							<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
470
						</field>
471
						<xsl:apply-templates select="../.."/>
472
					</field>
473
				</xsl:when>
474
			</xsl:choose>	
475
	</field>
476

    
477
</xsl:template>
478

    
479

    
480
<xsl:template match="@* | node()"></xsl:template>
481

    
482
<xsl:template match="funding[parent[node()]]">
483
	
484
	<xsl:choose>		
485
		<xsl:when test="./class='ec:program'">	
486
			<field name = "fundingprogramid" indexId = "fundingprogramid" multiplicity="true">
487
				<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
488
				<field name="fundingid" indexId="fundingprogramid" label="">
489
					<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
490
				</field>
491
				<field name="fundingdescription" indexId="fundingprogramdescription" label="">
492
					<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
493
				</field>
494
				<field name="fundingname" indexId="fundingprogramname" label="">
495
					<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
496
				</field>
497
				<field name="fundingclass" indexId="" label="">
498
					<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
499
				</field>
500
				<xsl:apply-templates select="../.."/>
501
			</field>
502
		</xsl:when>
503
		<xsl:when test="./class='ec:specificprogram'">	
504
			<field name = "fundingspecificprogramid" indexId = "fundingspecificprogramid" multiplicity="true">
505
				<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
506
				<field name="fundingid" indexId="fundingspecificprogramid" label="">
507
					<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
508
				</field>
509
				<field name="fundingdescription" indexId="fundingspecificprogramdescription" label="">
510
					<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
511
				</field>
512
				<field name="fundingname" indexId="fundingspecificprogramname" label="">
513
					<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
514
				</field>
515
				<field name="fundingclass" indexId="" label="">
516
					<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
517
				</field>
518
				<xsl:apply-templates select="../.."/>
519
			</field>
520
		</xsl:when>
521
		<xsl:when test="./class='ec:frameworkprogram'">	
522
			<field name = "fundingframeworkprogramid" indexId = "fundingframeworkprogramid" multiplicity="true">
523
				<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
524
				<field name="fundingid" indexId="fundingframeworkprogramid" label="">
525
					<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
526
				</field>
527
				<field name="fundingdescription" indexId="fundingframeworkprogramdescription" label="">
528
					<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
529
				</field>
530
				<field name="fundingname" indexId="fundingframeworkprogramname" label="">
531
					<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
532
				</field>
533
				<field name="fundingclass" indexId="" label="">
534
					<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
535
				</field>
536
				<xsl:apply-templates select="../.."/>
537
			</field>
538
		</xsl:when>
539
		<xsl:when test="./class='wt:fundingStream'">	
540
			<field name = "fundingstreamid" indexId = "fundingstreamid" multiplicity="true">
541
				<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
542
				<field name="fundingid" indexId="fundingstreamid" label="">
543
					<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
544
				</field>
545
				<field name="fundingdescription" indexId="fundingstreamnamedescription" label="">
546
					<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
547
				</field>
548
				<field name="fundingname" indexId="fundingstreamname" label="">
549
					<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
550
				</field>
551
				<field name="fundingclass" indexId="" label="">
552
					<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
553
				</field>
554
				<xsl:apply-templates select="../.."/>
555
			</field>
556
		</xsl:when>
557
	</xsl:choose>
558
	
559
</xsl:template-->
560

    
561

    
562
</xsl:stylesheet>
563

    
564

    
(17-17/23)