Revision 60329
Added by Miriam Baglioni about 3 years ago
modules/dnet-openaireplus-profiles/trunk/src/main/resources/eu/dnetlib/test/profiles/TransformationRuleDSResources/TransformationRuleDSResourceType/funders/anr2db.xml | ||
---|---|---|
23 | 23 |
<xsl:variable name="funderID" select="concat($namespacePrefix, '::ANR')"/> |
24 | 24 |
|
25 | 25 |
<!--<xsl:variable name="fundingId"> |
26 |
<xsl:value-of
|
|
27 |
select="concat($funderID, '::', translate(.//column[@name = 'FUNDING STREAM'], ' ', ''))"
|
|
28 |
/>
|
|
29 |
</xsl:variable>
|
|
30 |
-->
|
|
26 |
<xsl:value-of |
|
27 |
select="concat($funderID, '::', translate(.//column[@name = 'FUNDING STREAM'], ' ', ''))" |
|
28 |
/> |
|
29 |
</xsl:variable> |
|
30 |
--> |
|
31 | 31 |
<xsl:variable name="fundingId"> |
32 | 32 |
<xsl:value-of select="$funderID"/> |
33 | 33 |
</xsl:variable> |
34 | 34 |
<xsl:variable name="quot">"</xsl:variable> |
35 |
<xsl:variable name="dollaro">$</xsl:variable> |
|
35 | 36 |
<xsl:variable name="Id"> |
36 |
<xsl:value-of select="normalize-space(.//column[@isID='true'])"/>
|
|
37 |
<xsl:value-of select="normalize-space(.//column[@isID = 'true'])"/>
|
|
37 | 38 |
</xsl:variable> |
38 | 39 |
<xsl:template name="terminate"> |
39 |
<xsl:message terminate="yes"> record is not compliant, transformation is |
|
40 |
interrupted. </xsl:message>
|
|
40 |
<xsl:message terminate="yes"> record is not compliant, transformation is interrupted.
|
|
41 |
</xsl:message> |
|
41 | 42 |
</xsl:template> |
42 | 43 |
<xsl:template match="/"> |
43 | 44 |
<xsl:choose> |
44 |
<xsl:when test=".//column[@name = 'TitreUk (SIM et autres sources complémentaires)'] | .//column[@name = 'TitreFr (SIM et autres sources complémentaires)'] | .//column[@name = 'Projet Nom Complet'] | .//column[@name = 'Acronyme (SIM)'] | .//column[@name = 'Acronyme']"> |
|
45 |
<xsl:when |
|
46 |
test=".//column[@name = 'Titre.Francais'] | .//column[@name = 'Titre.Anglais'] | .//column[@name = 'Acronyme']"> |
|
45 | 47 |
<record> |
46 | 48 |
|
47 | 49 |
<xsl:copy-of select=".//*[local-name() = 'header']"/> |
... | ... | |
51 | 53 |
<xsl:variable name="projectId" |
52 | 54 |
select="concat($namespacePrefix, '::', $Id)"/> |
53 | 55 |
<!-- <xsl:variable name="startDate" |
54 |
select="replace(.//column[@name = 'PROJECT STARTING DATE'], '/', '-')"/>
|
|
55 |
<xsl:variable name="endDate"
|
|
56 |
select="replace(.//column[@name = 'PROJECT COMPLETION DATE'], '/', '-')"/>
|
|
57 |
-->
|
|
56 |
select="replace(.//column[@name = 'PROJECT STARTING DATE'], '/', '-')"/> |
|
57 |
<xsl:variable name="endDate" |
|
58 |
select="replace(.//column[@name = 'PROJECT COMPLETION DATE'], '/', '-')"/> |
|
59 |
--> |
|
58 | 60 |
|
59 | 61 |
<ROW table="projects"> |
60 | 62 |
<FIELD name="_dnet_resource_identifier_"> |
... | ... | |
64 | 66 |
<xsl:value-of select="$projectId"/> |
65 | 67 |
</FIELD> |
66 | 68 |
<FIELD name="code"> |
67 |
<xsl:value-of |
|
68 |
select="$Id"/> |
|
69 |
<xsl:value-of select="$Id"/> |
|
69 | 70 |
</FIELD> |
70 | 71 |
<xsl:choose> |
71 |
<xsl:when test=".//column[@name = 'TitreUk (SIM et autres sources complémentaires)']"> |
|
72 |
<xsl:when |
|
73 |
test=".//column[@name = 'Titre.Anglais']"> |
|
72 | 74 |
<FIELD name="title"> |
73 |
<xsl:value-of select=".//column[@name = 'TitreUk (SIM et autres sources complémentaires)']"/> |
|
75 |
<xsl:value-of |
|
76 |
select=".//column[@name = 'Titre.Anglais']" |
|
77 |
/> |
|
74 | 78 |
</FIELD> |
75 | 79 |
</xsl:when> |
76 |
<xsl:when test=".//column[@name = 'TitreFr (SIM et autres sources complémentaires)']"> |
|
80 |
<xsl:when |
|
81 |
test=".//column[@name = 'Titre.Francais']"> |
|
77 | 82 |
<FIELD name="title"> |
78 |
<xsl:value-of select=".//column[@name = 'TitreFr (SIM et autres sources complémentaires)']"/> |
|
83 |
<xsl:value-of |
|
84 |
select=".//column[@name = 'Titre.Francais']" |
|
85 |
/> |
|
79 | 86 |
</FIELD> |
80 | 87 |
</xsl:when> |
81 |
<xsl:when test=".//column[@name = 'Projet Nom Complet']"> |
|
82 |
<FIELD name="title"> |
|
83 |
<xsl:value-of select=".//column[@name = 'Projet Nom Complet']"/> |
|
84 |
</FIELD> |
|
85 |
</xsl:when> |
|
86 | 88 |
<xsl:otherwise> |
87 | 89 |
<FIELD name="title"> |
88 |
<xsl:value-of select=".//column[@name = 'Acronyme (SIM)'] | .//column[@name = 'Acronyme']"/> |
|
90 |
<xsl:value-of |
|
91 |
select=".//column[@name = 'Acronyme']" |
|
92 |
/> |
|
89 | 93 |
</FIELD> |
90 | 94 |
</xsl:otherwise> |
91 | 95 |
</xsl:choose> |
92 | 96 |
|
93 | 97 |
|
94 | 98 |
<FIELD name="acronym"> |
95 |
<xsl:value-of select=".//column[@name = 'Acronyme (SIM)'] | .//column[@name = 'Acronyme']"/> |
|
99 |
<xsl:value-of |
|
100 |
select=".//column[@name = 'Acronyme (SIM)'] | .//column[@name = 'Acronyme']" |
|
101 |
/> |
|
96 | 102 |
</FIELD> |
97 | 103 |
<!-- <FIELD name="startdate" type="date" format="{$dateFormat}"> |
98 |
<xsl:value-of select="$startDate"/> |
|
99 |
</FIELD> |
|
100 |
<FIELD name="enddate" type="date" format="{$dateFormat}"> |
|
101 |
<xsl:value-of select="$endDate"/> |
|
102 |
</FIELD>--> |
|
104 |
<xsl:value-of select="$startDate"/> |
|
105 |
</FIELD> |
|
106 |
<FIELD name="enddate" type="date" format="{$dateFormat}"> |
|
107 |
<xsl:value-of select="$endDate"/> |
|
108 |
</FIELD>--> <xsl:if test=".//column[@name = 'Responsable_scientifique']"> |
|
109 |
<FIELD name ="contactfullname"> |
|
110 |
<xsl:value-of select="normalize-space(.//column[@name='Responsable_scientifique'])"/> |
|
111 |
</FIELD> |
|
112 |
</xsl:if> |
|
103 | 113 |
|
114 |
<xsl:if test=".//column[@name = 'Aide_allouee']"> |
|
115 |
<FIELD name="fundedamount" type="float"> |
|
116 |
|
|
117 |
<xsl:value-of select=".//column[@name = 'Aide_allouee']"/> |
|
118 |
</FIELD> |
|
119 |
<FIELD name="currency"> |
|
120 |
<xsl:value-of select="string('EUR')"/> |
|
121 |
</FIELD> |
|
122 |
</xsl:if> |
|
123 |
<xsl:if test=".//column[@name = 'Resume.Francais'] or .//column[@name = 'Resume.Anglais']"> |
|
124 |
<xsl:choose> |
|
125 |
<xsl:when test=".//column[@name = 'Resume.Anglais']"> |
|
126 |
<FIELD name="summary"> |
|
127 |
<xsl:value-of select=".//column[@name = 'Resume.Anglais']"/> |
|
128 |
</FIELD> |
|
129 |
</xsl:when> |
|
130 |
<xsl:otherwise> |
|
131 |
<FIELD name="summary"> |
|
132 |
<xsl:value-of select=".//column[@name = 'Resume.Francais']"/> |
|
133 |
</FIELD> |
|
134 |
</xsl:otherwise> |
|
135 |
</xsl:choose> |
|
136 |
</xsl:if> |
|
104 | 137 |
<FIELD name="collectedfrom"> |
105 | 138 |
<xsl:value-of select="$varDataSourceId"/> |
106 | 139 |
</FIELD> |
107 | 140 |
<FIELD name="provenanceactionclass" |
108 | 141 |
>sysimport:crosswalk:entityregistry</FIELD> |
109 | 142 |
<FIELD name="provenanceactionscheme">dnet:provenanceActions</FIELD> |
110 |
<FIELD name="oa_mandate_for_publications" type="boolean">false</FIELD> |
|
111 |
<FIELD name="lastupdate" type="date"><xsl:value-of select="current-dateTime()"/></FIELD> |
|
143 |
<FIELD name="oa_mandate_for_publications" type="boolean" |
|
144 |
>false</FIELD> |
|
145 |
<FIELD name="lastupdate" type="date"> |
|
146 |
<xsl:value-of select="current-dateTime()"/> |
|
147 |
</FIELD> |
|
112 | 148 |
</ROW> |
149 |
<xsl:if test=".//column[@name = 'Partenaire.Coordinature']"> |
|
150 |
<xsl:variable name="Coord"> |
|
151 |
<xsl:value-of select="utils:md5(.//column[@name = 'Partenaire.Coordinature'])"/> |
|
152 |
</xsl:variable> |
|
153 |
<xsl:variable name="organizationId" > |
|
154 |
<xsl:value-of select="concat($namespacePrefix, '::', $Coord)"/> |
|
155 |
</xsl:variable> |
|
156 |
<ROW table="dsm_organizations"> |
|
157 |
<FIELD name="_dnet_resource_identifier_"> |
|
158 |
<xsl:value-of select="$organizationId"/> |
|
159 |
</FIELD> |
|
160 |
<FIELD name="id"> |
|
161 |
<xsl:value-of select="$organizationId"/> |
|
162 |
</FIELD> |
|
163 |
<FIELD name="lastupdate" type="date"><xsl:value-of select="current-dateTime()"/></FIELD> |
|
164 |
|
|
165 |
<FIELD name="legalname"> |
|
166 |
<xsl:value-of select=".//column[@name = 'Partenaire.Coordinature']"/> |
|
167 |
</FIELD> |
|
168 |
|
|
169 |
<FIELD name="collectedfrom"> |
|
170 |
<xsl:value-of select="$varDataSourceId"/> |
|
171 |
</FIELD> |
|
172 |
<FIELD name="provenanceaction">sysimport:crosswalk:entityregistry</FIELD> |
|
173 |
<FIELD name="trust" type="float"> |
|
174 |
<xsl:value-of select="0.81"/> |
|
175 |
</FIELD> |
|
176 |
</ROW> |
|
177 |
|
|
178 |
<ROW table="project_organization"> |
|
179 |
<FIELD name="_dnet_resource_identifier_"> |
|
180 |
<xsl:value-of select='concat($projectId, "@@", $organizationId)'/> |
|
181 |
</FIELD> |
|
182 |
|
|
183 |
<FIELD name="project"> |
|
184 |
<xsl:value-of select="$projectId"/> |
|
185 |
</FIELD> |
|
186 |
<FIELD name="resporganization"> |
|
187 |
<xsl:value-of select="$organizationId"/> |
|
188 |
</FIELD> |
|
189 |
|
|
190 |
|
|
191 |
<FIELD name="semanticclass">coordinator</FIELD> |
|
192 |
|
|
193 |
|
|
194 |
|
|
195 |
</ROW> |
|
196 |
</xsl:if> |
|
197 |
|
|
198 |
<xsl:if test=".//column[@name = 'Partenaire.Nom_organisme']"> |
|
199 |
<xsl:for-each select="tokenize(.//column[@name = 'Partenaire.Nom_organisme'],'@')"> |
|
200 |
<xsl:if test="string-length(.) > 0"> |
|
201 |
<xsl:variable name="organizationId" > |
|
202 |
<xsl:value-of select="concat($namespacePrefix, '::', utils:md5(.))"/> |
|
203 |
</xsl:variable> |
|
204 |
<ROW table="dsm_organizations"> |
|
205 |
<FIELD name="_dnet_resource_identifier_"> |
|
206 |
<xsl:value-of select="$organizationId"/> |
|
207 |
</FIELD> |
|
208 |
<FIELD name="id"> |
|
209 |
<xsl:value-of select="$organizationId"/> |
|
210 |
</FIELD> |
|
211 |
<FIELD name="lastupdate" type="date"><xsl:value-of select="current-dateTime()"/></FIELD> |
|
212 |
|
|
213 |
<FIELD name="legalname"> |
|
214 |
<xsl:value-of select="."/> |
|
215 |
</FIELD> |
|
216 |
|
|
217 |
<FIELD name="collectedfrom"> |
|
218 |
<xsl:value-of select="$varDataSourceId"/> |
|
219 |
</FIELD> |
|
220 |
<FIELD name="provenanceaction">sysimport:crosswalk:entityregistry</FIELD> |
|
221 |
<FIELD name="trust" type="float"> |
|
222 |
<xsl:value-of select="0.81"/> |
|
223 |
</FIELD> |
|
224 |
</ROW> |
|
225 |
|
|
226 |
<ROW table="project_organization"> |
|
227 |
<FIELD name="_dnet_resource_identifier_"> |
|
228 |
<xsl:value-of select='concat($projectId, "@@", $organizationId)'/> |
|
229 |
</FIELD> |
|
230 |
|
|
231 |
<FIELD name="project"> |
|
232 |
<xsl:value-of select="$projectId"/> |
|
233 |
</FIELD> |
|
234 |
<FIELD name="resporganization"> |
|
235 |
<xsl:value-of select="$organizationId"/> |
|
236 |
</FIELD> |
|
237 |
|
|
238 |
|
|
239 |
|
|
240 |
|
|
241 |
<FIELD name="semanticclass">participant</FIELD> |
|
242 |
|
|
243 |
</ROW> |
|
244 |
</xsl:if> |
|
245 |
</xsl:for-each> |
|
246 |
|
|
247 |
|
|
248 |
</xsl:if> |
|
249 |
|
|
250 |
|
|
113 | 251 |
<ROW table="project_fundingpath"> |
114 | 252 |
<FIELD name="_dnet_resource_identifier_"> |
115 | 253 |
<xsl:value-of select="concat($fundingId, '@@', $projectId)"/> |
... | ... | |
133 | 271 |
</record> |
134 | 272 |
</xsl:when> |
135 | 273 |
<xsl:otherwise> |
136 |
<xsl:call-template name="terminate"></xsl:call-template>
|
|
274 |
<xsl:call-template name="terminate"/>
|
|
137 | 275 |
</xsl:otherwise> |
138 | 276 |
</xsl:choose> |
139 | 277 |
|
140 | 278 |
</xsl:template> |
141 | 279 |
</xsl:stylesheet> |
280 |
|
|
142 | 281 |
]]> |
143 | 282 |
</CODE> |
144 | 283 |
</SCRIPT> |
Also available in: Unified diff
changed TR for new data with more information