Revision 53315
Added by Alessia Bardi about 6 years ago
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&apos;Enseignement Mathe&#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; |
|
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;panelno=0</dc:relation> |
|
22 |
<dc:relation>http://www.doaj.org/doaj?func=openurl&amp;genre=article&amp;issn=2075051X&amp;date=2013&amp;volume=13&amp;issue=1&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()"/> |
Also available in: Unified diff
renamed folder