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>AKA to DB</TITLE>
14
                <CODE>
15
                    <![CDATA[
16
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
17
                xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:utils="eu.dnetlib.data.transform.xml.AbstractDNetXsltFunctions"
18
                exclude-result-prefixes="xs" version="2.0">
19

    
20
    <xsl:param name="parentDatasourceId"/>
21
    <xsl:param name="namespacePrefix"/>
22
    <xsl:param name="quote">"</xsl:param>
23

    
24
    <xsl:variable name="funderID" select="concat($namespacePrefix, '::AKA')"/>
25

    
26

    
27
    <!--<xsl:variable name="stream" select="normalize-space(.//column[@name='FUNDING STREAM(S)'])"/>-->
28
    <xsl:variable name="fundingID">
29

    
30
        <xsl:value-of select="$funderID"/>
31
    </xsl:variable>
32

    
33
    <xsl:variable name="projectId" select="concat($namespacePrefix, '::',  normalize-space(.//column[@name='Decision No.']))"/>
34

    
35
    <xsl:variable name="fundingPeriod" select="tokenize(.//column[@name='Funding period'],'-')"/>
36
    <xsl:variable name="startDate" select="normalize-space($fundingPeriod[1])"/>
37
    <xsl:variable name="endDate" select="normalize-space($fundingPeriod[2])"/>
38

    
39
    <xsl:variable name="dateFormat" select="string('dd.MM.yyyy')"/>
40
    <xsl:variable name="projectTitle" select="normalize-space(.//column[@name='Project title'])"/>
41

    
42
    <xsl:template match="/">
43
        <record>
44

    
45
            <xsl:copy-of select=".//*[local-name()='header']"/>
46
            <metadata>
47
                <xsl:if test="string-length($projectTitle) &gt; 0 and string-length($projectId) &gt; 0">
48
                    <ROWS>
49
                        <ROW table="projects">
50
                            <FIELD name="_dnet_resource_identifier_">
51
                                <xsl:value-of select="$projectId"/>
52
                            </FIELD>
53
                            <FIELD name="id">
54
                                <xsl:value-of select="$projectId"/>
55
                            </FIELD>
56
                            <FIELD name="code">
57
                                <xsl:value-of select="normalize-space(.//column[@name='Decision No.'])"/>
58
                            </FIELD>
59
                            <FIELD name="startdate" type="date" format="{$dateFormat}">
60
                                <xsl:value-of select="$startDate"/>
61
                            </FIELD>
62
                            <FIELD name="enddate" type="date" format="{$dateFormat}">
63
                                <xsl:value-of select="$endDate"/>
64
                            </FIELD>
65
                            <FIELD name="title">
66
                                <xsl:value-of select="$projectTitle"/>
67
                            </FIELD>
68
                            <FIELD name="call_identifier">
69
                                <xsl:value-of select=".//column[@name='Call']"/>
70
                            </FIELD>
71
                            <FIELD name="optional1">
72
                                <xsl:value-of select="concat(.//column[@name='Funding'], ' €')"/>
73
                            </FIELD>
74
                            <FIELD name="provenanceActionClass">sysimport:crosswalk:entityregistry</FIELD>
75
                            <FIELD name="provenanceActionScheme">dnet:provenanceActions</FIELD>
76
                            <FIELD name="collectedfrom">
77
                                <xsl:value-of select="$parentDatasourceId"/>
78
                            </FIELD>
79
                            <FIELD name="oa_mandate_for_publications" type="boolean">false</FIELD>
80
                        </ROW>
81

    
82
                        <ROW table="project_fundingpath">
83
                            <FIELD name="_dnet_resource_identifier_">
84
                                <xsl:value-of select="concat($fundingID,'@@', $projectId)"/>
85
                            </FIELD>
86
                            <FIELD name="funding">
87
                                <xsl:value-of select="$fundingID"/>
88
                            </FIELD>
89
                            <FIELD name="project">
90
                                <xsl:value-of select="$projectId"/>
91
                            </FIELD>
92
                            <FIELD name="startdate" type="date" format="{$dateFormat}">
93
                                <xsl:value-of select="$startDate"/>
94
                            </FIELD>
95
                            <FIELD name="enddate" type="date" format="{$dateFormat}">
96
                                <xsl:value-of select="$endDate"/>
97
                            </FIELD>
98
                        </ROW>
99
                        <xsl:variable name="organizationId" select="concat($namespacePrefix,'::',utils:md5(normalize-space(.//column[@name='Organisation'])))"/>
100
                        <ROW table = "dsm_organizations">
101
                            <FIELD name="_dnet_resource_identifier_">
102
                                <xsl:value-of select="$organizationId"/>
103
                            </FIELD>
104
                            <FIELD name="id">
105
                                <xsl:value-of select="$organizationId"/>
106
                            </FIELD>
107
                            <FIELD name="legalname">
108
                                <xsl:value-of select="normalize-space(.//column[@name='Organisation'])"/>
109
                            </FIELD>
110
                            <FIELD name="collectedfrom">
111
                                <xsl:value-of select="$parentDatasourceId"/>
112
                            </FIELD>
113
                            <FIELD name="provenanceActionClass">sysimport:crosswalk:entityregistry</FIELD>
114
                            <FIELD name="provenanceActionScheme">dnet:provenanceActions</FIELD>
115
                        </ROW>
116
                        <ROW table="project_organization">
117
                            <FIELD name="_dnet_resource_identifier_">
118
                                <xsl:value-of select='concat($projectId, "@@", $organizationId)'/>
119
                            </FIELD>
120
                            <FIELD name="project">
121
                                <xsl:value-of select="$projectId"/>
122
                            </FIELD>
123
                            <FIELD name="resporganization">
124
                                <xsl:value-of select="$organizationId"/>
125
                            </FIELD>
126
                            <FIELD name="semanticclass">participant</FIELD>
127
                            <FIELD name="semanticscheme">dnet:project_organization_relations</FIELD>
128
                        </ROW>
129
                    </ROWS>
130
                </xsl:if>
131
            </metadata>
132
        </record>
133

    
134
    </xsl:template>
135
</xsl:stylesheet>
136
                    ]]>
137
                </CODE>
138
            </SCRIPT>
139
        </CONFIGURATION>
140
        <STATUS/>
141
        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
142
    </BODY>
143
</RESOURCE_PROFILE>
(1-1/19)