Project

General

Profile

« Previous | Next » 

Revision 53315

renamed folder

View differences:

modules/dnet-openaire-schema/trunk/oai_dc/oaf-to-oai_dc-0.1.xsl
1
<xsl:stylesheet xmlns:dc="http://purl.org/dc/elements/1.1/"
2
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3
    xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
4
    xmlns:oaf="http://namespace.openaire.eu/oaf" version="1.0" exclude-result-prefixes="oaf">
5

  
6
    <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
7

  
8
    <xsl:template match="//oaf:result">
9
        <oai_dc:dc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
10
            <xsl:apply-templates/>
11
        </oai_dc:dc>
12
    </xsl:template>
13
    <xsl:template match="subject">
14
        <dc:subject>
15
            <xsl:value-of select="."/>
16
        </dc:subject>
17
    </xsl:template>
18
    <xsl:template match="oaf:result/publisher">
19
        <dc:publisher>
20
            <xsl:value-of select="."/>
21
        </dc:publisher>
22
    </xsl:template>
23

  
24
    <!-- classname of instanceType for dataset is currently UNKNOWN and we want to skip it -->
25
    <xsl:template
26
        match="oaf:result/resulttype | instanceType[./@classname!='Unknown'] | resourceType[./@classname != '']">
27
        <dc:type xml:lang="eng">
28
            <xsl:value-of select="./@classname"/>
29
        </dc:type>
30
    </xsl:template>
31
    <xsl:template match="language[./@classid != '']">
32
        <dc:language>
33
            <xsl:value-of select="./@classid"/>
34
        </dc:language>
35
    </xsl:template>
36
    <xsl:template match="description">
37
        <dc:description>
38
            <xsl:value-of select="."/>
39
        </dc:description>
40
    </xsl:template>
41
    <xsl:template match="source | collectedFrom/@name">
42
        <dc:source>
43
            <xsl:value-of select="."/>
44
        </dc:source>
45
    </xsl:template>
46
    <xsl:template match="oaf:result/title">
47
        <dc:title>
48
            <xsl:value-of select="."/>
49
        </dc:title>
50
    </xsl:template>
51
    <xsl:template match="oaf:result/dateofacceptance">
52
        <dc:date>
53
            <xsl:value-of select="concat('date of acceptance: ', .)"/>
54
        </dc:date>
55
    </xsl:template>
56
    <xsl:template match="oaf:result/embargoenddate">
57
        <dc:date>
58
            <xsl:value-of select="concat('end of embargo: ', .)"/>
59
        </dc:date>
60
    </xsl:template>
61
    <xsl:template match="format">
62
        <dc:format>
63
            <xsl:value-of select="."/>
64
        </dc:format>
65
    </xsl:template>
66
    <xsl:template match="originalId | pid">
67
        <dc:identifier>
68
            <xsl:value-of select="."/>
69
        </dc:identifier>
70
    </xsl:template>
71
    <xsl:template match="bestlicense">
72
        <dc:rights>
73
            <xsl:value-of select="./@classname"/>
74
        </dc:rights>
75
    </xsl:template>
76
    <xsl:template match="rel[./to/@class='hasAuthor']">
77
        <dc:creator>
78
            <xsl:value-of select="./fullname"/>
79
        </dc:creator>
80
    </xsl:template>
81
    <xsl:template match="rel[./to/@class='hasContributor']">
82
        <dc:contributor>
83
            <xsl:value-of select="./fullname"/>
84
        </dc:contributor>
85
    </xsl:template>
86
    <xsl:template match="rel[./to/@class='isProducedBy']">
87
        <dc:relation>
88
            <xsl:value-of select="concat(./acronym, ', grant id: ', ./code)"/>
89
        </dc:relation>
90
    </xsl:template>
91

  
92
    <!-- Links from dataset to publications: only title and openaire identifiers are available...would be better to have the original id, or a pid... -->
93
    <xsl:template match="rel[/to/@class='isRelatedTo']">
94
        <dc:relation>
95
            <xsl:value-of select="./to"/>
96
        </dc:relation>
97
        <dc:relation>
98
            <xsl:value-of select="./title"/>
99
        </dc:relation>
100
    </xsl:template>
101
    <xsl:template match="context | category | concept">
102
        <dc:relation>
103
            <xsl:value-of select="./@label"/>
104
        </dc:relation>
105
    </xsl:template>
106
    <xsl:template match="webresource/url">
107
        <dc:relation>
108
            <xsl:value-of select="."/>
109
        </dc:relation>
110
    </xsl:template>
111

  
112

  
113
    <!-- Override default template -->
114
    <xsl:template match="text()|@*"/>
115
</xsl:stylesheet>
modules/dnet-openaire-schema/trunk/oai_dc/oaf-to-oai_dc-0.2.xsl
1
<!-- 
2
    (M): Mandatory
3
    (R): Reccomended
4
    (M w A): Mandatory when Applicable
5
-->
6
<xsl:stylesheet xmlns:dc="http://purl.org/dc/elements/1.1/"
7
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
8
    xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
9
    xmlns:oaf="http://namespace.openaire.eu/oaf" version="2.0" exclude-result-prefixes="oaf">
10

  
11

  
12
    <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
13

  
14
    <xsl:variable name="openaireNamespace" select="string('oai:dnet:')"/>
15

  
16
    <xsl:template match="//oaf:entity">
17
        <oai_dc:dc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
18
            xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
19
            <xsl:apply-templates/>
20
        </oai_dc:dc>
21
    </xsl:template>
22

  
23
    <!-- 
24
       Titles (M): based on title/@classname
25
        <dc:title>main title:subtitle</dc:title>
26
        <dc:title>alternative title</dc:title>
27
        <dc:title>translated title</dc:title>
28
        
29
        We have only "main title" for now: let's keep it simple here...
30
   -->
31
    <xsl:template match="oaf:result/title">
32
        <dc:title>
33
            <xsl:value-of select="normalize-space(./text())"/>
34
        </dc:title>
35
    </xsl:template>
36

  
37
    <!-- Creators (M) -->
38
    <xsl:template match="oaf:result//rel[./to/@class='hasAuthor']">
39
        <dc:creator>
40
            <xsl:value-of select="./fullname"/>
41
        </dc:creator>
42
    </xsl:template>
43

  
44
    <!-- Contributors (R) not currently available-->
45
    <xsl:template match="oaf:result//rel[./to/@class='hasContributor']">
46
        <dc:contributor>
47
            <xsl:value-of select="./fullname"/>
48
        </dc:contributor>
49
    </xsl:template>
50

  
51
    <!--
52
        projectId (M w A)
53
        <dc:relation>info:eu-repo/grantAgreement/Funder/FundingProgram/ProjectID/[Jurisdiction]/[ProjectName]/[ProjectAcronym]</dc:relation>
54
        <dc:relation>info:eu-repo/grantAgreement/EC/FP7/12345//The project name/ACRO</dc:relation>
55
        <dc:relation>info:eu-repo/grantAgreement/EC/FP7/67891/EU/The 2nd project name/ACRO2</dc:relation>
56
        
57
        The rel to project:
58
         <rel>
59
            <to scheme="dnet:result_project_relations" class="isProducedBy" type="project">project_openaireid</to>
60
            <code>249516</code>
61
            <acronym>VOICE</acronym>
62
            <title>xxx</title>
63
            <contracttype schemename="ec:FP7contractTypes" classname="aaa" schemeid="ec:FP7contractTypes" classid="aaa"/>
64
             <funding>
65
                <funding_level_0>FP7</funding_level_0>
66
                <funding_level_1>FP7::SP2</funding_level_1>
67
                <funding_level_2>FP7::SP2::ERC</funding_level_2>
68
             </funding>
69
        </rel>
70
        
71
        The funding program is funding_level_0.
72
        The funder must be inferred from the contract type - until the Funders won't be added explicitely in the record.
73
    -->
74
    <xsl:template match="oaf:result//rel[./to/@class='isProducedBy']">
75
        <xsl:variable name="funder">
76
            <xsl:choose>
77
                <xsl:when test="./contracttype/@schemeid = 'ec:FP7contractTypes'">
78
                    <xsl:value-of select="string('EC')"/>
79
                </xsl:when>
80
                <xsl:when test="./contracttype/@schemeid = 'wt:contractTypes'">
81
                    <xsl:value-of select="string('WT')"/>
82
                </xsl:when>
83
                <xsl:when test="./contracttype/@schemeid = 'fct:contractTypes'">
84
                    <xsl:value-of select="string('FCT')"/>
85
                </xsl:when>
86
            </xsl:choose>
87
        </xsl:variable>
88
        <xsl:variable name="fundingProgramme">
89
            <xsl:choose>
90
                <xsl:when test="$funder = 'EC'">
91
                    <xsl:value-of select="./funding/funding_level_0"/>
92
                </xsl:when>
93
                <xsl:when test="$funder = 'WT'">
94
                    <xsl:value-of select="substring-after(./funding_level_1/text(), 'WT::')"/>
95
                </xsl:when>
96
                <xsl:when test="$funder = 'FCT'">
97
                    <xsl:value-of select="substring-after(./funding_level_1/text(), 'FCT::')"/>
98
                </xsl:when>
99
            </xsl:choose>
100
        </xsl:variable>
101
        <xsl:variable name="jurisdiction">
102
            <xsl:choose>
103
                <xsl:when test="$funder = 'EC'">
104
                    <xsl:value-of select="string('EU')"/>
105
                </xsl:when>
106
                <xsl:when test="$funder = 'WT'">
107
                    <xsl:value-of select="string('')"/>
108
                </xsl:when>
109
                <xsl:when test="$funder = 'FCT'">
110
                    <xsl:value-of select="string('PT')"/>
111
                </xsl:when>
112
                <xsl:otherwise/>
113
            </xsl:choose>
114
        </xsl:variable>
115
        <dc:relation>
116
            <xsl:value-of
117
                select="concat('info:eu-repo/grantAgreement/', $funder, '/', $fundingProgramme, '/', ./code, '/', $jurisdiction, '/' , ./title, '/', ./acronym)"
118
            />
119
        </dc:relation>
120
    </xsl:template>
121

  
122
    <!-- 
123
        Access level (M) [from bestlicense@classid] : one of 
124
        <dc:rights>info:eu-repo/semantics/closedAccess</dc:rights>
125
        <dc:rights>info:eu-repo/semantics/embargoedAccess</dc:rights>
126
        <dc:rights>info:eu-repo/semantics/restrictedAccess</dc:rights>
127
        <dc:rights>info:eu-repo/semantics/openAccess</dc:rights>
128
    -->
129
    <xsl:template match="oaf:result/bestlicense">
130
        <xsl:variable name="license">
131
            <xsl:choose>
132
                <xsl:when test="@classid='OPEN'">
133
                    <xsl:value-of select="string('info:eu-repo/semantics/openAccess')"/>
134
                </xsl:when>
135
                <xsl:when test="@classid='CLOSED'">
136
                    <xsl:value-of select="string('info:eu-repo/semantics/closedAccess')"/>
137
                </xsl:when>
138
                <xsl:when test="@classid='RESTRICTED'">
139
                    <xsl:value-of select="string('info:eu-repo/semantics/restrictedAccess')"/>
140
                </xsl:when>
141
                <xsl:when test="@classid='EMBARGO'">
142
                    <xsl:value-of select="string('info:eu-repo/semantics/embargoedAccess')"/>
143
                </xsl:when>
144
                <xsl:otherwise>
145
                    <xsl:value-of select="string('info:eu-repo/semantics/closedAccess')"/>
146
                </xsl:otherwise>
147
            </xsl:choose>
148
        </xsl:variable>
149
        <dc:rights>
150
            <xsl:value-of select="$license"/>
151
        </dc:rights>
152
    </xsl:template>
153

  
154
    <!-- EmbargoEnd (M w A)  (only when rights == info:eu-repo/semantics/embargoedAccess), from embargoenddate
155
    <dc:date>info:eu-repo/date/embargoEnd/1960-01-01</dc:date>
156
     -->
157
    <xsl:template match="oaf:result/embargoenddate/text()">
158
        <dc:date>
159
            <xsl:value-of select="concat('info:eu-repo/date/embargoEnd/', .)"/>
160
        </dc:date>
161
    </xsl:template>
162

  
163

  
164
    <!--
165
    <xsl:template match="oaf:result/originalId/text()">
166
        <dc:identifier>
167
            <xsl:value-of select="normalize-space(.)"/>
168
        </dc:identifier>
169
    </xsl:template>
170
    -->
171

  
172
    <!-- Alternative Identifier (R), idType from pid@classid  
173
    <dc:relation>
174
        info:eu-repo/semantics/altIdentifier/[idType]/[ID]
175
    </dc:relation>
176
    -->
177
    <xsl:template match="oaf:result/pid[./text()]">
178
        <dc:relation>
179
            <xsl:value-of
180
                select="concat('info:eu-repo/semantics/altIdentifier/', @classid, '/', ./text())"/>
181
        </dc:relation>
182
    </xsl:template>
183

  
184
    <xsl:template match="oaf:result/children/instance/webresource/url/text()">
185
        <dc:identifier>
186
            <xsl:value-of select="."/>
187
        </dc:identifier>
188
    </xsl:template>
189
    <!--Referenced Publication (R), from extraInfo[@typology='citations']/citation, idType from citation/id/@type, ID from citation/id/@value
190
    <dc:relation>
191
        info:eu-repo/semantics/reference/[idType]/[ID]
192
    </dc:relation>
193
    <dc:relation>
194
        info:eu-repo/semantics/reference/doi/10.1234/789.1
195
    </dc:relation>
196
    <dc:relation>
197
        info:eu-repo/semantics/reference/pmid/1234567
198
    </dc:relation>
199
     -->
200
    <xsl:template match="extraInfo[@typology='citations']//citation/id[./@type]">
201
        <xsl:choose>
202
            <xsl:when test="@type='openaire'">
203
                <dc:relation>
204
                    <xsl:value-of
205
                        select="concat('info:eu-repo/semantics/reference/', @type, '/', $openaireNamespace, @value)"
206
                    />
207
                </dc:relation>
208

  
209
            </xsl:when>
210
            <xsl:otherwise>
211
                <dc:relation>
212
                    <xsl:value-of
213
                        select="concat('info:eu-repo/semantics/reference/', @type, '/', @value)"/>
214
                </dc:relation>
215
            </xsl:otherwise>
216
        </xsl:choose>
217

  
218
    </xsl:template>
219

  
220
    <!-- Dataset reference (R), from: rel[./resulttyype/@classname='dataset'] 
221
    <dc:relation>info:eu-repo/semantics/dataset/[idType]/[ID]</dc:relation>
222
    only available when we'll expand the PIDs in the relationship 
223
    <dc:relation>info:eu-repo/semantics/dataset/doi/10.1234/789.1</dc:relation>
224
    For now we can only use openaire ids, from  rel[./resulttyype/@classname='dataset']/to/text()
225
    <dc:relation>info:eu-repo/semantics/dataset/openaire/oai:dnet:[OPENAIRE_ID]</dc:relation>
226
    -->
227
    <xsl:template match="oaf:result//rel[./resulttype/@classid='dataset']">
228
        <dc:relation>
229
            <xsl:value-of
230
                select="concat('info:eu-repo/semantics/dataset/openaire/', $openaireNamespace, ./to/text())"
231
            />
232
        </dc:relation>
233
    </xsl:template>
234

  
235

  
236
    <!-- Subjects (M w A)
237
    <dc:subject>bag of words</dc:subject>
238
     If subject@classname != keywords, then we have a classification scheme to encode
239
    <dc:subject>info:eu-repo/classification/[scheme]/[value]</dc:subject>
240
    <dc:subject>info:eu-repo/classification/dcc/whatever</dc:subject>
241
    -->
242
    <xsl:template match="oaf:result/subject[@classname='keyword']">
243
        <dc:subject>
244
            <xsl:value-of select="normalize-space(./text())"/>
245
        </dc:subject>
246
    </xsl:template>
247
    <xsl:template match="oaf:result/subject[not(@classname='keyword') and @classid != '']">
248
        <dc:subject>
249
            <xsl:value-of
250
                select="concat('info:eu-repo/classification/', @classid, '/', normalize-space(./text()))"
251
            />
252
        </dc:subject>
253
    </xsl:template>
254

  
255
    <!--description (M w A) from description-->
256
    <xsl:template match="oaf:result/description/text()">
257
        <dc:description>
258
            <xsl:value-of select="normalize-space(.)"/>
259
        </dc:description>
260
    </xsl:template>
261
    <!--publisher (M w A) from publisher -->
262
    <xsl:template match="oaf:result/publisher/text()">
263
        <dc:publisher>
264
            <xsl:value-of select="normalize-space(.)"/>
265
        </dc:publisher>
266
    </xsl:template>
267
    <!-- Publication date (M) from dateofacceptance -->
268
    <xsl:template match="oaf:result/dateofacceptance/text()">
269
        <dc:date>
270
            <xsl:value-of select="normalize-space(.)"/>
271
        </dc:date>
272
    </xsl:template>
273

  
274
    <!-- 
275
        Publication type (M)  where [type] is /instancetype[1]/classname (dnet:publication_resource vocabulary). 
276
        A second dc:type (uncontrolled) can be used. 
277
        <dc:type>info:eu-repo/semantics/[type]</dc:type>
278
    -->
279
    <xsl:template match="oaf:result/children/instance/instancetype | oaf:result/resourcetype">
280
        <xsl:variable name="theInstanceType">
281
            <xsl:choose>
282
                <xsl:when test="@classname='Unknown'">
283
                    <xsl:value-of select="string('info:eu-repo/semantics/other')"/>
284
                </xsl:when>
285
                <xsl:when test="@classname=''">
286
                    <xsl:value-of select="string('info:eu-repo/semantics/other')"/>
287
                </xsl:when>
288
                <xsl:otherwise>
289
                    <xsl:call-template name="ConvertWordsToCamelCase">
290
                        <xsl:with-param name="text">
291
                            <xsl:value-of select="lower-case(./@classname)"/>
292
                        </xsl:with-param>
293
                    </xsl:call-template>
294
                </xsl:otherwise>
295
            </xsl:choose>
296

  
297
        </xsl:variable>
298
        <dc:type>
299
            <xsl:value-of select="concat('info:eu-repo/semantics/',$theInstanceType)"/>
300
        </dc:type>
301
    </xsl:template>
302
    <!--
303
    <xsl:template match="oaf:result/resulttype">
304
        <dc:type>
305
            <xsl:value-of select="./@classname"/>
306
        </dc:type>
307
    </xsl:template>
308
    -->
309

  
310
    <!-- Format (R), in theory from format, not sure we are filling it
311
    <dc:format>mediaType of the digital manifestation of the resource</dc:format>
312
    <dc:format>application/pdf</dc:format>
313
    -->
314
    <xsl:template match="oaf:result/format/text()">
315
        <dc:format>
316
            <xsl:value-of select="normalize-space(.)"/>
317
        </dc:format>
318
    </xsl:template>
319

  
320
    <!-- source (R) from source-->
321
    <xsl:template match="oaf:result/source/text()">
322
        <dc:source>
323
            <xsl:value-of select="normalize-space(.)"/>
324
        </dc:source>
325
    </xsl:template>
326

  
327
    <xsl:template match="oaf:result/collectedfrom">
328
        <dc:source>
329
            <xsl:value-of select="normalize-space(@name)"/>
330
        </dc:source>
331
    </xsl:template>
332

  
333
    <!-- Language (R) from language@classid -->
334
    <xsl:template match="oaf:result/language">
335
        <dc:language>
336
            <xsl:value-of select="./@classid"/>
337
        </dc:language>
338
    </xsl:template>
339

  
340
    <!-- Override default template -->
341
    <xsl:template match="text()|@*"/>
342

  
343
    <!-- =========================================================================== -->
344
    <!-- === Convert camel case text to cameCaseText  === -->
345
    <!-- === Modified from http://blog.inventic.eu/2013/08/xslt-snippet-to-convert-string-from-hyphens-to-camelcase/  === -->
346
    <!-- === (c) Inventic s.r.o. ORM Designer team (http://www.orm-designer.com) === -->
347
    <!-- =========================================================================== -->
348
    <xsl:template name="ConvertWordsToCamelCase">
349
        <xsl:param name="text"/>
350
        <xsl:param name="firstLower" select="true()"/>
351

  
352
        <xsl:variable name="Upper">ABCDEFGHIJKLMNOPQRSTUVQXYZ</xsl:variable>
353
        <xsl:variable name="Lower">abcdefghijklmnopqrstuvwxyz</xsl:variable>
354

  
355
        <xsl:for-each select="tokenize($text,' ')">
356
            <xsl:choose>
357
                <xsl:when test="position()=1 and $firstLower = true()">
358
                    <xsl:value-of select="substring(.,1,1)"/>
359
                </xsl:when>
360
                <xsl:otherwise>
361
                    <xsl:value-of select="translate(substring(.,1,1),$Lower,$Upper)"/>
362
                </xsl:otherwise>
363
            </xsl:choose>
364
            <xsl:value-of select="substring(.,2,string-length(.))"/>
365
        </xsl:for-each>
366
    </xsl:template>
367

  
368
</xsl:stylesheet>
modules/dnet-openaire-schema/trunk/oai_dc/transformed/dataset1.oai.xml
1
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/">
2
   <dc:title>THE ARITHMETIC-GEOMETRIC MEAN OF GAUSS</dc:title>
3
   <dc:publisher>Fondation L&amp;apos;Enseignement Mathe&amp;#769;matique</dc:publisher>
4
   <dc:date>end of embargo: 1984</dc:date>
5
   <dc:type xml:lang="eng">dataset</dc:type>
6
   <dc:format>text/html</dc:format>
7
   <dc:subject/>
8
   <dc:description/>
9
   <dc:date>date of acceptance: </dc:date>
10
   <dc:source/>
11
   <dc:identifier>10.5169/seals-53831</dc:identifier>
12
   <dc:identifier/>
13
   <dc:rights>UNKNOWN</dc:rights>
14
   <dc:creator>Cox, David A.</dc:creator>
15
   <dc:relation>http://dx.doi.org/10.5169/seals-53831</dc:relation>
16
</oai_dc:dc>
modules/dnet-openaire-schema/trunk/oai_dc/transformed/pub1.oai.xml
1
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/">
2
   <dc:subject>Letter to Editor</dc:subject>
3
   <dc:publisher>Sultan Qaboos University Medical Journal, College of Medicine &amp;amp;
4
                    Health Sciences</dc:publisher>
5
   <dc:type xml:lang="eng">publication</dc:type>
6
   <dc:language>eng</dc:language>
7
   <dc:description/>
8
   <dc:source>Sultan Qaboos University Medical Journal : SQUMJ</dc:source>
9
   <dc:date>end of embargo: </dc:date>
10
   <dc:title>The Dilemma of Opioid-Induced Hyperalgesia and
11
            Tolerance in Chronic Opioid Therapy</dc:title>
12
   <dc:date>date of acceptance: 2013-01-01</dc:date>
13
   <dc:format/>
14
   <dc:identifier>doajarticles::213a8b04760576614420e82a3e26df7f</dc:identifier>
15
   <dc:identifier>od_______908::5d4c57fe162cf1fd86e97875dc7de130</dc:identifier>
16
   <dc:identifier>PMC3616791</dc:identifier>
17
   <dc:rights>Open Access</dc:rights>
18
   <dc:creator>Faris, Ali S.</dc:creator>
19
   <dc:creator>Tawfic, Qutaiba Amir</dc:creator>
20
   <dc:creator>Date, Rohit R.</dc:creator>
21
   <dc:relation>http://web.squ.edu.om/squmj/archive.asp?year=2013&amp;amp;panelno=0</dc:relation>
22
   <dc:relation>http://www.doaj.org/doaj?func=openurl&amp;amp;genre=article&amp;amp;issn=2075051X&amp;amp;date=2013&amp;amp;volume=13&amp;amp;issue=1&amp;amp;spage=185</dc:relation>
23
   <dc:relation>http://europepmc.org/articles/PMC3616791/</dc:relation>
24
</oai_dc:dc>
modules/dnet-openaire-schema/trunk/oai_dc/transformed/pub3_oai.xml
1
<oai_dc:dc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2
           xmlns:dc="http://purl.org/dc/elements/1.1/"
3
           xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
4
           xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
5
   <dc:subject>info:eu-repo/classification/pippo/Psychology</dc:subject>
6
   <dc:subject>software application</dc:subject>
7
   <dc:subject>dichotic listening</dc:subject>
8
   <dc:subject>mobile device</dc:subject>
9
   <dc:subject>LCC:Psychology</dc:subject>
10
   <dc:subject>LCC:B</dc:subject>
11
   <dc:subject>laterality</dc:subject>
12
   <dc:subject>LCC:BF1-990</dc:subject>
13
   <dc:subject>smartphone</dc:subject>
14
   <dc:subject>LCC:Philosophy. Psychology. Religion</dc:subject>
15
   <dc:subject>language lateralization</dc:subject>
16
   <dc:title>“Right on all occasions?” - on the feasibility of laterality research using a smartphone dichotic listening application</dc:title>
17
   <dc:date>2013-02-01</dc:date>
18
   <dc:publisher>Frontiers</dc:publisher>
19
   <dc:language>eng</dc:language>
20
   <dc:description>Most psychological experimentation takes place in laboratories aiming to maximize experimental control; however, this creates artificial environments that are not representative of real-life situations. Since cognitive processes usually take place in noisy environments, they should also be tested in these contexts. The recent advent of smartphone technology provides an ideal medium for such testing. In order to examine the feasibility of mobile devices in psychological research in general, and laterality research in particular, we developed a mobile device (MD) version of the widely used speech laterality test, the consonant-vowel dichotic listening (DL) paradigm, for use with iPhones/iPods. First, we evaluated the retest reliability and concurrent validity of the DL paradigm in its MD version in two samples tested in controlled, laboratory settings (Experiment 1). Second, we explored its ecological validity by collecting data from the general population by means of a free release of the MD version (iDichotic) to the App Store (Experiment 2). The results of Experiment 1, indicated high reliability (rICC=0.78) and validity (rICC=0.76 to 0.82) of the MD version which consistently showed the expected right-ear advantage (REA). When tested in real-life settings (Experiment 2), participants (N=167) also showed a significant REA. Importantly, the size of the REA was not dependent on whether the participants chose to listen to the syllables in their native language or not. Together, these results establish the current MD version as a valid and reliable method for administering the DL paradigm both in experimentally controlled as well as uncontrolled settings. Furthermore, the present findings support the feasibility of using smartphones in conducting large-scale field experiments.</dc:description>
21
   <dc:source>Frontiers in Psychology, Vol 4 (2013)</dc:source>
22
   <dc:type>info:eu-repo/semantics/info:eu-repo/semantics/other</dc:type>
23
   <dc:source>DOAJ-Articles</dc:source>
24
   <dc:source>Europe PubMed Central</dc:source>
25
   <dc:relation>info:eu-repo/semantics/altIdentifier/oai/oai:doaj.org/article:0fe0153f4be94a7aa57b636cab78405f</dc:relation>
26
   <dc:relation>info:eu-repo/semantics/altIdentifier/doi/10.3389/fpsyg.2013.00042/full</dc:relation>
27
   <dc:relation>info:eu-repo/semantics/altIdentifier/doi/10.3389/fpsyg.2013.00042</dc:relation>
28
   <dc:relation>info:eu-repo/semantics/altIdentifier/pmc/PMC3566356</dc:relation>
29
   <dc:relation>info:eu-repo/semantics/altIdentifier/oai/oai:europepmc.org:2569977</dc:relation>
30
   <dc:rights>info:eu-repo/semantics/openAccess</dc:rights>
31
   <dc:relation>info:eu-repo/grantAgreement/EC/FP7/249516/EU/"Hearing voices" - From cognition to brain systems/VOICE</dc:relation>
32
   <dc:relation>info:eu-repo/semantics/dataset/openaire/oai:dnet:r39633d1e8c4::24624d0b7e0aa69d35df4fa159244e2c</dc:relation>
33
   <dc:creator>René Westerhausen</dc:creator>
34
   <dc:creator>Joanne Arciuli</dc:creator>
35
   <dc:creator>Kenneth Hugdahl</dc:creator>
36
   <dc:creator>Josef Johann Bless</dc:creator>
37
   <dc:type>info:eu-repo/semantics/article</dc:type>
38
   <dc:identifier>http://europepmc.org/articles/PMC3566356</dc:identifier>
39
   <dc:type>info:eu-repo/semantics/article</dc:type>
40
   <dc:identifier>http://journal.frontiersin.org/Journal/10.3389/fpsyg.2013.00042/full</dc:identifier>
41
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/j.brainres.2012.01.007</dc:relation>
42
   <dc:relation>info:eu-repo/semantics/reference/pmid/22300726</dc:relation>
43
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1111/j.0953-816X.2004.03302.x</dc:relation>
44
   <dc:relation>info:eu-repo/semantics/reference/pmid/15090059</dc:relation>
45
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/S0093-934X(75)80064-2</dc:relation>
46
   <dc:relation>info:eu-repo/semantics/reference/pmid/1182494</dc:relation>
47
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1037/a0017813</dc:relation>
48
   <dc:relation>info:eu-repo/semantics/reference/pmid/20141308</dc:relation>
49
   <dc:relation>info:eu-repo/semantics/reference/openaire/oai:dnet:od______1366::0869fcd663c99a1a1ec6496a0fd04aac</dc:relation>
50
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/j.bandc.2011.03.010</dc:relation>
51
   <dc:relation>info:eu-repo/semantics/reference/pmid/21482000</dc:relation>
52
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1207/S15326942DN1801_6</dc:relation>
53
   <dc:relation>info:eu-repo/semantics/reference/pmid/11143806</dc:relation>
54
   <dc:relation>info:eu-repo/semantics/reference/pmid/19626537</dc:relation>
55
   <dc:relation>info:eu-repo/semantics/reference/openaire/oai:dnet:dedup_wf_001::ea26fe88346c485db71222b3c52388fa</dc:relation>
56
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1371/journal.pone.0024974</dc:relation>
57
   <dc:relation>info:eu-repo/semantics/reference/pmid/21980370</dc:relation>
58
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1212/WNL.0b013e3181ca017d</dc:relation>
59
   <dc:relation>info:eu-repo/semantics/reference/pmid/20083796</dc:relation>
60
   <dc:relation>info:eu-repo/semantics/reference/openaire/oai:dnet:od_______908::d732da5074c341aba0506200e72f0dd5</dc:relation>
61
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1212/WNL.0b013e3181ca017d</dc:relation>
62
   <dc:relation>info:eu-repo/semantics/reference/pmid/20083796</dc:relation>
63
   <dc:relation>info:eu-repo/semantics/reference/doi/10.3758/BF03193146</dc:relation>
64
   <dc:relation>info:eu-repo/semantics/reference/pmid/17695343</dc:relation>
65
   <dc:relation>info:eu-repo/semantics/reference/pmid/8109643</dc:relation>
66
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/j.bandc.2011.02.005</dc:relation>
67
   <dc:relation>info:eu-repo/semantics/reference/pmid/21398014</dc:relation>
68
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/j.cortex.2012.08.002</dc:relation>
69
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1080/01688639408402653</dc:relation>
70
   <dc:relation>info:eu-repo/semantics/reference/pmid/7929710</dc:relation>
71
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1080/01688639408402653</dc:relation>
72
   <dc:relation>info:eu-repo/semantics/reference/pmid/7929710</dc:relation>
73
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/j.psyneuen.2012.03.021</dc:relation>
74
   <dc:relation>info:eu-repo/semantics/reference/pmid/22534404</dc:relation>
75
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/j.psyneuen.2012.03.021</dc:relation>
76
   <dc:relation>info:eu-repo/semantics/reference/pmid/22534404</dc:relation>
77
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/j.bandc.2011.03.006</dc:relation>
78
   <dc:relation>info:eu-repo/semantics/reference/pmid/21470754</dc:relation>
79
   <dc:relation>info:eu-repo/semantics/reference/pmid/6723322</dc:relation>
80
   <dc:relation>info:eu-repo/semantics/reference/pmid/3769494</dc:relation>
81
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/S0028-3932(98)00101-8</dc:relation>
82
   <dc:relation>info:eu-repo/semantics/reference/pmid/10215090</dc:relation>
83
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1001/archneur.1997.00550240046011</dc:relation>
84
   <dc:relation>info:eu-repo/semantics/reference/pmid/9400358</dc:relation>
85
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1001/archneur.1997.00550240046011</dc:relation>
86
   <dc:relation>info:eu-repo/semantics/reference/pmid/9400358</dc:relation>
87
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1080/01688639708403752</dc:relation>
88
   <dc:relation>info:eu-repo/semantics/reference/pmid/9408797</dc:relation>
89
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/j.neulet.2007.11.046</dc:relation>
90
   <dc:relation>info:eu-repo/semantics/reference/pmid/18162310</dc:relation>
91
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/j.neulet.2007.11.046</dc:relation>
92
   <dc:relation>info:eu-repo/semantics/reference/pmid/18162310</dc:relation>
93
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1006/nimg.2001.1027</dc:relation>
94
   <dc:relation>info:eu-repo/semantics/reference/pmid/11906217</dc:relation>
95
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1002/hup.1216</dc:relation>
96
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1126/science.1192439</dc:relation>
97
   <dc:relation>info:eu-repo/semantics/reference/pmid/21071660</dc:relation>
98
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1037/h0083218</dc:relation>
99
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/j.bandc.2010.11.009</dc:relation>
100
   <dc:relation>info:eu-repo/semantics/reference/pmid/21236541</dc:relation>
101
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/0093-934X(76)90022-5</dc:relation>
102
   <dc:relation>info:eu-repo/semantics/reference/pmid/938932</dc:relation>
103
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1017/S0140525X00004738</dc:relation>
104
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1177/1745691612441215</dc:relation>
105
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1126/science.161.3837.184</dc:relation>
106
   <dc:relation>info:eu-repo/semantics/reference/pmid/5657069</dc:relation>
107
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/j.bbr.2011.07.042</dc:relation>
108
   <dc:relation>info:eu-repo/semantics/reference/pmid/21827795</dc:relation>
109
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1006/brln.1996.0034</dc:relation>
110
   <dc:relation>info:eu-repo/semantics/reference/pmid/8722897</dc:relation>
111
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/j.neuropsychologia.2005.05.006</dc:relation>
112
   <dc:relation>info:eu-repo/semantics/reference/pmid/16023155</dc:relation>
113
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1080/14640746708400069</dc:relation>
114
   <dc:relation>info:eu-repo/semantics/reference/pmid/6041684</dc:relation>
115
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1037/0033-2909.86.2.420</dc:relation>
116
   <dc:relation>info:eu-repo/semantics/reference/pmid/18839484</dc:relation>
117
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/0028-3932(75)90011-1</dc:relation>
118
   <dc:relation>info:eu-repo/semantics/reference/pmid/1161132</dc:relation>
119
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1121/1.1912179</dc:relation>
120
   <dc:relation>info:eu-repo/semantics/reference/pmid/5470503</dc:relation>
121
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1111/j.1530-0277.2009.01049.x</dc:relation>
122
   <dc:relation>info:eu-repo/semantics/reference/pmid/19740132</dc:relation>
123
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1006/brcg.1997.0953</dc:relation>
124
   <dc:relation>info:eu-repo/semantics/reference/pmid/9520314</dc:relation>
125
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/j.bandc.2011.02.001</dc:relation>
126
   <dc:relation>info:eu-repo/semantics/reference/pmid/21354684</dc:relation>
127
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1037/0033-2909.117.2.250</dc:relation>
128
   <dc:relation>info:eu-repo/semantics/reference/pmid/7724690</dc:relation>
129
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/j.neubiorev.2008.04.005</dc:relation>
130
   <dc:relation>info:eu-repo/semantics/reference/pmid/18499255</dc:relation>
131
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1037/0894-4105.20.3.272</dc:relation>
132
   <dc:relation>info:eu-repo/semantics/reference/pmid/16719620</dc:relation>
133
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/0093-934X(81)90125-5</dc:relation>
134
   <dc:relation>info:eu-repo/semantics/reference/pmid/7237112</dc:relation>
135
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/0028-3932(79)90035-6</dc:relation>
136
   <dc:relation>info:eu-repo/semantics/reference/pmid/522974</dc:relation>
137
   <dc:relation>info:eu-repo/semantics/reference/doi/10.1016/j.neuroimage.2007.11.051</dc:relation>
138
   <dc:relation>info:eu-repo/semantics/reference/pmid/18234509</dc:relation>
139
</oai_dc:dc>
modules/dnet-openaire-schema/trunk/oai_dc/transformed/oai1.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2
<oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
3
    xmlns:dc="http://purl.org/dc/elements/1.1/"
4
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5
    xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
6
    <dc:title xml:lang="ar-EG">vpqT5eiqUD5QHYl6w1bi.sUp0iF</dc:title>
7
    <dc:creator xml:lang="zh-CHT">RzgDTugVBLak3L4IfGzIFTzk</dc:creator>
8
    <dc:subject xml:lang="en-US">DST</dc:subject>
9
    <dc:description xml:lang="fr-FR">cKS7NGTDmc</dc:description>
10
    <dc:publisher xml:lang="fr-CA">H37RZZVagBn</dc:publisher>
11
    <dc:contributor xml:lang="zh-CHT">Vxf7SpT0PpYOYu7LQESPk</dc:contributor>
12
    <dc:date xml:lang="en-NZ">WyuCGov7xQNV3a60.RwT-vs</dc:date>
13
    <dc:type xml:lang="zh-CHS">w8qW1.eszDdG</dc:type>
14
    <dc:format xml:lang="en-NZ">Ywv</dc:format>
15
    <dc:identifier xml:lang="fr-CA">TQ4IELqTGffV-Z</dc:identifier>
16
    <dc:source xml:lang="it-IT">QdIK</dc:source>
17
    <dc:language xml:lang="he-IL">ZXuZr9L3</dc:language>
18
    <dc:relation xml:lang="zh-CHS">c34BK</dc:relation>
19
    <dc:coverage xml:lang="da-DK">wKQ5glIhs_sX</dc:coverage>
20
    <dc:rights xml:lang="ar-EG">eeAJ.IFi2K6V9J.6</dc:rights>
21
</oai_dc:dc>
modules/dnet-openaire-schema/trunk/oai_dc/transformed/dataset_out.xml
1
<datacite:resource xmlns:datacite="http://datacite.org/schema/kernel-3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://datacite.org/schema/kernel-3 http://schema.datacite.org/meta/kernel-3/metadata.xsd">
2
   <datacite:publicationYear>2011</datacite:publicationYear>
3
   <datacite:publisher>PANGAEA</datacite:publisher>
4
   <datacite:rightsList>
5
      <datacite:rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</datacite:rights>
6
   </datacite:rightsList>
7
   <datacite:creators>
8
      <datacite:creator>
9
         <datacite:creatorName>Mühling, M.</datacite:creatorName>
10
      </datacite:creator>
11
      <datacite:creator>
12
         <datacite:creatorName>Ian Joint</datacite:creatorName>
13
      </datacite:creator>
14
      <datacite:creator>
15
         <datacite:creatorName>Hans-Peter Grossart</datacite:creatorName>
16
      </datacite:creator>
17
      <datacite:creator>
18
         <datacite:creatorName>Carol Arnosti</datacite:creatorName>
19
      </datacite:creator>
20
      <datacite:creator>
21
         <datacite:creatorName>Uta Passow</datacite:creatorName>
22
      </datacite:creator>
23
   </datacite:creators>
24
   <datacite:contributors>
25
      <datacite:contributor contributorType="Funder">
26
         <datacite:contributorName>EC</datacite:contributorName>
27
         <datacite:nameIdentifier nameIdentifierScheme="info">info:eu-repo/grantAgreement/EC/FP7/211384/EU/European Project on Ocean Acidification/EPOCA</datacite:nameIdentifier>
28
      </datacite:contributor>
29
   </datacite:contributors>
30
   <datacite:relatedIdentifiers>
31
      <datacite:relatedIdentifier relatedIdentifierType="openaire" relationType="IsReferencedBy">oai:dnet:r39633d1e8c4::d3fd1beb4f1da45d3cdd9792bcfdc99f</datacite:relatedIdentifier>
32
   </datacite:relatedIdentifiers>
33
   <datacite:resourceType resourceTypeGeneral="Dataset"/>
34
   <datacite:identifier identifierType="URL">http://dx.doi.org/10.1594/PANGAEA.778190</datacite:identifier>
35
   <datacite:titles>
36
      <datacite:title>PEECE II mesocosm experiment: Dynamics of extracellular enzyme activities in seawater under changed atmospheric pCO2, 2011</datacite:title>
37
   </datacite:titles>
38
   <datacite:descriptions>
39
      <datacite:description descriptionType="Abstract">As part of the PeECE II mesocosm project, we investigated the effects of pCO2 levels on the initial step of heterotrophic carbon cycling in the surface ocean. The activities of microbial extracellular enzymes hydrolyzing 4 polysaccharides were measured during the development of a natural phytoplankton bloom under pCO2 conditions representing glacial (190 µatm) and future (750 µatm) atmospheric pCO2. We observed that (1) chondroitin hydrolysis was variable throughout the pre-, early- and late-bloom phases, (2) fucoidanase activity was measurable only in the glacial mesocosm as the bloom developed, (3) laminarinase activity was low and constant, and (4) xylanase activity declined as the bloom progressed. Concurrent measurements of microbial community composition, using denaturing-gradient gel electrophoresis (DGGE), showed that the 2 mesocosms diverged temporally, and from one another, especially in the late-bloom phase. Enzyme activities correlated with bloom phase and pCO2, suggesting functional as well as compositional changes in microbial communities in the different pCO2 environments. These changes, however, may be a response to temporal changes in the development of phytoplankton communities that differed with the pCO2 environment. We hypothesize that the phytoplankton communities produced dissolved organic carbon (DOC) differing in composition, a hypothesis supported by changing amino acid composition of the DOC, and that enzyme activities responded to changes in substrates. Enzyme activities observed under different pCO2 conditions likely reflect both genetic and population-level responses to changes occurring among multiple components of the microbial loop.</datacite:description>
40
   </datacite:descriptions>
41
   <datacite:subjects/>
42
   <datacite:dates>
43
      <datacite:date dateType="Issued">2011-01-01</datacite:date>
44
   </datacite:dates>
45
   <datacite:sizes/>
46
</datacite:resource>
modules/dnet-openaire-schema/trunk/oai_dc/oaf-to-oai_datacite-0.1.xsl
1
<!-- 
2
    (M): Mandatory
3
    (R): Reccomended
4
    (M w A): Mandatory when Applicable
5
-->
6
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
7
    xmlns:datacite="http://datacite.org/schema/kernel-3"
8
    xmlns:oaf="http://namespace.openaire.eu/oaf" version="1.0" exclude-result-prefixes="oaf">
9

  
10
    <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
11

  
12
    <xsl:variable name="openaireNamespace" select="string('oai:dnet:')"/>
13

  
14
    <xsl:template match="//oaf:entity">
15
        <datacite:resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
16
            xsi:schemaLocation="http://datacite.org/schema/kernel-3 http://schema.datacite.org/meta/kernel-3/metadata.xsd">
17
            <xsl:apply-templates/>
18
            <datacite:titles>
19
                <xsl:for-each select="oaf:result/title/text()">
20
                    <datacite:title>
21
                        <xsl:value-of select="normalize-space(.)"/>
22
                    </datacite:title>
23
                </xsl:for-each>
24
            </datacite:titles>
25
            <datacite:descriptions>
26
                <xsl:for-each select="oaf:result/description/text()">
27
                    <datacite:description descriptionType="Abstract">
28
                        <xsl:value-of select="normalize-space(.)"/>
29
                    </datacite:description>
30
                </xsl:for-each>
31
            </datacite:descriptions>
32
            <datacite:subjects>
33
                <xsl:for-each select="oaf:result/subject[./text()]">
34
                    <xsl:choose>
35
                        <xsl:when test="@classname='keyword'">
36
                            <datacite:subject>
37
                                <xsl:value-of select="normalize-space(./text())"/>
38
                            </datacite:subject>
39
                        </xsl:when>
40
                        <xsl:otherwise>
41
                            <datacite:subject subjectScheme="{@classid}">
42
                                <xsl:value-of select="normalize-space(./text())"/>
43
                            </datacite:subject>
44
                        </xsl:otherwise>
45
                    </xsl:choose>
46
                </xsl:for-each>
47
            </datacite:subjects>
48
            <!-- Dates are mandatory but we do not always have them... -->
49
            <datacite:dates>
50
                <datacite:date dateType="Issued">
51
                    <xsl:value-of select="oaf:result/dateofacceptance/text()"/>
52
                </datacite:date>
53
                <xsl:variable name="embargoEndDate">
54
                    <xsl:value-of select="oaf:result/embargoenddate/text()"/>
55
                </xsl:variable>
56
                <xsl:if test="$embargoEndDate != ''">
57
                    <datacite:date dateType="Available">
58
                        <xsl:value-of select="$embargoEndDate"/>
59
                    </datacite:date>
60
                </xsl:if>
61
            </datacite:dates>
62
            <!-- Size (O) -->
63
            <datacite:sizes>
64
                <xsl:for-each select="oaf:result/size/text()">
65
                    <datacite:size>
66
                        <xsl:value-of select="."/>
67
                    </datacite:size>
68
                </xsl:for-each>
69
            </datacite:sizes>
70

  
71
        </datacite:resource>
72
    </xsl:template>
73

  
74

  
75
    <!--Identifier (M) -->
76
    <xsl:template match="oaf:result//webresource/url ">
77
        <datacite:identifier identifierType="URL">
78
            <xsl:value-of select="./text()"/>
79
        </datacite:identifier>
80
    </xsl:template>
81

  
82
    <!-- Alt id : we know it's only one because we do not deduplicate dataset-->
83
    <xsl:template match="oaf:result/pid/text()">
84
        <datacite:alternateIdentifiers>
85
            <datacite:alternateIdentifier alternateIdentifierType="{@classid}">
86
                <xsl:value-of select="."/>
87
            </datacite:alternateIdentifier>
88
        </datacite:alternateIdentifiers>
89
    </xsl:template>
90

  
91
    <!-- Handling relationships -->
92
    <xsl:template match="oaf:result/rels">
93
        <!-- Creators (M) -->
94
        <datacite:creators>
95
            <xsl:apply-templates select="./rel[./to/@class='hasAuthor']"/>
96
        </datacite:creators>
97
        <datacite:contributors>
98
            <!-- person contributors: not yet available in openaire -->
99
            <xsl:apply-templates select="./rel[./to/@class='hasContributor']"/>
100
            <!-- contributor fields is also used to model funding information -->
101
            <xsl:apply-templates select="./rel[./to/@class='isProducedBy']"/>
102
        </datacite:contributors>
103
        <datacite:relatedIdentifiers>
104
            <!-- Links to publications -->
105
            <xsl:apply-templates select="./rel[./resulttype/@classid='publication']"/>
106
        </datacite:relatedIdentifiers>
107

  
108
    </xsl:template>
109

  
110
    <!--Creator template -->
111
    <xsl:template match="rel[./to/@class='hasAuthor']">
112
        <datacite:creator>
113
            <datacite:creatorName>
114
                <xsl:value-of select="./fullname"/>
115
            </datacite:creatorName>
116
        </datacite:creator>
117
    </xsl:template>
118

  
119
    <!-- Person Contributor template -->
120
    <xsl:template match="rel[./to/@class='hasContributor']">
121
        <datacite:contributor>
122
            <datacite:contributorName>
123
                <xsl:value-of select="./fullname"/>
124
            </datacite:contributorName>
125
        </datacite:contributor>
126
    </xsl:template>
127

  
128
    <!-- Funding template, goes into contributors -->
129
    <xsl:template match="rel[./to/@class='isProducedBy']">
130
        <xsl:variable name="funder">
131
            <xsl:choose>
132
                <xsl:when test="./contracttype/@schemeid = 'ec:FP7contractTypes'">
133
                    <xsl:value-of select="string('EC')"/>
134
                </xsl:when>
135
                <xsl:when test="./contracttype/@schemeid = 'wt:contractTypes'">
136
                    <xsl:value-of select="string('WT')"/>
137
                </xsl:when>
138
                <xsl:when test="./contracttype/@schemeid = 'fct:contractTypes'">
139
                    <xsl:value-of select="string('FCT')"/>
140
                </xsl:when>
141
            </xsl:choose>
142
        </xsl:variable>
143
        <xsl:variable name="fundingProgramme">
144
            <xsl:choose>
145
                <xsl:when test="$funder = 'EC'">
146
                    <xsl:value-of select="./funding/funding_level_0"/>
147
                </xsl:when>
148
                <xsl:when test="$funder = 'WT'">
149
                    <xsl:value-of select="substring-after(./funding_level_1/text(), 'WT::')"/>
150
                </xsl:when>
151
                <xsl:when test="$funder = 'FCT'">
152
                    <xsl:value-of select="substring-after(./funding_level_1/text(), 'FCT::')"/>
153
                </xsl:when>
154
            </xsl:choose>
155
        </xsl:variable>
156
        <xsl:variable name="jurisdiction">
157
            <xsl:choose>
158
                <xsl:when test="$funder = 'EC'">
159
                    <xsl:value-of select="string('EU')"/>
160
                </xsl:when>
161
                <xsl:when test="$funder = 'WT'">
162
                    <xsl:value-of select="string('')"/>
163
                </xsl:when>
164
                <xsl:when test="$funder = 'FCT'">
165
                    <xsl:value-of select="string('PT')"/>
166
                </xsl:when>
167
                <xsl:otherwise/>
168
            </xsl:choose>
169
        </xsl:variable>
170
        <datacite:contributor contributorType="Funder">
171
            <datacite:contributorName>
172
                <xsl:value-of select="$funder"/>
173
            </datacite:contributorName>
174
            <datacite:nameIdentifier nameIdentifierScheme="info">
175
                <xsl:value-of
176
                    select="concat('info:eu-repo/grantAgreement/', $funder, '/', $fundingProgramme, '/', ./code, '/', $jurisdiction, '/' , ./title, '/', ./acronym)"
177
                />
178
            </datacite:nameIdentifier>
179
        </datacite:contributor>
180
    </xsl:template>
181

  
182
    <!-- Links to publication. The related id should be a DOI or similar, but we only have the openaire id for now... -->
183
    <xsl:template match="rel[./resulttype/@classid='publication']">
184
        <datacite:relatedIdentifier relatedIdentifierType="openaire" relationType="IsReferencedBy">
185
            <xsl:value-of select="concat($openaireNamespace, ./to/text())"/>
186
        </datacite:relatedIdentifier>
187
    </xsl:template>
188

  
189
    <!--publisher (M) from publisher -->
190
    <xsl:template match="oaf:result/publisher/text()">
191
        <datacite:publisher>
192
            <xsl:value-of select="normalize-space(.)"/>
193
        </datacite:publisher>
194
    </xsl:template>
195

  
196
    <!-- Publication year (M) -->
197
    <xsl:template match="oaf:result/dateofacceptance/text()">
198
        <datacite:publicationYear>
199
            <xsl:value-of select="normalize-space(substring-before(.,'-'))"/>
200
        </datacite:publicationYear>
201
    </xsl:template>
202

  
203
    <!-- Language (R) from language@classid -->
204
    <xsl:template match="oaf:result/language/@classid">
205
        <datacite:language>
206
            <xsl:value-of select="."/>
207
        </datacite:language>
208
    </xsl:template>
209

  
210
    <!--  ResourceType (R) -->
211
    <xsl:template
212
        match="oaf:result/children/instance/instancetype[./@classname!='Unknown'] | oaf:result/resourcetype[./@classname != '']">
213
        <datacite:resourceType resourceTypeGeneral="{./@classname}"/>
214
    </xsl:template>
215

  
216
    <!-- Version (O) -->
217
    <xsl:template match="oaf:result/version/text()">
218
        <datacite:version>
219
            <xsl:value-of select="."/>
220
        </datacite:version>
221
    </xsl:template>
222

  
223

  
224
    <!-- Rights list (M) -->
225
    <xsl:template match="oaf:result/bestlicense">
226
        <xsl:variable name="license">
227
            <xsl:choose>
228
                <xsl:when test="@classid='OPEN'">
229
                    <xsl:value-of select="string('info:eu-repo/semantics/openAccess')"/>
230
                </xsl:when>
231
                <xsl:when test="@classid='CLOSED'">
232
                    <xsl:value-of select="string('info:eu-repo/semantics/closedAccess')"/>
233
                </xsl:when>
234
                <xsl:when test="@classid='RESTRICTED'">
235
                    <xsl:value-of select="string('info:eu-repo/semantics/restrictedAccess')"/>
236
                </xsl:when>
237
                <xsl:when test="@classid='EMBARGO'">
238
                    <xsl:value-of select="string('info:eu-repo/semantics/embargoedAccess')"/>
239
                </xsl:when>
240
                <xsl:otherwise>
241
                    <xsl:value-of select="string('info:eu-repo/semantics/unknownAccess')"/>
242
                </xsl:otherwise>
243
            </xsl:choose>
244
        </xsl:variable>
245
        <datacite:rightsList>
246
            <datacite:rights rightsURI="{$license}">
247
                <xsl:value-of select="./@classname"/>
248
            </datacite:rights>
249
        </datacite:rightsList>
250
    </xsl:template>
251

  
252
    <!-- Override default template -->
253
    <xsl:template match="text()|@*"/>
254
</xsl:stylesheet>
modules/dnet-openaire-schema/trunk/test/oaf-to-oai_dc-0.1.xsl
1
<xsl:stylesheet xmlns:dc="http://purl.org/dc/elements/1.1/"
2
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3
    xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
4
    xmlns:oaf="http://namespace.openaire.eu/oaf" version="1.0" exclude-result-prefixes="oaf">
5

  
6
    <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
7

  
8
    <xsl:template match="//oaf:result">
9
        <oai_dc:dc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
10
            <xsl:apply-templates/>
11
        </oai_dc:dc>
12
    </xsl:template>
13
    <xsl:template match="subject">
14
        <dc:subject>
15
            <xsl:value-of select="."/>
16
        </dc:subject>
17
    </xsl:template>
18
    <xsl:template match="oaf:result/publisher">
19
        <dc:publisher>
20
            <xsl:value-of select="."/>
21
        </dc:publisher>
22
    </xsl:template>
23

  
24
    <!-- classname of instanceType for dataset is currently UNKNOWN and we want to skip it -->
25
    <xsl:template
26
        match="oaf:result/resulttype | instanceType[./@classname!='Unknown'] | resourceType[./@classname != '']">
27
        <dc:type xml:lang="eng">
28
            <xsl:value-of select="./@classname"/>
29
        </dc:type>
30
    </xsl:template>
31
    <xsl:template match="language[./@classid != '']">
32
        <dc:language>
33
            <xsl:value-of select="./@classid"/>
34
        </dc:language>
35
    </xsl:template>
36
    <xsl:template match="description">
37
        <dc:description>
38
            <xsl:value-of select="."/>
39
        </dc:description>
40
    </xsl:template>
41
    <xsl:template match="source | collectedFrom/@name">
42
        <dc:source>
43
            <xsl:value-of select="."/>
44
        </dc:source>
45
    </xsl:template>
46
    <xsl:template match="oaf:result/title">
47
        <dc:title>
48
            <xsl:value-of select="."/>
49
        </dc:title>
50
    </xsl:template>
51
    <xsl:template match="oaf:result/dateofacceptance">
52
        <dc:date>
53
            <xsl:value-of select="concat('date of acceptance: ', .)"/>
54
        </dc:date>
55
    </xsl:template>
56
    <xsl:template match="oaf:result/embargoenddate">
57
        <dc:date>
58
            <xsl:value-of select="concat('end of embargo: ', .)"/>
59
        </dc:date>
60
    </xsl:template>
61
    <xsl:template match="format">
62
        <dc:format>
63
            <xsl:value-of select="."/>
64
        </dc:format>
65
    </xsl:template>
66
    <xsl:template match="originalId | pid">
67
        <dc:identifier>
68
            <xsl:value-of select="."/>
69
        </dc:identifier>
70
    </xsl:template>
71
    <xsl:template match="bestlicense">
72
        <dc:rights>
73
            <xsl:value-of select="./@classname"/>
74
        </dc:rights>
75
    </xsl:template>
76
    <xsl:template match="rel[./to/@class='hasAuthor']">
77
        <dc:creator>
78
            <xsl:value-of select="./fullname"/>
79
        </dc:creator>
80
    </xsl:template>
81
    <xsl:template match="rel[./to/@class='hasContributor']">
82
        <dc:contributor>
83
            <xsl:value-of select="./fullname"/>
84
        </dc:contributor>
85
    </xsl:template>
86
    <xsl:template match="rel[./to/@class='isProducedBy']">
87
        <dc:relation>
88
            <xsl:value-of select="concat(./acronym, ', grant id: ', ./code)"/>
89
        </dc:relation>
90
    </xsl:template>
91

  
92
    <!-- Links from dataset to publications: only title and openaire identifiers are available...would be better to have the original id, or a pid... -->
93
    <xsl:template match="rel[/to/@class='isRelatedTo']">
94
        <dc:relation>
95
            <xsl:value-of select="./to"/>
96
        </dc:relation>
97
        <dc:relation>
98
            <xsl:value-of select="./title"/>
99
        </dc:relation>
100
    </xsl:template>
101
    <xsl:template match="context | category | concept">
102
        <dc:relation>
103
            <xsl:value-of select="./@label"/>
104
        </dc:relation>
105
    </xsl:template>
106
    <xsl:template match="webresource/url">
107
        <dc:relation>
108
            <xsl:value-of select="."/>
109
        </dc:relation>
110
    </xsl:template>
111

  
112

  
113
    <!-- Override default template -->
114
    <xsl:template match="text()|@*"/>
115
</xsl:stylesheet>
modules/dnet-openaire-schema/trunk/test/oaf-to-oai_dc-0.2.xsl
1
<!-- 
2
    (M): Mandatory
3
    (R): Reccomended
4
    (M w A): Mandatory when Applicable
5
-->
6
<xsl:stylesheet xmlns:dc="http://purl.org/dc/elements/1.1/"
7
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
8
    xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"
9
    xmlns:oaf="http://namespace.openaire.eu/oaf" version="2.0" exclude-result-prefixes="oaf">
10

  
11

  
12
    <xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
13

  
14
    <xsl:variable name="openaireNamespace" select="string('oai:dnet:')"/>
15

  
16
    <xsl:template match="//oaf:entity">
17
        <oai_dc:dc xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
18
            xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
19
            <xsl:apply-templates/>
20
        </oai_dc:dc>
21
    </xsl:template>
22

  
23
    <!-- 
24
       Titles (M): based on title/@classname
25
        <dc:title>main title:subtitle</dc:title>
26
        <dc:title>alternative title</dc:title>
27
        <dc:title>translated title</dc:title>
28
        
29
        We have only "main title" for now: let's keep it simple here...
30
   -->
31
    <xsl:template match="oaf:result/title">
32
        <dc:title>
33
            <xsl:value-of select="normalize-space(./text())"/>
34
        </dc:title>
35
    </xsl:template>
36

  
37
    <!-- Creators (M) -->
38
    <xsl:template match="oaf:result//rel[./to/@class='hasAuthor']">
39
        <dc:creator>
40
            <xsl:value-of select="./fullname"/>
41
        </dc:creator>
42
    </xsl:template>
43

  
44
    <!-- Contributors (R) not currently available-->
45
    <xsl:template match="oaf:result//rel[./to/@class='hasContributor']">
46
        <dc:contributor>
47
            <xsl:value-of select="./fullname"/>
48
        </dc:contributor>
49
    </xsl:template>
50

  
51
    <!--
52
        projectId (M w A)
53
        <dc:relation>info:eu-repo/grantAgreement/Funder/FundingProgram/ProjectID/[Jurisdiction]/[ProjectName]/[ProjectAcronym]</dc:relation>
54
        <dc:relation>info:eu-repo/grantAgreement/EC/FP7/12345//The project name/ACRO</dc:relation>
55
        <dc:relation>info:eu-repo/grantAgreement/EC/FP7/67891/EU/The 2nd project name/ACRO2</dc:relation>
56
        
57
        The rel to project:
58
         <rel>
59
            <to scheme="dnet:result_project_relations" class="isProducedBy" type="project">project_openaireid</to>
60
            <code>249516</code>
61
            <acronym>VOICE</acronym>
62
            <title>xxx</title>
63
            <contracttype schemename="ec:FP7contractTypes" classname="aaa" schemeid="ec:FP7contractTypes" classid="aaa"/>
64
             <funding>
65
                <funding_level_0>FP7</funding_level_0>
66
                <funding_level_1>FP7::SP2</funding_level_1>
67
                <funding_level_2>FP7::SP2::ERC</funding_level_2>
68
             </funding>
69
        </rel>
70
        
71
        The funding program is funding_level_0.
72
        The funder must be inferred from the contract type - until the Funders won't be added explicitely in the record.
73
    -->
74
    <xsl:template match="oaf:result//rel[./to/@class='isProducedBy']">
75
        <xsl:variable name="funder">
76
            <xsl:choose>
77
                <xsl:when test="./contracttype/@schemeid = 'ec:FP7contractTypes'">
78
                    <xsl:value-of select="string('EC')"/>
79
                </xsl:when>
80
                <xsl:when test="./contracttype/@schemeid = 'wt:contractTypes'">
81
                    <xsl:value-of select="string('WT')"/>
82
                </xsl:when>
83
                <xsl:when test="./contracttype/@schemeid = 'fct:contractTypes'">
84
                    <xsl:value-of select="string('FCT')"/>
85
                </xsl:when>
86
            </xsl:choose>
87
        </xsl:variable>
88
        <xsl:variable name="fundingProgramme">
89
            <xsl:choose>
90
                <xsl:when test="$funder = 'EC'">
91
                    <xsl:value-of select="./funding/funding_level_0"/>
92
                </xsl:when>
93
                <xsl:when test="$funder = 'WT'">
94
                    <xsl:value-of select="substring-after(./funding_level_1/text(), 'WT::')"/>
95
                </xsl:when>
96
                <xsl:when test="$funder = 'FCT'">
97
                    <xsl:value-of select="substring-after(./funding_level_1/text(), 'FCT::')"/>
98
                </xsl:when>
99
            </xsl:choose>
100
        </xsl:variable>
101
        <xsl:variable name="jurisdiction">
102
            <xsl:choose>
103
                <xsl:when test="$funder = 'EC'">
104
                    <xsl:value-of select="string('EU')"/>
105
                </xsl:when>
106
                <xsl:when test="$funder = 'WT'">
107
                    <xsl:value-of select="string('')"/>
108
                </xsl:when>
109
                <xsl:when test="$funder = 'FCT'">
110
                    <xsl:value-of select="string('PT')"/>
111
                </xsl:when>
112
                <xsl:otherwise/>
113
            </xsl:choose>
114
        </xsl:variable>
115
        <dc:relation>
116
            <xsl:value-of
117
                select="concat('info:eu-repo/grantAgreement/', $funder, '/', $fundingProgramme, '/', ./code, '/', $jurisdiction, '/' , ./title, '/', ./acronym)"
118
            />
119
        </dc:relation>
120
    </xsl:template>
121

  
122
    <!-- 
123
        Access level (M) [from bestlicense@classid] : one of 
124
        <dc:rights>info:eu-repo/semantics/closedAccess</dc:rights>
125
        <dc:rights>info:eu-repo/semantics/embargoedAccess</dc:rights>
126
        <dc:rights>info:eu-repo/semantics/restrictedAccess</dc:rights>
127
        <dc:rights>info:eu-repo/semantics/openAccess</dc:rights>
128
    -->
129
    <xsl:template match="oaf:result/bestlicense">
130
        <xsl:variable name="license">
131
            <xsl:choose>
132
                <xsl:when test="@classid='OPEN'">
133
                    <xsl:value-of select="string('info:eu-repo/semantics/openAccess')"/>
134
                </xsl:when>
135
                <xsl:when test="@classid='CLOSED'">
136
                    <xsl:value-of select="string('info:eu-repo/semantics/closedAccess')"/>
137
                </xsl:when>
138
                <xsl:when test="@classid='RESTRICTED'">
139
                    <xsl:value-of select="string('info:eu-repo/semantics/restrictedAccess')"/>
140
                </xsl:when>
141
                <xsl:when test="@classid='EMBARGO'">
142
                    <xsl:value-of select="string('info:eu-repo/semantics/embargoedAccess')"/>
143
                </xsl:when>
144
                <xsl:otherwise>
145
                    <xsl:value-of select="string('info:eu-repo/semantics/closedAccess')"/>
146
                </xsl:otherwise>
147
            </xsl:choose>
148
        </xsl:variable>
149
        <dc:rights>
150
            <xsl:value-of select="$license"/>
151
        </dc:rights>
152
    </xsl:template>
153

  
154
    <!-- EmbargoEnd (M w A)  (only when rights == info:eu-repo/semantics/embargoedAccess), from embargoenddate
155
    <dc:date>info:eu-repo/date/embargoEnd/1960-01-01</dc:date>
156
     -->
157
    <xsl:template match="oaf:result/embargoenddate/text()">
158
        <dc:date>
159
            <xsl:value-of select="concat('info:eu-repo/date/embargoEnd/', .)"/>
160
        </dc:date>
161
    </xsl:template>
162

  
163

  
164
    <!--
165
    <xsl:template match="oaf:result/originalId/text()">
166
        <dc:identifier>
167
            <xsl:value-of select="normalize-space(.)"/>
168
        </dc:identifier>
169
    </xsl:template>
170
    -->
171

  
172
    <!-- Alternative Identifier (R), idType from pid@classid  
173
    <dc:relation>
174
        info:eu-repo/semantics/altIdentifier/[idType]/[ID]
175
    </dc:relation>
176
    -->
177
    <xsl:template match="oaf:result/pid[./text()]">
178
        <dc:relation>
179
            <xsl:value-of
180
                select="concat('info:eu-repo/semantics/altIdentifier/', @classid, '/', ./text())"/>
181
        </dc:relation>
182
    </xsl:template>
183

  
184
    <xsl:template match="oaf:result/children/instance/webresource/url/text()">
185
        <dc:identifier>
186
            <xsl:value-of select="."/>
187
        </dc:identifier>
188
    </xsl:template>
189
    <!--Referenced Publication (R), from extraInfo[@typology='citations']/citation, idType from citation/id/@type, ID from citation/id/@value
190
    <dc:relation>
191
        info:eu-repo/semantics/reference/[idType]/[ID]
192
    </dc:relation>
193
    <dc:relation>
194
        info:eu-repo/semantics/reference/doi/10.1234/789.1
195
    </dc:relation>
196
    <dc:relation>
197
        info:eu-repo/semantics/reference/pmid/1234567
198
    </dc:relation>
199
     -->
200
    <xsl:template match="extraInfo[@typology='citations']//citation/id[./@type]">
201
        <xsl:choose>
202
            <xsl:when test="@type='openaire'">
203
                <dc:relation>
204
                    <xsl:value-of
205
                        select="concat('info:eu-repo/semantics/reference/', @type, '/', $openaireNamespace, @value)"
206
                    />
207
                </dc:relation>
208

  
209
            </xsl:when>
210
            <xsl:otherwise>
211
                <dc:relation>
212
                    <xsl:value-of
213
                        select="concat('info:eu-repo/semantics/reference/', @type, '/', @value)"/>
214
                </dc:relation>
215
            </xsl:otherwise>
216
        </xsl:choose>
217

  
218
    </xsl:template>
219

  
220
    <!-- Dataset reference (R), from: rel[./resulttyype/@classname='dataset'] 
221
    <dc:relation>info:eu-repo/semantics/dataset/[idType]/[ID]</dc:relation>
222
    only available when we'll expand the PIDs in the relationship 
223
    <dc:relation>info:eu-repo/semantics/dataset/doi/10.1234/789.1</dc:relation>
224
    For now we can only use openaire ids, from  rel[./resulttyype/@classname='dataset']/to/text()
225
    <dc:relation>info:eu-repo/semantics/dataset/openaire/oai:dnet:[OPENAIRE_ID]</dc:relation>
226
    -->
227
    <xsl:template match="oaf:result//rel[./resulttype/@classid='dataset']">
228
        <dc:relation>
229
            <xsl:value-of
230
                select="concat('info:eu-repo/semantics/dataset/openaire/', $openaireNamespace, ./to/text())"
231
            />
232
        </dc:relation>
233
    </xsl:template>
234

  
235

  
236
    <!-- Subjects (M w A)
237
    <dc:subject>bag of words</dc:subject>
238
     If subject@classname != keywords, then we have a classification scheme to encode
239
    <dc:subject>info:eu-repo/classification/[scheme]/[value]</dc:subject>
240
    <dc:subject>info:eu-repo/classification/dcc/whatever</dc:subject>
241
    -->
242
    <xsl:template match="oaf:result/subject[@classname='keyword']">
243
        <dc:subject>
244
            <xsl:value-of select="normalize-space(./text())"/>
245
        </dc:subject>
246
    </xsl:template>
247
    <xsl:template match="oaf:result/subject[not(@classname='keyword') and @classid != '']">
248
        <dc:subject>
249
            <xsl:value-of
250
                select="concat('info:eu-repo/classification/', @classid, '/', normalize-space(./text()))"
251
            />
252
        </dc:subject>
253
    </xsl:template>
254

  
255
    <!--description (M w A) from description-->
256
    <xsl:template match="oaf:result/description/text()">
257
        <dc:description>
258
            <xsl:value-of select="normalize-space(.)"/>
259
        </dc:description>
260
    </xsl:template>
261
    <!--publisher (M w A) from publisher -->
262
    <xsl:template match="oaf:result/publisher/text()">
263
        <dc:publisher>
264
            <xsl:value-of select="normalize-space(.)"/>
265
        </dc:publisher>
266
    </xsl:template>
267
    <!-- Publication date (M) from dateofacceptance -->
268
    <xsl:template match="oaf:result/dateofacceptance/text()">
269
        <dc:date>
270
            <xsl:value-of select="normalize-space(.)"/>
271
        </dc:date>
272
    </xsl:template>
273

  
274
    <!-- 
275
        Publication type (M)  where [type] is /instancetype[1]/classname (dnet:publication_resource vocabulary). 
276
        A second dc:type (uncontrolled) can be used. 
277
        <dc:type>info:eu-repo/semantics/[type]</dc:type>
278
    -->
279
    <xsl:template match="oaf:result/children/instance/instancetype | oaf:result/resourcetype">
280
        <xsl:variable name="theInstanceType">
281
            <xsl:choose>
282
                <xsl:when test="@classname='Unknown'">
283
                    <xsl:value-of select="string('info:eu-repo/semantics/other')"/>
284
                </xsl:when>
285
                <xsl:when test="@classname=''">
286
                    <xsl:value-of select="string('info:eu-repo/semantics/other')"/>
287
                </xsl:when>
288
                <xsl:otherwise>
289
                    <xsl:call-template name="ConvertWordsToCamelCase">
290
                        <xsl:with-param name="text">
291
                            <xsl:value-of select="lower-case(./@classname)"/>
292
                        </xsl:with-param>
293
                    </xsl:call-template>
294
                </xsl:otherwise>
295
            </xsl:choose>
296

  
297
        </xsl:variable>
298
        <dc:type>
299
            <xsl:value-of select="concat('info:eu-repo/semantics/',$theInstanceType)"/>
300
        </dc:type>
301
    </xsl:template>
302
    <!--
303
    <xsl:template match="oaf:result/resulttype">
304
        <dc:type>
305
            <xsl:value-of select="./@classname"/>
306
        </dc:type>
307
    </xsl:template>
308
    -->
309

  
310
    <!-- Format (R), in theory from format, not sure we are filling it
311
    <dc:format>mediaType of the digital manifestation of the resource</dc:format>
312
    <dc:format>application/pdf</dc:format>
313
    -->
314
    <xsl:template match="oaf:result/format/text()">
315
        <dc:format>
316
            <xsl:value-of select="normalize-space(.)"/>
317
        </dc:format>
318
    </xsl:template>
319

  
320
    <!-- source (R) from source-->
321
    <xsl:template match="oaf:result/source/text()">
322
        <dc:source>
323
            <xsl:value-of select="normalize-space(.)"/>
324
        </dc:source>
325
    </xsl:template>
326

  
327
    <xsl:template match="oaf:result/collectedfrom">
328
        <dc:source>
329
            <xsl:value-of select="normalize-space(@name)"/>
330
        </dc:source>
331
    </xsl:template>
332

  
333
    <!-- Language (R) from language@classid -->
334
    <xsl:template match="oaf:result/language">
335
        <dc:language>
336
            <xsl:value-of select="./@classid"/>
337
        </dc:language>
338
    </xsl:template>
339

  
340
    <!-- Override default template -->
341
    <xsl:template match="text()|@*"/>
342

  
343
    <!-- =========================================================================== -->
344
    <!-- === Convert camel case text to cameCaseText  === -->
345
    <!-- === Modified from http://blog.inventic.eu/2013/08/xslt-snippet-to-convert-string-from-hyphens-to-camelcase/  === -->
346
    <!-- === (c) Inventic s.r.o. ORM Designer team (http://www.orm-designer.com) === -->
347
    <!-- =========================================================================== -->
348
    <xsl:template name="ConvertWordsToCamelCase">
349
        <xsl:param name="text"/>
350
        <xsl:param name="firstLower" select="true()"/>
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff