Project

General

Profile

1
<RESOURCE_PROFILE>
2
    <HEADER>
3
        <RESOURCE_IDENTIFIER value="9cb0ed27-005c-4355-beff-f8e9a23c5a08_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
4
        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
5
        <RESOURCE_KIND value="TransformationRuleDSResources"/>
6
        <RESOURCE_URI value=""/>
7
        <DATE_OF_CREATION value="2016-02-17T15:54:56+00:00"/>
8
    </HEADER>
9
    <BODY>
10
        <CONFIGURATION>
11
            <IMPORTED/>
12
            <SCRIPT>
13
                <TITLE>xslt_dc2oaf_narcis</TITLE>
14
                <CODE>&lt;xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.1" 
15
                             xmlns:dri="http://www.driver-repository.eu/namespace/dri" 
16
                             xmlns:dc="http://purl.org/dc/elements/1.1/" 
17
                             xmlns:oaf="http://namespace.openaire.eu/oaf" 
18
                             xmlns:dr="http://www.driver-repository.eu/namespace/dr" 
19
                             xmlns:transformExt="http://namespace.openaire.eu/java/org.apache.commons.codec.digest.DigestUtils" 
20
                             xmlns:TransformationFunction="eu.dnetlib.data.collective.transformation.core.xsl.ext.TransformationFunctionProxy"
21
                             extension-element-prefixes="transformExt TransformationFunction"
22
                             exclude-result-prefixes="transformExt TransformationFunction" &gt;
23
                        &lt;xsl:output indent="yes" omit-xml-declaration="yes"/&gt;
24

    
25
  &lt;xsl:param name="varOfficialName" /&gt;
26
  &lt;xsl:param name="varDsType" /&gt;
27
  &lt;xsl:param name="varDataSourceId" /&gt;
28
  &lt;xsl:param name="varFP7" select="'corda_______::'"/&gt;
29
  &lt;xsl:param name="varH2020" select="'corda__h2020::'"/&gt;
30

    
31
  &lt;xsl:param name="repoCode" select="substring-before(//*[local-name() = 'header']/*[local-name()='recordIdentifier'], ':')"/&gt;
32

    
33
  &lt;xsl:param name="index" select="0"/&gt;
34
  &lt;xsl:param name="transDate" select="current-dateTime()"/&gt;
35
  &lt;xsl:variable name="tf" select="TransformationFunction:getInstance()"/&gt;
36

    
37

    
38

    
39
&lt;xsl:variable name="vCodes"&gt;
40
  &lt;codes&gt;
41
   &lt;code key="uva" value="od_______323"   id="opendoar____::323" name="Universiteit van Amsterdam Digital Academic Repository"/&gt;
42
   &lt;code key="uvapub" value="od_______323"   id="opendoar____::323" name="Universiteit van Amsterdam Digital Academic Repository"/&gt;
43
   &lt;code key="cwi" value="od______2358" id="opendoar____::2358" name="Repository CWI Amsterdam"/&gt; &lt;!-- CWI --&gt;
44
   &lt;code key="eur" value="od______1113"  id="opendoar____::1113" name="Erasmus University Institutional Repository"/&gt;
45
   &lt;code key="wur" value="od_______370"  id="opendoar____::370" name="Wageningen Yield"/&gt;
46
   &lt;code key="uu" value="od_______101"    id="opendoar____::101" name="Utrecht University Repository"/&gt;
47
   &lt;code key="ru" value="od______1236"    id="opendoar____::1236" name="Radboud Repository"/&gt; &lt;!-- Radboud --&gt;
48
   &lt;code key="run" value="od______1236"  id="opendoar____::1236" name="Radboud Repository"/&gt; &lt;!-- Radboud --&gt;
49
   &lt;code key="uvt" value="od_______550"   id="opendoar____::550" name="Tilburg University Repository"/&gt; &lt;!-- Tilburg --&gt;
50
   &lt;code key="aup" value="od________19"   id="opendoar____::19" name="Amsterdam University Press Publications"/&gt; &lt;!-- amsterdam univ. press --&gt;
51
   &lt;code key="rug" value="od_______189"  id="opendoar____::189" name="University of Groningen Digital Archive"/&gt; &lt;!-- groningen --&gt;
52
   &lt;code key="dans" value="r384e1237760"  id="re3data_____::r3d100010214" name="EASY"/&gt; &lt;!--easy --&gt;
53
   &lt;code key="differ" value="differ______"  id="openaire____::75ee19e2-ff9e-47f7-bed6-2e3ee23e2b49" name="Dutch Institute for Fundamental Energy Research"/&gt;
54
   &lt;code key="kit" value="od______1423"  id="opendoar____::1423" name="Search4Dev"/&gt; &lt;!-- search4dev --&gt;
55
   &lt;code key="ul" value="od_______202"  id="opendoar____::202" name="Leiden University Repository"/&gt; &lt;!-- leiden --&gt;
56
   &lt;code key="um" value="od________83"  id="opendoar____::83" name="UM Publications"/&gt;
57
   &lt;code key="knaw" value="od______1476"  id="opendoar____::1476" name="KNAW Repository"/&gt;
58
   &lt;code key="vu" value="od_______369"  id="opendoar____::369" name="DSpace at VU"/&gt;
59
   &lt;code key="ut" value="od_______354"  id="opendoar____::354" name="Universiteit Twente Repository"/&gt;
60
   &lt;code key="hbo" value="hbo_________"  id="openaire____::79c8217f-00ee-4902-9743-9e11b4970c60" name="HBO Kennisbank"/&gt;
61
   &lt;code key="kim" value="kim_________"  id="openaire____::b1b15b72-bf0b-4f91-9f95-dab2e43d3eaa" name="Publicaties KiM"/&gt;
62
   &lt;code key="nivel" value="nivel_____nl"  id="driver______::daf0542d-1ef5-4f9d-80f1-62849b92aefa" name="NIVEL publications"/&gt;
63
   &lt;code key="ntrl" value="od_______913"  id="opendoar____::913" name="Naturalis Publications"/&gt;
64
   &lt;code key="nyenrode" value="nyenrode____"  id="openaire____::e57352f3-516b-42cb-b666-2480233c6513" name="Publications of the University Nyenrode"/&gt;
65
   &lt;code key="ou" value="od_______233"  id="opendoar____::233" name="DSpace at Open Universiteit Nederland "/&gt;
66
   &lt;code key="ptu" value="ptu_________"  id="openaire____::openaire____::f834f1fe-8198-4929-ac0b-b1c1bf166f38" name="Protestantse Theologische Universiteit"/&gt;
67
   &lt;code key="rivm" value="od_______881"  id="opendoar____::881" name="Web-based Archive of RIVM Publications"/&gt;
68
   &lt;code key="scp" value="scp_________"  id="openaire____::088a0087-4bc6-4c38-a052-b446c3b225a7" name="Sociaal en Cultureel Planbureau"/&gt;
69
   &lt;code key="swov" value="swov________"  id="openaire____::06d89df2-b613-4989-9dc3-f60f2fc593f6" name="Stichting Wetenschappelijk Onderzoek Verkeersveiligheid (SWOV) Library Repository"/&gt;
70
   &lt;code key="tno" value="tno_________"  id="openaire____::58fd0ad2-c476-11e5-80b3-0021e9e777ac" name="TNO Repository - hosted by TU Delft Library"/&gt;
71
   &lt;code key="tue" value="od_______567"  id="opendoar____::567" name="Repository TU/e"/&gt;
72
   &lt;code key="tuk" value="tuk_________"  id="openaire____::df55d991-1ebb-459c-aed6-559bcbb1d277::" name="Theological University Kampen"/&gt;
73
   &lt;code key="uvh" value="uvh_______nl"  id="driver______::a422c38b-73de-44bf-a340-a4fd5f0817ea" name="Universiteit voor Humanistiek"/&gt;
74
   &lt;code key="tua" value="tua_________"   id="openaire____::cd073e1e-2fe9-4ea7-aea5-dc6855c347f7" name="Theological University Apeldoorn"/&gt;
75
   &lt;code key="tud" value="od_______571"   id="opendoar____::571" name="TU Delft Repository"/&gt;
76
   &lt;code key="wodc" value="wodc______nl"   id="driver______::03c60250-9d65-44fe-85d3-23503b3303af" name="WODC Repository Ministerie van Veiligheid en Justitie"/&gt; 
77
   &lt;code key="unesco" value="unesco___ihe"  id="driver______::2877c7c4-b57a-4f62-9c16-d7faa5b0b98b" name="UNESCO-IHE Institute for Water Education"/&gt;
78
  &lt;/codes&gt;
79
 &lt;/xsl:variable&gt;
80
&lt;!-- not considered
81
hbo added
82
tno added
83
differ added
84
nyenrode added
85
beeldengeluis todo, not yet found in metadata
86
philips todo, not yet found in metadata
87
scp added
88
swov added
89
tuk added
90
tua added
91
ptu added
92
ut_restricted ? merge with ut?
93
nda
94
neyenrode
95
--&gt;
96
&lt;xsl:key name="kCodeByName" match="code" use="string(@key)"/&gt;
97

    
98

    
99
               &lt;xsl:template name="terminate"&gt;
100
                	&lt;xsl:message terminate="yes"&gt;
101
                             	record is not compliant, transformation is interrupted.
102
                	&lt;/xsl:message&gt;
103
               &lt;/xsl:template&gt;
104

    
105
                        &lt;xsl:template match="/"&gt;
106
                              &lt;record&gt;
107
                                  &lt;xsl:apply-templates select="//*[local-name() = 'header']" /&gt;
108
                                  &lt;metadata&gt;
109
                                    &lt;xsl:call-template name="allElements"&gt;
110
                                            &lt;xsl:with-param name="sourceElement" select="//dc:title"/&gt;
111
                                            &lt;xsl:with-param name="targetElement" select="'dc:title'"/&gt;
112
                                    &lt;/xsl:call-template&gt;
113
                                    &lt;xsl:call-template name="allElements"&gt;
114
                                            &lt;xsl:with-param name="sourceElement" select="//dc:creator"/&gt;
115
                                            &lt;xsl:with-param name="targetElement" select="'dc:creator'"/&gt;
116
                                    &lt;/xsl:call-template&gt;
117
                                    &lt;xsl:call-template name="allElements"&gt;
118
                                            &lt;xsl:with-param name="sourceElement" select="//dc:contributor"/&gt;
119
                                            &lt;xsl:with-param name="targetElement" select="'dc:contributor'"/&gt;
120
                                    &lt;/xsl:call-template&gt;
121
                                    &lt;xsl:call-template name="allElements"&gt;
122
                                            &lt;xsl:with-param name="sourceElement" select="//dc:description"/&gt;
123
                                            &lt;xsl:with-param name="targetElement" select="'dc:description'"/&gt;
124
                                    &lt;/xsl:call-template&gt;
125
                                    &lt;xsl:call-template name="allElements"&gt;
126
                                            &lt;xsl:with-param name="sourceElement" select="//dc:subject"/&gt;
127
                                            &lt;xsl:with-param name="targetElement" select="'dc:subject'"/&gt;
128
                                    &lt;/xsl:call-template&gt;
129
                                    &lt;xsl:call-template name="allElements"&gt;
130
                                            &lt;xsl:with-param name="sourceElement" select="//dc:publisher"/&gt;
131
                                            &lt;xsl:with-param name="targetElement" select="'dc:publisher'"/&gt;
132
                                    &lt;/xsl:call-template&gt;
133
                                    &lt;xsl:call-template name="allElements"&gt;
134
                                            &lt;xsl:with-param name="sourceElement" select="//dc:source"/&gt;
135
                                            &lt;xsl:with-param name="targetElement" select="'dc:source'"/&gt;
136
                                    &lt;/xsl:call-template&gt;
137
                                    &lt;dc:language&gt;
138
                                             &lt;xsl:value-of select="TransformationFunction:convertString($tf, //dc:language, 'Languages')"/&gt;
139
                                    &lt;/dc:language&gt;
140
                                    &lt;xsl:call-template name="allElements"&gt;
141
                                            &lt;xsl:with-param name="sourceElement" select="//dc:rights"/&gt;
142
                                            &lt;xsl:with-param name="targetElement" select="'dc:rights'"/&gt;
143
                                    &lt;/xsl:call-template&gt;
144
                                    &lt;xsl:call-template name="allElements"&gt;
145
                                            &lt;xsl:with-param name="sourceElement" select="//dc:relation"/&gt;
146
                                            &lt;xsl:with-param name="targetElement" select="'dc:relation'"/&gt;
147
                                    &lt;/xsl:call-template&gt;
148
                                    &lt;xsl:if test="not(//dc:identifier[starts-with(., 'http')])"&gt;
149
                                         &lt;xsl:call-template name="terminate"/&gt;
150
                                   &lt;/xsl:if&gt;
151
                                    &lt;xsl:call-template name="allElements"&gt;
152
                                            &lt;xsl:with-param name="sourceElement" select="//dc:identifier[starts-with(., 'http')]"/&gt;
153
                                            &lt;xsl:with-param name="targetElement" select="'dc:identifier'"/&gt;
154
                                    &lt;/xsl:call-template&gt;
155
         &lt;xsl:for-each select="//dc:relation"&gt;
156
            &lt;xsl:if test="matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/fp7/)(\d\d\d\d\d\d)(.*)', 'i')"&gt;
157
                &lt;oaf:projectid&gt;
158
                    &lt;xsl:value-of select="concat($varFP7, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/fp7/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))"/&gt;
159
                &lt;/oaf:projectid&gt;
160
            &lt;/xsl:if&gt;
161
            &lt;xsl:if test="matches(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', 'i')"&gt;
162
                &lt;oaf:projectid&gt;
163
                    &lt;xsl:value-of select="concat($varH2020, replace(normalize-space(.), '(info:eu-repo/grantagreement/ec/h2020/)(\d\d\d\d\d\d)(.*)', '$2', 'i'))"/&gt;
164
                &lt;/oaf:projectid&gt;
165
            &lt;/xsl:if&gt;
166
         &lt;/xsl:for-each&gt;
167

    
168

    
169
&lt;!--
170
                                    &lt;xsl:if test="not(//didl:Component/didl:Resource[@mimeType='application/pdf'])"&gt;
171
                                         &lt;xsl:call-template name="terminate"/&gt;
172
                                   &lt;/xsl:if&gt;
173
--&gt;
174

    
175
                                  &lt;oaf:accessrights&gt;
176
                                    &lt;xsl:value-of select="TransformationFunction:convert($tf, //dc:rights, 'AccessRights')"/&gt;
177
                                  &lt;/oaf:accessrights&gt;
178
                                  &lt;dr:CobjCategory&gt;
179
                                  &lt;xsl:value-of 
180
                 select="TransformationFunction:convertString($tf, //dc:type, 'TextTypologies')" /&gt;
181
         &lt;/dr:CobjCategory&gt;
182

    
183
         &lt;oaf:dateAccepted&gt;
184
               &lt;xsl:value-of select="TransformationFunction:convertString($tf, //dc:date, 'DateISO8601')"/&gt;
185
         &lt;/oaf:dateAccepted&gt;
186

    
187

    
188
&lt;!--
189
                                    &lt;oaf:fulltext&gt;&lt;xsl:value-of select="//didl:Component/didl:Resource[@mimeType='application/pdf']/@ref"/&gt;&lt;/oaf:fulltext&gt;
190
--&gt;
191
         &lt;oaf:hostedBy&gt;
192
            &lt;xsl:attribute name="name"&gt;
193
               &lt;xsl:value-of select="key('kCodeByName', $repoCode, $vCodes)/@name"/&gt;
194
            &lt;/xsl:attribute&gt;
195
            &lt;xsl:attribute name="id"&gt;
196
               &lt;xsl:value-of select="key('kCodeByName', $repoCode, $vCodes)/@id"/&gt;
197
            &lt;/xsl:attribute&gt;
198
         &lt;/oaf:hostedBy&gt;
199
         &lt;oaf:collectedFrom&gt;
200
            &lt;xsl:attribute name="name"&gt;
201
               &lt;xsl:value-of select="$varOfficialName"/&gt;
202
            &lt;/xsl:attribute&gt;
203
            &lt;xsl:attribute name="id"&gt;
204
               &lt;xsl:value-of select="$varDataSourceId"/&gt;
205
            &lt;/xsl:attribute&gt;
206
         &lt;/oaf:collectedFrom&gt;
207
                                  &lt;/metadata&gt;
208
                                &lt;xsl:copy-of select="//*[local-name() = 'about']" /&gt;
209
                              &lt;/record&gt;
210

    
211
                        &lt;/xsl:template&gt;
212

    
213
         &lt;xsl:template name="allElements"&gt;
214
             &lt;xsl:param name="sourceElement"/&gt;
215
             &lt;xsl:param name="targetElement"/&gt;
216
             &lt;xsl:for-each select="$sourceElement"&gt;
217
                &lt;xsl:element name="{$targetElement}"&gt;
218
                    &lt;xsl:value-of select="normalize-space(.)"/&gt;
219
                &lt;/xsl:element&gt;
220
             &lt;/xsl:for-each&gt;
221
          &lt;/xsl:template&gt;
222

    
223

    
224
                      &lt;xsl:template match="//*[local-name() = 'header']"&gt;
225
                         &lt;xsl:copy&gt;
226
                            &lt;xsl:apply-templates  select="node()|@*"/&gt;
227
                             &lt;xsl:element name="dr:dateOfTransformation"&gt;
228
                                 &lt;xsl:value-of select="$transDate"/&gt;
229
                             &lt;/xsl:element&gt;
230
                         &lt;/xsl:copy&gt;
231
                        &lt;/xsl:template&gt;
232

    
233
&lt;!--
234
                       &lt;xsl:template match="dri:objIdentifier"&gt;
235
                         &lt;xsl:variable name="objIdentifier" select="substring-after(//*[local-name() = 'header']/*[local-name()='recordIdentifier'], ':')"/&gt;
236
                         &lt;xsl:variable name="nsPrefix" select="key('kCodeByName', $repoCode, $vCodes)/@value"/&gt;
237
                         &lt;xsl:if test="string-length($nsPrefix) = 0"&gt;
238
                                         &lt;xsl:call-template name="terminate"/&gt;
239
                         &lt;/xsl:if&gt;
240
                        &lt;xsl:copy&gt;
241
                        &lt;xsl:value-of select="concat( $nsPrefix , '::', transformExt:md5Hex(string($objIdentifier)))"/&gt;
242
                        &lt;/xsl:copy&gt;
243
                       &lt;/xsl:template&gt;
244
--&gt;
245
                       &lt;xsl:template match="node()|@*"&gt;
246
                            &lt;xsl:copy&gt;
247
                                 &lt;xsl:apply-templates select="node()|@*"/&gt;
248
                            &lt;/xsl:copy&gt;
249
                       &lt;/xsl:template&gt;
250
                    &lt;/xsl:stylesheet&gt;</CODE>
251
            </SCRIPT>
252
        </CONFIGURATION>
253
        <STATUS/>
254
        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
255
    </BODY>
256
</RESOURCE_PROFILE>
(61-61/62)