Project

General

Profile

1
<?xml version="1.0" encoding="UTF-8"?>
2
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3
                xmlns:xs="http://www.w3.org/2001/XMLSchema"
4
                exclude-result-prefixes="xs" version="1.0">
5

    
6
	<xsl:param name="parentDatasourceId"/>
7
	<xsl:param name="namespacePrefix"/>
8

    
9
	<xsl:template match="/">
10

    
11
		<xsl:variable name="prefix" select="string('sfi_________')"/>
12

    
13
		<record
14
		>
15

    
16
			<xsl:copy-of select=".//*[local-name()='header']"/>
17

    
18
			<metadata>
19
				<ROWS>
20
					<xsl:if test="normalize-space(.//column[@name='Proposal ID']) and normalize-space(.//column[@name='Project Title'])">
21
						<xsl:variable name="projectId" select="concat($namespacePrefix, '::',  normalize-space(.//column[@name='Proposal ID']))"/>
22
						<xsl:variable name="startDate" select=".//column[@name='Start Date']"/>
23
						<xsl:variable name="endDate" select=".//column[@name='End Date']"/>
24
						<ROW table="projects">
25
							<FIELD name="_dnet_resource_identifier_">
26
								<xsl:value-of select="$projectId"/>
27
							</FIELD>
28
							<FIELD name="id">
29
								<xsl:value-of select="$projectId"/>
30
							</FIELD>
31
							<FIELD name="code">
32
								<xsl:value-of select=".//column[@name='Proposal ID']"/>
33
							</FIELD>
34
							<FIELD name="title">
35
								<xsl:value-of select=".//column[@name='Project Title']"/>
36
							</FIELD>
37
							<FIELD name="startdate" type="date" format="dd/MM/yyyy">
38
								<xsl:value-of select="$startDate"/>
39
							</FIELD>
40
							<FIELD name="enddate" type="date" format="dd/MM/yyyy">
41
								<xsl:value-of select="$endDate"/>
42
							</FIELD>
43
							<FIELD name="collectedfrom">
44
								<xsl:value-of select="$parentDatasourceId"/>
45
							</FIELD>
46
							<FIELD name="provenanceactionclass">sysimport:crosswalk:entityregistry</FIELD>
47
						</ROW>
48

    
49
						<xsl:if test="normalize-space(.//column[@name='Programme Name'])">
50
							<xsl:variable name="funderId" select="concat($prefix, '::SFI')"/>
51
							<xsl:variable name="fundingId" select="concat($funderId, '::', normalize-space(.//column[@name='Programme Name']))"/>
52
							<ROW table="project_fundingpath">
53
								<FIELD name="_dnet_resource_identifier_">
54
									<xsl:value-of select="concat($fundingId, '@@', $projectId)"/>
55
								</FIELD>
56
								<FIELD name="funding">
57
									<xsl:value-of select="$fundingId"/>
58
								</FIELD>
59
								<FIELD name="project">
60
									<xsl:value-of select="$projectId"/>
61
								</FIELD>
62
								<FIELD name="startdate" type="date" format="dd/MM/yyyy">
63
									<xsl:value-of select="$startDate"/>
64
								</FIELD>
65
								<FIELD name="enddate" type="date" format="dd/MM/yyyy">
66
									<xsl:value-of select="$endDate"/>
67
								</FIELD>
68
							</ROW>
69
						</xsl:if>
70

    
71
						<xsl:if test="normalize-space(.//column[@name='Research Body'])">
72
							<xsl:variable name="organizationId" select="concat($namespacePrefix, '::', normalize-space(.//column[@name='Research Body']))"/>
73
							<ROW table="organizations">
74
								<FIELD name="_dnet_resource_identifier_">
75
									<xsl:value-of select="$organizationId"/>
76
								</FIELD>
77
								<FIELD name="id">
78
									<xsl:value-of select="$organizationId"/>
79
								</FIELD>
80
								<FIELD name="legalname">
81
									<xsl:value-of select=".//column[@name='Research Body']"/>
82
								</FIELD>
83
								<FIELD name="countryclass">IE</FIELD>
84
								<FIELD name="countryscheme">dnet:countries</FIELD>
85
								<FIELD name="collectedfrom">
86
									<xsl:value-of select="$parentDatasourceId"/>
87
								</FIELD>
88
								<FIELD name="provenanceActionClass">sysimport:crosswalk:entityregistry</FIELD>
89
								<FIELD name="provenanceActionScheme">dnet:provenanceActions</FIELD>
90
							</ROW>
91
							<ROW table="project_organization">
92
								<FIELD name="_dnet_resource_identifier_">
93
									<xsl:value-of select='concat($projectId, "@@", $organizationId)'/>
94
								</FIELD>
95
								<FIELD name="project">
96
									<xsl:value-of select="$projectId"/>
97
								</FIELD>
98
								<FIELD name="resporganization">
99
									<xsl:value-of select="$organizationId"/>
100
								</FIELD>
101
								<FIELD name="participantnumber" type="int">1</FIELD>
102
								<FIELD name="semanticclass">coordinator</FIELD>
103
								<FIELD name="semanticscheme">dnet:project_organization_relations</FIELD>
104
							</ROW>
105
						</xsl:if>
106
					</xsl:if>
107
				</ROWS>
108
			</metadata>
109
		</record>
110
	</xsl:template>
111

    
112
</xsl:stylesheet>
(22-22/25)