Project

General

Profile

1
<RESOURCE_PROFILE>
2
    <HEADER>
3
        <RESOURCE_IDENTIFIER value="1af2a06a-2485-4b3b-8109-49bfd2aa7883_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>MIUR to DB</TITLE>
14
                <CODE><![CDATA[
15
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
16
    xmlns:utils="eu.dnetlib.data.transform.xml.AbstractDNetXsltFunctions">
17

    
18
    <xsl:param name="varDataSourceId"/>
19
    <xsl:variable name="namespacePrefix" select="string('miur________')"/>
20

    
21
    <xsl:variable name="dateFormat" select="string('yyyy-MM-dd')"/>
22
    <xsl:variable name="funderID" select="concat($namespacePrefix, '::MIUR')"/>
23
    <xsl:variable name="fundingId">
24
        <xsl:value-of
25
            select="concat($funderID, '::', translate(.//column[@name = 'FUNDING_STREAM'], ' ', ''))"
26
        />
27
    </xsl:variable>
28
    <xsl:variable name="quot">"</xsl:variable>
29
  <xsl:variable name="organizationId" select="concat($namespacePrefix,'::',utils:md5(.//column[@name='ORGANIZATION_INVOLVED']))"/>
30

    
31
    <xsl:template match="/">
32
        <record>
33

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

    
36
            <metadata>
37
                <ROWS>
38
                    <xsl:variable name="projectId"
39
                        select="concat($namespacePrefix, '::', normalize-space(.//column[@name = 'PROJECT_IDENTIFIER']))"/>
40
                    <xsl:variable name="startDate"
41
                        select="replace(.//column[@name = 'START_DATE'], '/', '-')"/>
42
                    <xsl:variable name="endDate"
43
                        select="replace(.//column[@name = 'END_DATE'], '/', '-')"/>
44
                    <xsl:variable name="contact" select="tokenize(.//column[@name='PRINCIPAL_INVESTIGATOR'],' ')"/>
45

    
46
                    <ROW table="projects">
47
                        <FIELD name="_dnet_resource_identifier_">
48
                            <xsl:value-of select="$projectId"/>
49
                        </FIELD>
50
                        <FIELD name="id">
51
                            <xsl:value-of select="$projectId"/>
52
                        </FIELD>
53
                        <FIELD name="code">
54
                            <xsl:value-of
55
                                select="normalize-space(.//column[@name = 'PROJECT_IDENTIFIER'])"/>
56
                        </FIELD>
57
                        <FIELD name="title">
58
                            <xsl:value-of select=".//column[@name = 'PROJECT_TITLE']"/>
59
                        </FIELD>
60
                        <xsl:if test=".//column[@name = 'ACRONYM']!=''">
61
                        <FIELD name="acronym">
62
                            <xsl:value-of select=".//column[@name = 'ACRONYM']"/>
63
                        </FIELD></xsl:if>
64
                        <FIELD name="startdate" type="date" format="{$dateFormat}">
65
                            <xsl:value-of select="$startDate"/>
66
                        </FIELD>
67
                        <FIELD name="enddate" type="date" format="{$dateFormat}">
68
                            <xsl:value-of select="$endDate"/>
69
                        </FIELD>
70
                        <FIELD name="duration" type="int">
71
                            <xsl:value-of select=".//column[@name = 'DURATION_MONTHS']"/>
72
                        </FIELD>
73
                        <xsl:if test=".//column[@name='PRINCIPAL_INVESTIGATOR']!=''">
74
                        <FIELD name="contactfullname">
75
                            <xsl:value-of select="concat($contact[1],', ', $contact[2])"/>
76
                        </FIELD>
77
                        </xsl:if>
78
                        <xsl:if test=".//column[@name='SETTORE']!=''">
79
                        <FIELD name="optional2">
80
                            <xsl:value-of select="concat('{',$quot,'settore',$quot,':',$quot,.//column[@name='SETTORE'],$quot,'}')"/>
81
                        </FIELD>
82
                        </xsl:if>
83
                        <FIELD name="collectedfrom">
84
                            <xsl:value-of select="$varDataSourceId"/>
85
                        </FIELD>
86
                        <FIELD name="provenanceactionclass"
87
                            >sysimport:crosswalk:entityregistry</FIELD>
88
                        <FIELD name="provenanceactionscheme">dnet:provenanceActions</FIELD>
89
                        <FIELD name="oa_mandate_for_publications" type="boolean">false</FIELD>
90
                        <FIELD name="lastupdate" type="date"><xsl:value-of select="current-dateTime()"/></FIELD>
91
                    </ROW>
92
                    <ROW table="project_fundingpath">
93
                        <FIELD name="_dnet_resource_identifier_">
94
                            <xsl:value-of select="concat($fundingId, '@@', $projectId)"/>
95
                        </FIELD>
96
                        <FIELD name="funding">
97
                            <xsl:value-of select="$fundingId"/>
98
                        </FIELD>
99
                        <FIELD name="project">
100
                            <xsl:value-of select="$projectId"/>
101
                        </FIELD>
102
                        <FIELD name="startdate" type="date" format="{$dateFormat}">
103
                            <xsl:value-of select="$startDate"/>
104
                        </FIELD>
105
                        <FIELD name="enddate" type="date" format="{$dateFormat}">
106
                            <xsl:value-of select="$endDate"/>
107
                        </FIELD>
108
                    </ROW>
109
                    <xsl:if test=".//column[@name='ORGANIZATION_INVOLVED']!=''">
110
                    <ROW table="dsm_organizations">
111

    
112
                        <FIELD name="_dnet_resource_identifier_">
113
                            <xsl:value-of select="$organizationId" />
114
                        </FIELD>
115
                        <FIELD name="id">
116
                            <xsl:value-of select="$organizationId" />
117
                        </FIELD>
118
                        <FIELD name="legalname">
119
                            <xsl:value-of select="normalize-space(.//column[@name='ORGANIZATION_INVOLVED'])" />
120
                        </FIELD>
121
                        <FIELD name="country">
122
                            <xsl:value-of select="string('IT')" />
123
                        </FIELD>
124
                        <FIELD name="collectedfrom">
125
                            <xsl:value-of select="$varDataSourceId" />
126
                        </FIELD>
127
                        <FIELD name="provenanceaction">sysimport:crosswalk:entityregistry</FIELD>
128
                        <FIELD name="lastupdate" type="date"><xsl:value-of select="current-dateTime()"/></FIELD>
129
                    </ROW>
130
                    <ROW table="project_organization">
131
                        <FIELD name="_dnet_resource_identifier_">
132
                            <xsl:value-of select='concat($projectId, "@@", $organizationId)' />
133
                        </FIELD>
134
                        <FIELD name="project">
135
                            <xsl:value-of select="$projectId" />
136
                        </FIELD>
137
                        <FIELD name="resporganization">
138
                            <xsl:value-of select="$organizationId" />
139
                        </FIELD>
140
                        <FIELD name="semanticclass">coordinator</FIELD>
141
                    </ROW>
142
                    </xsl:if>
143
                </ROWS>
144
            </metadata>
145
        </record>
146
    </xsl:template>
147
</xsl:stylesheet>
148
]]>
149
                </CODE>
150
            </SCRIPT>
151
        </CONFIGURATION>
152
        <STATUS/>
153
        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
154
    </BODY>
155
</RESOURCE_PROFILE>
(16-16/29)