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

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

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

    
124
					<ROW table="dsm_datasources_eosc">
125
                        <FIELD name="id">
126
                            <xsl:value-of select="$datasourceId"/>
127
                        </FIELD>
128
                        <FIELD name="_dnet_resource_identifier_">
129
                            <xsl:value-of select="$datasourceId"/>
130
                        </FIELD>
131
                        <FIELD name="content_policies" type="array">
132
                          <ITEM>Journal articles</ITEM>
133
                        </FIELD>
134
                    </ROW>
135
				</ROWS>
136
			</metadata>
137
		</record>
138
	</xsl:template>
139

    
140

    
141
</xsl:stylesheet>
142
		]]>
143
                </CODE>
144
            </SCRIPT>
145
        </CONFIGURATION>
146
        <STATUS/>
147
        <SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
148
    </BODY>
149
</RESOURCE_PROFILE>
(2-2/8)