Project

General

Profile

« Previous | Next » 

Revision 41549

Removing comment for organizations in project xsl - related to #1910

View differences:

modules/uoa-search/trunk/src/main/resources/project.xsl
1 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
    <xsl:apply-templates select="//funder"/>
24
</result>
25
</xsl:template>
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
			<xsl:apply-templates select="//funder"/>
24
		</result>
25
	</xsl:template>
26 26

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

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

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

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

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

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

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

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

  
127
    <xsl:for-each select = "./oamandatepublications">
128
        <field name="oamandatepublications" indexId = "" multiplicity="false" label="OA mandate">
47
		<!--<field name="repositoryId" multiplicity="false" indexId="???" label="???">
129 48
            <xsl:attribute name="value">
130
                <xsl:value-of select='.'/>
49
                <xsl:value-of select='./dri:repositoryId'/>
131 50
            </xsl:attribute>
132
        </field>
133
    </xsl:for-each>
134

  
135
    <xsl:for-each select = "./ecarticle29_3">
136
        <field name="ecarticle29_3" indexId = "" multiplicity="false" label="Data Pilot">
51
        </field>-->
52
		<!--<field name="dateOfCollection" multiplicity="false" indexId="???" label="???">
137 53
            <xsl:attribute name="value">
138
                <xsl:value-of select='.'/>
54
                <xsl:value-of select='./dri:dateOfCollection'/>
139 55
            </xsl:attribute>
140
        </field>
141
    </xsl:for-each>
56
        </field>-->
57
	</xsl:template>
142 58

  
59
	<xsl:template match = "oaf:project">
143 60

  
61
		<xsl:for-each select = "./acronym">
62
			<field name="name" indexId = "projectacronym" multiplicity="true" label="Project">
63
				<xsl:attribute name="value">
64
					<xsl:value-of select='.'/>
65
				</xsl:attribute>
66
			</field>
67
		</xsl:for-each>
144 68

  
145
	<xsl:for-each select = "./collectedfrom">
146
		<field name="collectedfrom" indexId = "projectcollectedfrom" multiplicity="true" label="Collected from">
147
                        <xsl:attribute name="value">
148
                                <xsl:value-of select='./@id'/>
149
                        </xsl:attribute>
150
                </field>
151
                <field name="collectedfromname" indexId = "" multiplicity="true" label="Collected from name">
152
                        <xsl:attribute name="value">
153
                                <xsl:value-of select='./@name'/>
154
                        </xsl:attribute>
155
                </field>
156
	</xsl:for-each>
69
		<xsl:for-each select = "./code">
70
			<field name="code" indexId = "projectcode" multiplicity="true" label="Project code">
71
				<xsl:attribute name="value">
72
					<xsl:value-of select='.'/>
73
				</xsl:attribute>
74
			</field>
75
		</xsl:for-each>
157 76

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

  
159
	<xsl:for-each select = "./contracttype">
160
		<field name="contracttypeid" indexId = "projectcontracttypeid" multiplicity="true" label="Contract type id"> 
161
			<xsl:attribute name="value">
162
				<xsl:value-of select='./@classid'/>
163
			</xsl:attribute>
164
		</field>
165
		<field name="contracttypename" indexId = "projectcontracttypename" multiplicity="true" label="Contract type name"> 
166
			<xsl:attribute name="value">
167
				<xsl:value-of select='./@classname'/>
168
			</xsl:attribute>
169
		</field>
170
	</xsl:for-each>
85
		<xsl:for-each select = "./startdate">
86
			<field name="startyear" indexId = "projectstartyear" multiplicity="true" label="Start year">
87
				<xsl:attribute name="value">
88
					<xsl:value-of select='substring-before(.,"-")'/>
89
				</xsl:attribute>
90
			</field>
91
			<field name="startdate" indexId = "projectstartdate" multiplicity="true" label="Start date">
92
				<xsl:attribute name="value">
93
					<xsl:value-of select='.'/>
94
				</xsl:attribute>
95
			</field>
96
		</xsl:for-each>
171 97

  
172
	<xsl:for-each select = "./pid">
173
		<field name="pidid" indexId = "pidclassid" multiplicity="true" label="Pid">
174
			<xsl:attribute name="value">
175
				<xsl:value-of select='./@classid'/>
176
			</xsl:attribute>
177
		</field>
178
		<field name="pidname" indexId = "pidclassname" multiplicity="true" label="Pid">
179
			<xsl:attribute name="value">
180
				<xsl:value-of select='./@classname'/>
181
			</xsl:attribute>
182
		</field>
183
	</xsl:for-each>
98
		<xsl:for-each select = "./enddate">
99
			<field name="endyear" indexId = "projectendyear" multiplicity="true" label="End year">
100
				<xsl:attribute name="value">
101
					<xsl:value-of select="substring-before(.,'-')"/>
102
				</xsl:attribute>
103
			</field>
104
			<field name="enddate" indexId = "projectenddate" multiplicity="true" label="End date">
105
				<xsl:attribute name="value">
106
					<xsl:value-of select='.'/>
107
				</xsl:attribute>
108
			</field>
109
		</xsl:for-each>
184 110

  
185
	<xsl:for-each select = "./websiteurl">
186
		<field name="websiteurl" indexId = "projectwebsiteurl" multiplicity="true" label="Website url"> 
187
			<xsl:attribute name="value">
188
				<xsl:value-of select='.'/>
189
			</xsl:attribute>
190
		</field>
191
	</xsl:for-each>
111
		<xsl:for-each select = "./callidentifier">
112
			<field name="call_identifier" indexId = "projectcallidentifier" multiplicity="true" label="Call">
113
				<xsl:attribute name="value">
114
					<xsl:value-of select='.'/>
115
				</xsl:attribute>
116
			</field>
117
		</xsl:for-each>
192 118

  
193
	<xsl:for-each select = "./keywords">
194
		<field name="keywords" indexId = "projectkeywords" multiplicity="true" label="Keywords"> 
195
			<xsl:attribute name="value">
196
				<xsl:value-of select='.'/>
197
			</xsl:attribute>
198
		</field>
199
	</xsl:for-each>
119
		<xsl:for-each select = "./ecsc39">
120
			<field name="ec_sc39" indexId = "projectecsc39" multiplicity="true" label="Special clause 39">
121
				<xsl:attribute name="value">
122
					<xsl:value-of select='.'/>
123
				</xsl:attribute>
124
			</field>
125
		</xsl:for-each>
200 126

  
201
	<xsl:for-each select = "./duration">
202
		<field name="duration" indexId = "projectduration" multiplicity="true" label="Duration"> 
203
			<xsl:attribute name="value">
204
				<xsl:value-of select='.'/>
205
			</xsl:attribute>
206
		</field>
207
	</xsl:for-each>
127
		<xsl:for-each select = "./oamandatepublications">
128
			<field name="oamandatepublications" indexId = "" multiplicity="false" label="OA mandate">
129
				<xsl:attribute name="value">
130
					<xsl:value-of select='.'/>
131
				</xsl:attribute>
132
			</field>
133
		</xsl:for-each>
208 134

  
209
    <xsl:for-each select="./fundingtree/funder">
210
        <field name="funder" multiplicity="true">
211
            <field name="funderid" indexId="funderid" label="">
212
                <xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
213
            </field>
214
            <field name="fundershortname" indexId="fundershortname" label="">
215
                <xsl:attribute name="value"> <xsl:value-of select="./shortname"/> </xsl:attribute>
216
            </field>
217
            <field name="fundername" indexId="fundername" label="">
218
                <xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
219
            </field>
220
        </field>
221
    </xsl:for-each>
135
		<xsl:for-each select = "./ecarticle29_3">
136
			<field name="ecarticle29_3" indexId = "" multiplicity="false" label="Data Pilot">
137
				<xsl:attribute name="value">
138
					<xsl:value-of select='.'/>
139
				</xsl:attribute>
140
			</field>
141
		</xsl:for-each>
222 142

  
223
</xsl:template>
224 143

  
225 144

  
226
<!--  RELS  
227
1. person 
228
2. project	
229
3. organisation 
230
4. result  
231
5. datasource 
232
-->
233
<xsl:template match="rel">
234
<!--PERSON-->
235
	<xsl:if test="./to/@type='person'">
236
		<field name="author" indexId = "objIdentifier"  multiplicity="true">
237
			<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
238
			<field name = "personId" indexId ="objIdentifier" multiplicity="false" label="Person id">		
239
				<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
145
		<xsl:for-each select = "./collectedfrom">
146
			<field name="collectedfrom" indexId = "projectcollectedfrom" multiplicity="true" label="Collected from">
147
				<xsl:attribute name="value">
148
					<xsl:value-of select='./@id'/>
149
				</xsl:attribute>
240 150
			</field>
241
			<field name = "role" indexId ="" multiplicity="false" label="role">		
242
				<xsl:attribute name="value"><xsl:value-of select='./to/@class'/> </xsl:attribute>
151
			<field name="collectedfromname" indexId = "" multiplicity="true" label="Collected from name">
152
				<xsl:attribute name="value">
153
					<xsl:value-of select='./@name'/>
154
				</xsl:attribute>
243 155
			</field>
244
			<field name = "fullname" indexId ="personfullname" multiplicity="false" label="Person fullname">		
245
				<xsl:attribute name="value"><xsl:value-of select='./fullname'/> </xsl:attribute>
156
		</xsl:for-each>
157

  
158

  
159
		<xsl:for-each select = "./contracttype">
160
			<field name="contracttypeid" indexId = "projectcontracttypeid" multiplicity="true" label="Contract type id">
161
				<xsl:attribute name="value">
162
					<xsl:value-of select='./@classid'/>
163
				</xsl:attribute>
246 164
			</field>
247
			<field name = "ranking" indexId ="" multiplicity="false" label="ranking">		
248
				<xsl:attribute name="value"><xsl:value-of select='./ranking'/> </xsl:attribute>
165
			<field name="contracttypename" indexId = "projectcontracttypename" multiplicity="true" label="Contract type name">
166
				<xsl:attribute name="value">
167
					<xsl:value-of select='./@classname'/>
168
				</xsl:attribute>
249 169
			</field>
250
		</field>
251
	</xsl:if>
252
<!--PROJECT-->
253
	<xsl:if test="./to/@type='project'">
254
		<field name="project" indexId = "objIdentifier" multiplicity="true">
255
			<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
256
			<field name = "projectId" indexId ="objIdentifier" multiplicity="false" label="Project id">		
257
				<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
170
		</xsl:for-each>
171

  
172
		<xsl:for-each select = "./pid">
173
			<field name="pidid" indexId = "pidclassid" multiplicity="true" label="Pid">
174
				<xsl:attribute name="value">
175
					<xsl:value-of select='./@classid'/>
176
				</xsl:attribute>
258 177
			</field>
259
			<field name = "role" indexId ="" multiplicity="false" label="role">		
260
				<xsl:attribute name="value"><xsl:value-of select='./to/@class'/> </xsl:attribute>
261
			</field>
262
			<field name = "projectcode" indexId ="projectcode" multiplicity="false" label="Project(s)">		
263
				<xsl:attribute name="value"><xsl:value-of select='./code'/> </xsl:attribute>
264
			</field>	
265
			<field name = "projectacronym" indexId ="projectacronym" multiplicity="false" label="Project(s)">		
266
				<xsl:attribute name="value"><xsl:value-of select='./acronym'/> </xsl:attribute>
267
			</field>
268
			<field name = "projecttitle" indexId ="projecttitle" multiplicity="false" label="Project title">		
269
				<xsl:attribute name="value"><xsl:value-of select='./title'/> </xsl:attribute>
270
			</field>
271
			<field name = "projectcontracttypeid" indexId ="projectcontracttypeid" multiplicity="false" label="Project contract type id">		
272
				<xsl:attribute name="value"><xsl:value-of select='./contracttype/@classid'/> </xsl:attribute>
273
			</field>
274
			<field name = "projectcontracttypename" indexId ="projectcontracttypename" multiplicity="false" label="Project contract type name">		
275
				<xsl:attribute name="value"><xsl:value-of select='./contracttype/@classname'/> </xsl:attribute>
276
			</field>
277
		</field>
278
	</xsl:if>
279
<!--RESULT-->
280
	<xsl:if test="./to/@type='result'">
281
		<field name="result" indexId = "objIdentifier"  multiplicity="true">
282
			<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
283
			<field name = "resultid" indexId ="objIdentifier" multiplicity="false" label="Result id">		
284
				<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
285
			</field>
286
			<field name = "title" indexId = "resulttitle" multiplicity = "false" label = "Title">
178
			<field name="pidname" indexId = "pidclassname" multiplicity="true" label="Pid">
287 179
				<xsl:attribute name="value">
288
					<xsl:value-of select="./title"/>
180
					<xsl:value-of select='./@classname'/>
289 181
				</xsl:attribute>
290 182
			</field>
291
			<field name = "dateofacceptance" indexId = "resultdateofacceptance" multiplicity = "false" label = "Date of acceptance">
183
		</xsl:for-each>
184

  
185
		<xsl:for-each select = "./websiteurl">
186
			<field name="websiteurl" indexId = "projectwebsiteurl" multiplicity="true" label="Website url">
292 187
				<xsl:attribute name="value">
293
					<xsl:value-of select="./dateofacceptance"/>
188
					<xsl:value-of select='.'/>
294 189
				</xsl:attribute>
295 190
			</field>
296
			<field name = "resulttypeid" indexId = "resulttypeid" multiplicity = "false" label = "type id">
191
		</xsl:for-each>
192

  
193
		<xsl:for-each select = "./keywords">
194
			<field name="keywords" indexId = "projectkeywords" multiplicity="true" label="Keywords">
297 195
				<xsl:attribute name="value">
298
					<xsl:value-of select="./resulttype/@classid"/>
196
					<xsl:value-of select='.'/>
299 197
				</xsl:attribute>
300 198
			</field>
301
			<field name = "resulttypename" indexId = "resulttypename" multiplicity = "false" label = "type name">
199
		</xsl:for-each>
200

  
201
		<xsl:for-each select = "./duration">
202
			<field name="duration" indexId = "projectduration" multiplicity="true" label="Duration">
302 203
				<xsl:attribute name="value">
303
					<xsl:value-of select="./resulttype/@classname"/>
204
					<xsl:value-of select='.'/>
304 205
				</xsl:attribute>
305 206
			</field>
306
		</field>
307
	</xsl:if>	
308
<!--ORGANIZATION-->
309
	<xsl:if test="./to/@type='organization'">
310
		<field name="organization" indexId = "objIdentifier"  multiplicity="true">
311
			<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
312
			<field name = "organizationid" indexId ="objIdentifier" multiplicity="false" label="Organization id">		
313
				<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
314
			</field>
315
			<field name = "role" indexId ="" multiplicity="false" label="role">		
316
				<xsl:attribute name="value"><xsl:value-of select='./to/@class'/> </xsl:attribute>
317
			</field>
318
			<field name = "legalshortname" indexId ="organizationlegalshortname" multiplicity="false" label="Organization short name">		
319
				<xsl:attribute name="value"><xsl:value-of select='./legalshortname'/> </xsl:attribute>
320
			</field>
321
			<field name = "legalname" indexId ="organizationlegalname" multiplicity="false" label="Organization name">		
322
				<xsl:attribute name="value"><xsl:value-of select='./legalname'/> </xsl:attribute>
323
			</field>
324
			<field name = "websiteurl" indexId ="organizationwebsiteurl" multiplicity="false" label="Website">		
325
				<xsl:attribute name="value"><xsl:value-of select='./websiteurl'/> </xsl:attribute>
326
			</field>
327
			<field name = "countryid" indexId ="organizationcountryid" multiplicity="false" label="Country code">		
328
				<xsl:attribute name="value"><xsl:value-of select='./country/@classid'/> </xsl:attribute>
329
			</field>
330
			<field name = "countryname" indexId ="organizationcountryname" multiplicity="false" label="Country">		
331
				<xsl:attribute name="value"><xsl:value-of select='./country/@classname'/> </xsl:attribute>
332
			</field>
333
			<field name = "participantnumber" indexId ="" multiplicity="false" label="Participant Number">		
334
				<xsl:attribute name="value"><xsl:value-of select='./participantnumber'/> </xsl:attribute>
335
			</field>
336
			<field name = "contactperson" indexId ="" multiplicity="false" label="Contact Person">		
337
				<xsl:attribute name="value"><xsl:value-of select='./contactperson'/> </xsl:attribute>
338
			</field>
339
		</field>
340
	</xsl:if>
207
		</xsl:for-each>
208
	</xsl:template>
341 209

  
342
</xsl:template>
343 210

  
344

  
345
<xsl:template match="funding_level_2">
346
<field name="funding_level_2" multiplicity="false">
347
		<field name="fundingid" indexId="fundinglevel2_id" label="">
348
			<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
349
		</field>
350
		<field name="fundingdescription" indexId="fundingprogramdescription" label="">
351
			<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
352
		</field>
353
		<field name="fundingname" indexId="fundingprogramname" label="">
354
			<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
355
		</field>
356
		<field name="fundingclass" indexId="" label="">
357
			<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
358
		</field>
359
</field>
360
</xsl:template>
361

  
362
<xsl:template match="funding_level_1">
363
<field name="funding_level_1" multiplicity="false">
364
        <field name="fundingid" indexId="fundinglevel1_id" label="">
365
            <xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
366
        </field>
367
        <field name="fundingdescription" indexId="fundingstreamnamedescription" label="">
368
            <xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
369
        </field>
370
        <field name="fundingname" indexId="fundingstreamname" label="">
371
            <xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
372
        </field>
373
        <field name="fundingclass" indexId="" label="">
374
            <xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
375
		</field>
376
</field>
377
</xsl:template>
378

  
379
<xsl:template match="funding_level_0">
380
<field name="funding_level_0" multiplicity="false">
381
    <field name="fundingid" indexId="fundinglevel0_id" label="">
382
        <xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
383
    </field>
384
    <field name="fundingdescription" indexId="fundingstreamnamedescription" label="">
385
        <xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
386
    </field>
387
    <field name="fundingname" indexId="fundingstreamname" 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
</field>
394
</xsl:template>
395

  
396

  
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>
211
	<!--  RELS
212
    1. person
213
    2. project
214
    3. organisation
215
    4. result
216
    5. datasource
217
    -->
218
	<xsl:template match="rel">
219
		<!--PERSON-->
220
		<xsl:if test="./to/@type='person'">
221
			<field name="author" indexId = "objIdentifier"  multiplicity="true">
222
				<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
223
				<field name = "personId" indexId ="objIdentifier" multiplicity="false" label="Person id">
224
					<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
490 225
				</field>
491
				<field name="fundingdescription" indexId="fundingprogramdescription" label="">
492
					<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
226
				<field name = "role" indexId ="" multiplicity="false" label="role">
227
					<xsl:attribute name="value"><xsl:value-of select='./to/@class'/> </xsl:attribute>
493 228
				</field>
494
				<field name="fundingname" indexId="fundingprogramname" label="">
495
					<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
229
				<field name = "fullname" indexId ="personfullname" multiplicity="false" label="Person fullname">
230
					<xsl:attribute name="value"><xsl:value-of select='./fullname'/> </xsl:attribute>
496 231
				</field>
497
				<field name="fundingclass" indexId="" label="">
498
					<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
232
				<field name = "ranking" indexId ="" multiplicity="false" label="ranking">
233
					<xsl:attribute name="value"><xsl:value-of select='./ranking'/> </xsl:attribute>
499 234
				</field>
500
				<xsl:apply-templates select="../.."/>
501 235
			</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>
236
		</xsl:if>
237
		<!--PROJECT-->
238
		<xsl:if test="./to/@type='project'">
239
			<field name="project" indexId = "objIdentifier" multiplicity="true">
240
				<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
241
				<field name = "projectId" indexId ="objIdentifier" multiplicity="false" label="Project id">
242
					<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
508 243
				</field>
509
				<field name="fundingdescription" indexId="fundingspecificprogramdescription" label="">
510
					<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
244
				<field name = "role" indexId ="" multiplicity="false" label="role">
245
					<xsl:attribute name="value"><xsl:value-of select='./to/@class'/> </xsl:attribute>
511 246
				</field>
512
				<field name="fundingname" indexId="fundingspecificprogramname" label="">
513
					<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
247
				<field name = "projectcode" indexId ="projectcode" multiplicity="false" label="Project(s)">
248
					<xsl:attribute name="value"><xsl:value-of select='./code'/> </xsl:attribute>
514 249
				</field>
515
				<field name="fundingclass" indexId="" label="">
516
					<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
250
				<field name = "projectacronym" indexId ="projectacronym" multiplicity="false" label="Project(s)">
251
					<xsl:attribute name="value"><xsl:value-of select='./acronym'/> </xsl:attribute>
517 252
				</field>
518
				<xsl:apply-templates select="../.."/>
253
				<field name = "projecttitle" indexId ="projecttitle" multiplicity="false" label="Project title">
254
					<xsl:attribute name="value"><xsl:value-of select='./title'/> </xsl:attribute>
255
				</field>
256
				<field name = "projectcontracttypeid" indexId ="projectcontracttypeid" multiplicity="false" label="Project contract type id">
257
					<xsl:attribute name="value"><xsl:value-of select='./contracttype/@classid'/> </xsl:attribute>
258
				</field>
259
				<field name = "projectcontracttypename" indexId ="projectcontracttypename" multiplicity="false" label="Project contract type name">
260
					<xsl:attribute name="value"><xsl:value-of select='./contracttype/@classname'/> </xsl:attribute>
261
				</field>
519 262
			</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>
263
		</xsl:if>
264
		<!--RESULT-->
265
		<xsl:if test="./to/@type='result'">
266
			<field name="result" indexId = "objIdentifier"  multiplicity="true">
267
				<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
268
				<field name = "resultid" indexId ="objIdentifier" multiplicity="false" label="Result id">
269
					<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
526 270
				</field>
527
				<field name="fundingdescription" indexId="fundingframeworkprogramdescription" label="">
528
					<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
271
				<field name = "title" indexId = "resulttitle" multiplicity = "false" label = "Title">
272
					<xsl:attribute name="value">
273
						<xsl:value-of select="./title"/>
274
					</xsl:attribute>
529 275
				</field>
530
				<field name="fundingname" indexId="fundingframeworkprogramname" label="">
531
					<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
276
				<field name = "dateofacceptance" indexId = "resultdateofacceptance" multiplicity = "false" label = "Date of acceptance">
277
					<xsl:attribute name="value">
278
						<xsl:value-of select="./dateofacceptance"/>
279
					</xsl:attribute>
532 280
				</field>
533
				<field name="fundingclass" indexId="" label="">
534
					<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
281
				<field name = "resulttypeid" indexId = "resulttypeid" multiplicity = "false" label = "type id">
282
					<xsl:attribute name="value">
283
						<xsl:value-of select="./resulttype/@classid"/>
284
					</xsl:attribute>
535 285
				</field>
536
				<xsl:apply-templates select="../.."/>
286
				<field name = "resulttypename" indexId = "resulttypename" multiplicity = "false" label = "type name">
287
					<xsl:attribute name="value">
288
						<xsl:value-of select="./resulttype/@classname"/>
289
					</xsl:attribute>
290
				</field>
537 291
			</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>
292
		</xsl:if>
293
		<!--ORGANIZATION-->
294
		<xsl:if test="./to/@type='organization'">
295
			<field name="organization" indexId = "objIdentifier"  multiplicity="true">
296
				<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
297
				<field name = "organizationid" indexId ="objIdentifier" multiplicity="false" label="Organization id">
298
					<xsl:attribute name="value"><xsl:value-of select='./to'/> </xsl:attribute>
544 299
				</field>
545
				<field name="fundingdescription" indexId="fundingstreamnamedescription" label="">
546
					<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
300
				<field name = "role" indexId ="" multiplicity="false" label="role">
301
					<xsl:attribute name="value"><xsl:value-of select='./to/@class'/> </xsl:attribute>
547 302
				</field>
548
				<field name="fundingname" indexId="fundingstreamname" label="">
549
					<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
303
				<field name = "legalshortname" indexId ="organizationlegalshortname" multiplicity="false" label="Organization short name">
304
					<xsl:attribute name="value"><xsl:value-of select='./legalshortname'/> </xsl:attribute>
550 305
				</field>
551
				<field name="fundingclass" indexId="" label="">
552
					<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
306
				<field name = "legalname" indexId ="organizationlegalname" multiplicity="false" label="Organization name">
307
					<xsl:attribute name="value"><xsl:value-of select='./legalname'/> </xsl:attribute>
553 308
				</field>
554
				<xsl:apply-templates select="../.."/>
309
				<field name = "websiteurl" indexId ="organizationwebsiteurl" multiplicity="false" label="Website">
310
					<xsl:attribute name="value"><xsl:value-of select='./websiteurl'/> </xsl:attribute>
311
				</field>
312
				<field name = "countryid" indexId ="organizationcountryid" multiplicity="false" label="Country code">
313
					<xsl:attribute name="value"><xsl:value-of select='./country/@classid'/> </xsl:attribute>
314
				</field>
315
				<field name = "countryname" indexId ="organizationcountryname" multiplicity="false" label="Country">
316
					<xsl:attribute name="value"><xsl:value-of select='./country/@classname'/> </xsl:attribute>
317
				</field>
318
				<field name = "participantnumber" indexId ="" multiplicity="false" label="Participant Number">
319
					<xsl:attribute name="value"><xsl:value-of select='./participantnumber'/> </xsl:attribute>
320
				</field>
321
				<field name = "contactperson" indexId ="" multiplicity="false" label="Contact Person">
322
					<xsl:attribute name="value"><xsl:value-of select='./contactperson'/> </xsl:attribute>
323
				</field>
555 324
			</field>
556
		</xsl:when>
557
	</xsl:choose>
558
	
559
</xsl:template-->
325
		</xsl:if>
560 326

  
327
	</xsl:template>
561 328

  
562
</xsl:stylesheet>
563 329

  
330
	<xsl:template match="funding_level_2">
331
		<field name="funding_level_2" multiplicity="false">
332
			<field name="fundingid" indexId="fundinglevel2_id" label="">
333
				<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
334
			</field>
335
			<field name="fundingdescription" indexId="fundingprogramdescription" label="">
336
				<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
337
			</field>
338
			<field name="fundingname" indexId="fundingprogramname" 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
		</field>
345
	</xsl:template>
564 346

  
347
	<xsl:template match="funding_level_1">
348
		<field name="funding_level_1" multiplicity="false">
349
			<field name="fundingid" indexId="fundinglevel1_id" label="">
350
				<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
351
			</field>
352
			<field name="fundingdescription" indexId="fundingstreamnamedescription" label="">
353
				<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
354
			</field>
355
			<field name="fundingname" indexId="fundingstreamname" label="">
356
				<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
357
			</field>
358
			<field name="fundingclass" indexId="" label="">
359
				<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
360
			</field>
361
		</field>
362
	</xsl:template>
363

  
364
	<xsl:template match="funding_level_0">
365
		<field name="funding_level_0" multiplicity="false">
366
			<field name="fundingid" indexId="fundinglevel0_id" label="">
367
				<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
368
			</field>
369
			<field name="fundingdescription" indexId="fundingstreamnamedescription" label="">
370
				<xsl:attribute name="value"> <xsl:value-of select="./description"/> </xsl:attribute>
371
			</field>
372
			<field name="fundingname" indexId="fundingstreamname" label="">
373
				<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
374
			</field>
375
			<field name="fundingclass" indexId="" label="">
376
				<xsl:attribute name="value"> <xsl:value-of select="./class"/> </xsl:attribute>
377
			</field>
378
		</field>
379
	</xsl:template>
380

  
381

  
382
	<xsl:template match="funder">
383
		<field name="funder" multiplicity="true">
384
			<field name="funderid" indexId="funderid" label="">
385
				<xsl:attribute name="value"> <xsl:value-of select="./id"/> </xsl:attribute>
386
			</field>
387
			<field name="fundershortname" indexId="fundershortname" label="">
388
				<xsl:attribute name="value"> <xsl:value-of select="./shortname"/> </xsl:attribute>
389
			</field>
390
			<field name="fundername" indexId="fundername" label="">
391
				<xsl:attribute name="value"> <xsl:value-of select="./name"/> </xsl:attribute>
392
			</field>
393
		</field>
394
	</xsl:template>
395

  
396
</xsl:stylesheet>

Also available in: Unified diff