Project

General

Profile

1
<RESOURCE_PROFILE>
2
	<HEADER>
3
		<RESOURCE_IDENTIFIER value="_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
4
		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
5
		<RESOURCE_KIND value="TransformationRuleDSResources"/>
6
		<RESOURCE_URI value=""/>
7
		<DATE_OF_CREATION value="2018-06-04T11:15:30+00:00"/>
8
	</HEADER>
9
	<BODY>
10
		<CONFIGURATION>
11
			<IMPORTED/>
12
			<SCRIPT>
13
				<TITLE>SNSF to DB</TITLE>
14
				<CODE>
15
					<![CDATA[
16
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
17

    
18
	<xsl:param name="varDataSourceId"/>
19
	<xsl:param name="namespacePrefix" select="string('snsf_________')"/>
20
	<xsl:param name="quote">"</xsl:param>
21

    
22
	<xsl:template match="/">
23
		<record>
24

    
25
			<xsl:copy-of select=".//*[local-name()='header']"/>
26
			<metadata>
27
				<ROWS>
28
					<xsl:if test="string-length(normalize-space(.//column[@name='Project Title'])) &gt; 0 and string-length(normalize-space(.//column[@name='Project Number'])) &gt; 0">
29

    
30
						<xsl:variable name="projectId" select="concat($namespacePrefix, '::', normalize-space(.//column[@name='Project Number']))"/>
31

    
32
						<xsl:variable name="orgId" select="concat($namespacePrefix, '::', translate(normalize-space(.//column[@name='Institution']), ' ,.', '___'))"/>
33

    
34
						<xsl:variable name="startDate" select=".//column[@name='Start Date']"/>
35
						<xsl:variable name="endDate" select=".//column[@name='End Date']"/>
36

    
37
						<ROW table="projects">
38
							<FIELD name="_dnet_resource_identifier_">
39
								<xsl:value-of select="$projectId"/>
40
							</FIELD>
41
							<FIELD name="id">
42
								<xsl:value-of select="$projectId"/>
43
							</FIELD>
44
							<FIELD name="code">
45
								<xsl:value-of select="normalize-space(.//column[@name='Project Number String'])"/>
46
							</FIELD>
47
							<FIELD name="startdate" type="date" format="dd.MM.yyyy">
48
								<xsl:value-of select="$startDate"/>
49
							</FIELD>
50
							<FIELD name="enddate" type="date" format="dd.MM.yyyy">
51
								<xsl:value-of select="$endDate"/>
52
							</FIELD>
53
							<FIELD name="title">
54
								<xsl:value-of select=".//column[@name='Project Title']"/>
55
							</FIELD>
56
							<FIELD name="acronym"></FIELD>
57
							<FIELD name="provenanceactionclass">sysimport:crosswalk:entityregistry</FIELD>
58
							<FIELD name="provenanceactionscheme">dnet:provenanceActions</FIELD>
59
							<FIELD name="collectedfrom">
60
								<xsl:value-of select="varDataSourceId"/>
61
							</FIELD>
62
							<!-- <FIELD name="???"><xsl:value-of select=".//AbstractNarration" /></FIELD> -->
63
							<xsl:variable name="personName" select="normalize-space(.//column[@name='Responsible Applicant'])"/>
64
							<xsl:if test="string-length($personName) &gt; 0">
65
								<FIELD name="contactfullname">
66
									<xsl:value-of select="$personName"/>
67
								</FIELD>
68
							</xsl:if>
69
							<FIELD name="lastupdate" type="date"><xsl:value-of select="current-dateTime()"/></FIELD>
70
						</ROW>
71

    
72
						<ROW table="dsm_organizations">
73
							<FIELD name="_dnet_resource_identifier_">
74
								<xsl:value-of select="$orgId"/>
75
							</FIELD>
76
							<FIELD name="id">
77
								<xsl:value-of select="$orgId"/>
78
							</FIELD>
79
							<FIELD name="legalname">
80
								<xsl:value-of select=".//column[@name='Institution']"/>
81
							</FIELD>
82
							<FIELD name="collectedfrom">
83
								<xsl:value-of select="varDataSourceId"/>
84
							</FIELD>
85
							<FIELD name="provenanceaction">sysimport:crosswalk:entityregistry</FIELD>
86

    
87
							<FIELD name="optional1">
88
								<xsl:value-of select=".//column[@name='University']"/>
89
							</FIELD>
90
							<FIELD name="lastupdate" type="date"><xsl:value-of select="current-dateTime()"/></FIELD>
91
						</ROW>
92

    
93
						<ROW table="project_organization">
94
							<FIELD name="_dnet_resource_identifier_">
95
								<xsl:value-of select="concat($projectId, '@@', $orgId)"/>
96
							</FIELD>
97

    
98
							<FIELD name="project">
99
								<xsl:value-of select="$projectId"/>
100
							</FIELD>
101
							<FIELD name="resporganization">
102
								<xsl:value-of select="$orgId"/>
103
							</FIELD>
104
							<FIELD name="semanticclass">coordinator</FIELD>
105
						</ROW>
106

    
107
						<xsl:variable name="p0" select="normalize-space(.//column[@name='Funding Instrument Hierarchy'])"/>
108
						<xsl:variable name="p1" select="normalize-space(.//column[@name='Funding Instrument'])"/>
109

    
110
						<xsl:variable name="fundingId">
111
							<xsl:choose>
112
								<xsl:when test="(string-length($p0) &gt; 0) and (string-length($p1) &gt; 0)">
113
									<xsl:value-of select="concat($namespacePrefix, '::SNSF::', $p0, '::', $p1)"/>
114
								</xsl:when>
115
								<xsl:when test="string-length($p0) &gt; 0">
116
									<xsl:value-of select="concat($namespacePrefix, '::SNSF::', $p0)"/>
117
								</xsl:when>
118
								<xsl:when test="string-length($p1) &gt; 0">
119
									<xsl:value-of select="concat($namespacePrefix, '::SNSF::', $p1)"/>
120
								</xsl:when>
121
							</xsl:choose>
122
						</xsl:variable>
123

    
124
						<ROW table="project_fundingpath">
125
							<FIELD name="_dnet_resource_identifier_">
126
								<xsl:value-of select="concat(normalize-space($fundingId),'@@', $projectId)"/>
127
							</FIELD>
128
							<FIELD name="funding">
129
								<xsl:value-of select="normalize-space($fundingId)"/>
130
							</FIELD>
131
							<FIELD name="project">
132
								<xsl:value-of select="$projectId"/>
133
							</FIELD>
134
							<FIELD name="startdate" type="date" format="dd.MM.yyyy">
135
								<xsl:value-of select="$startDate"/>
136
							</FIELD>
137
							<FIELD name="enddate" type="date" format="dd.MM.yyyy">
138
								<xsl:value-of select="$endDate"/>
139
							</FIELD>
140
						</ROW>
141

    
142
					</xsl:if>
143
				</ROWS>
144
			</metadata>
145
		</record>
146
	</xsl:template>
147

    
148
</xsl:stylesheet>
149
]]>
150
				</CODE>
151
			</SCRIPT>
152
		</CONFIGURATION>
153
		<STATUS/>
154
		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
155
	</BODY>
156
</RESOURCE_PROFILE>
(17-17/20)