Project

General

Profile

1
<RESOURCE_PROFILE>
2
    <HEADER>
3
        <RESOURCE_IDENTIFIER value="e9a55247-d9b3-4c79-9789-ecfc5bf7fbbc_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
4
        <RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
5
        <RESOURCE_KIND value="TransformationRuleDSResources"/>
6
        <RESOURCE_URI value=""/>
7
        <DATE_OF_CREATION value="2018-06-29T11:15:30+00:00"/>
8
    </HEADER>
9
    <BODY>
10
        <CONFIGURATION>
11
            <IMPORTED/>
12
            <SCRIPT>
13
                <TITLE>DOAJ 2 DB</TITLE>
14
                <CODE>
15
                    <![CDATA[
16
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
17
                xmlns:stringUtils="org.apache.commons.lang.StringUtils"
18
                version="1.0">
19

    
20
	<xsl:param name="varDataSourceId"/>
21
	<xsl:variable name="namespacePrefix" select="string('doajarticles')"/>
22

    
23
	<xsl:template match="/">
24
		<xsl:choose>
25
			<xsl:when test="//column[./@name='Journal ISSN (print version)'] != ''">
26
				<xsl:call-template name="createJournal">
27
					<xsl:with-param name="rid" select="normalize-space(//column[./@name='Journal ISSN (print version)'])"/>
28
				</xsl:call-template>
29
			</xsl:when>
30
			<xsl:when test="//column[./@name='Journal EISSN (online version)'] != ''">
31
				<xsl:call-template name="createJournal">
32
					<xsl:with-param name="rid" select="normalize-space(//column[./@name='Journal EISSN (online version)'])"/>
33
				</xsl:call-template>
34
			</xsl:when>
35
			<xsl:otherwise>
36
				<record/>
37
			</xsl:otherwise>
38
		</xsl:choose>
39
	</xsl:template>
40

    
41
	<xsl:template name="createJournal">
42
		<xsl:param name="rid"/>
43

    
44
		<record>
45
			<xsl:copy-of select=".//*[local-name()='header']"/>
46
			<metadata>
47
				<xsl:variable name="datasourceId" select="concat($namespacePrefix, '::', $rid)"/>
48
				<xsl:variable name="ISSNNS" select="stringUtils:replace($rid,'-','')"/>
49
				<ROWS>
50
					<ROW table="dsm_datasources">
51
						<FIELD name="id">
52
							<xsl:value-of select="$datasourceId"/>
53
						</FIELD>
54
						<FIELD name="_dnet_resource_identifier_">
55
							<xsl:value-of select="$datasourceId"/>
56
						</FIELD>
57
						<FIELD name="officialname">
58
							<xsl:value-of select="normalize-space(//column[./@name='Journal title'])"/>
59
						</FIELD>
60
						<FIELD name="englishname">
61
							<xsl:value-of select="normalize-space(//column[./@name='Journal title'])"/>
62
						</FIELD>
63
						<FIELD name="od_contenttypes">
64
							<xsl:value-of select="string('Journal articles')"/>
65
						</FIELD>
66
						<FIELD name="issn">
67
							<xsl:value-of select="normalize-space(//column[./@name='Journal ISSN (print version)'])"/>
68
						</FIELD>
69
						<FIELD name="eissn">
70
							<xsl:value-of select="normalize-space(//column[./@name='Journal EISSN (online version)'])"/>
71
						</FIELD>
72
						<FIELD name="websiteurl">
73
							<xsl:value-of select="normalize-space(//column[./@name='Journal URL'])"/>
74
						</FIELD>
75
						<FIELD name="namespaceprefix">
76
							<xsl:value-of select="concat('doaj', $ISSNNS)"/>
77
						</FIELD>
78
						<FIELD name="typology">pubsrepository::journal</FIELD>
79
						<FIELD name="collectedfrom">
80
							<xsl:value-of select="$varDataSourceId"/>
81
						</FIELD>
82
						<FIELD name="subjects">
83
							<xsl:value-of select="normalize-space(//column[./@name='Subjects'])"/>
84
						</FIELD>
85
						<FIELD name="provenanceaction">sysimport:crosswalk:entityregistry</FIELD>
86
					</ROW>
87
                    <xsl:variable name="oName" select="normalize-space(//column[./@name='Publisher'])"/>
88
				    <xsl:variable name="organizationId" select="translate(concat($namespacePrefix, '::', $oName), ' ', '_')"/>
89
					<ROW table="dsm_organizations">
90
						<FIELD name="_dnet_resource_identifier_">
91
							<xsl:value-of select="$organizationId"/>
92
						</FIELD>
93
						<FIELD name="id">
94
							<xsl:value-of select="$organizationId"/>
95
						</FIELD>
96
						<FIELD name="legalname">
97
							<xsl:value-of select="$oName"/>
98
						</FIELD>
99
						<FIELD name="legalshortname">
100
							<xsl:value-of select="$oName"/>
101
						</FIELD>
102
						<FIELD name="country">
103
						    <xsl:value-of select="normalize-space(//column[./@name='Country of publisher'])"/>
104
						</FIELD>
105
						<FIELD name="collectedfrom">
106
							<xsl:value-of select="$varDataSourceId"/>
107
						</FIELD>
108
						<FIELD name="provenanceaction">sysimport:crosswalk:entityregistry</FIELD>
109
					</ROW>
110

    
111
					<ROW table="dsm_datasource_organization">
112
						<FIELD name="_dnet_resource_identifier_">
113
							<xsl:value-of select="concat($datasourceId, '@@', $organizationId)"/>
114
						</FIELD>
115
						<FIELD name="datasource">
116
							<xsl:value-of select="$datasourceId"/>
117
						</FIELD>
118
						<FIELD name="organization">
119
							<xsl:value-of select="$organizationId"/>
120
						</FIELD>
121
					</ROW>
122
				</ROWS>
123
			</metadata>
124
		</record>
125
	</xsl:template>
126

    
127

    
128
</xsl:stylesheet>
129
		]]>
130
                </CODE>
131
            </SCRIPT>
132
        </CONFIGURATION>
133
        <STATUS/>
134
        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
135
    </BODY>
136
</RESOURCE_PROFILE>
(2-2/6)