Project

General

Profile

1
<?xml version="1.0" encoding="UTF-8"?>
2
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3
                xmlns:stringUtils="org.apache.commons.lang.StringUtils"
4
                version="1.0">
5

    
6
	<xsl:param name="parentDatasourceId"/>
7
	<xsl:param name="namespacePrefix"/>
8

    
9
	<xsl:template match="/">
10
		<xsl:choose>
11
			<xsl:when test="//column[./@name='Journal ISSN (print version)'] != ''">
12
				<xsl:call-template name="createJournal">
13
					<xsl:with-param name="rid" select="normalize-space(//column[./@name='Journal ISSN (print version)'])"/>
14
				</xsl:call-template>
15
			</xsl:when>
16
			<xsl:when test="//column[./@name='Journal EISSN (online version)'] != ''">
17
				<xsl:call-template name="createJournal">
18
					<xsl:with-param name="rid" select="normalize-space(//column[./@name='Journal EISSN (online version)'])"/>
19
				</xsl:call-template>
20
			</xsl:when>
21
			<xsl:otherwise>
22
				<record/>
23
			</xsl:otherwise>
24
		</xsl:choose>
25
	</xsl:template>
26

    
27
	<xsl:template name="createJournal">
28
		<xsl:param name="rid"/>
29

    
30
		<record>
31
			<xsl:copy-of select=".//*[local-name()='header']"/>
32
			<metadata>
33
				<xsl:variable name="datasourceId" select="concat($namespacePrefix, '::', $rid)"/>
34
				<xsl:variable name="ISSNNS" select="stringUtils:replace($rid,'-','')"/>
35
				<xsl:variable name="oName" select="normalize-space(//column[./@name='Journal title'])"/>
36
				<xsl:variable name="organizationId"
37
				              select="translate(concat($namespacePrefix, '::', $oName), ' ', '_')"/>
38
				<ROWS>
39
					<ROW table="datasources">
40
						<FIELD name="id">
41
							<xsl:value-of select="$datasourceId"/>
42
						</FIELD>
43
						<FIELD name="_dnet_resource_identifier_">
44
							<xsl:value-of select="$datasourceId"/>
45
						</FIELD>
46
						<FIELD name="officialname">
47
							<xsl:value-of select="normalize-space(//column[./@name='Journal title'])"/>
48
						</FIELD>
49
						<FIELD name="englishname">
50
							<xsl:value-of select="normalize-space(//column[./@name='Journal title'])"/>
51
						</FIELD>
52
						<FIELD name="od_contenttypes">
53
							<xsl:value-of select="string('Journal articles')"/>
54
						</FIELD>
55
						<FIELD name="issn">
56
							<xsl:value-of select="normalize-space(//column[./@name='Journal ISSN (print version)'])"/>
57
						</FIELD>
58
						<FIELD name="eissn">
59
							<xsl:value-of select="normalize-space(//column[./@name='Journal EISSN (online version)'])"/>
60
						</FIELD>
61
						<FIELD name="websiteurl">
62
							<xsl:value-of select="normalize-space(//column[./@name='Journal URL'])"/>
63
						</FIELD>
64
						<FIELD name="namespaceprefix">
65
							<xsl:value-of select="concat('doaj', $ISSNNS)"/>
66
						</FIELD>
67
						<FIELD name="datasourceclass">pubsrepository::journal</FIELD>
68
						<FIELD name="collectedfrom">
69
							<xsl:value-of select="$parentDatasourceId"/>
70
						</FIELD>
71
					</ROW>
72
				</ROWS>
73
			</metadata>
74
		</record>
75
	</xsl:template>
76

    
77

    
78
</xsl:stylesheet>
(8-8/27)