Project

General

Profile

1
<RESOURCE_PROFILE>
2
	<HEADER>
3
		<RESOURCE_IDENTIFIER value="a799b5eb-6a6f-427f-b7fc-2d05778a6be3_VHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZXMvVHJhbnNmb3JtYXRpb25SdWxlRFNSZXNvdXJjZVR5cGU="/>
4
		<RESOURCE_TYPE value="TransformationRuleDSResourceType"/>
5
		<RESOURCE_KIND value="TransformationRuleDSResources"/>
6
		<RESOURCE_URI value=""/>
7
		<DATE_OF_CREATION value="2015-02-27T17:15:30+00:00"/>
8
	</HEADER>
9
	<BODY>
10
		<CONFIGURATION>
11
			<SOURCE_METADATA_FORMAT name="pmf" layout="store" interpretation="cleaned"/>
12
			<SINK_METADATA_FORMAT name="pmf_update_action"/>
13
			<IMPORTED/>
14
			<SCRIPT>
15
				<TITLE>xslt_mapping_pmf2updateAction</TITLE>
16
				<CODE>
17
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
18
                xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dr="http://www.driver-repository.eu/namespace/dr"
19
                xmlns:dri="http://www.driver-repository.eu/namespace/dri" xmlns:oaa="http://namespace.openaire.eu/oaa"
20
                xmlns:oaf="http://namespace.openaire.eu/oaf" xmlns:dnet="eu.dnetlib.data.transform.xml.OafToHbaseXsltFunctions"
21
                xmlns:date="java.lang.System"
22
                xmlns:exslt="http://exslt.org/common"
23
                version="1.0"
24
                extension-element-prefixes="exslt"
25
                exclude-result-prefixes="xsl dc dr dri oaa oaf dnet exslt date">
26

    
27
	<xsl:output omit-xml-declaration="yes" indent="yes"/>
28

    
29
	<xsl:param name="trust" select="string('0.9')"/>
30
	<xsl:param name="provenance" select="string('UNKNOWN')"/>
31
	<xsl:param name="namespaceprefix" select="string('unknown_____')"/>
32

    
33
	<xsl:template match="/*">
34
		<xsl:variable name="about" select="/*[local-name() = 'record']/*[local-name() = 'about']"/>
35
		<xsl:variable name="dateofcollection" select="//dr:dateOfCollection"/>
36
		<xsl:variable name="dateoftransformation" select="//dr:dateOfTransformation"/>
37

    
38
		<xsl:variable name="metadata" select="exslt:node-set(//*[local-name()='metadata']/*)"/>
39
		<xsl:variable name="collectedDatasourceid">
40
			<xsl:choose>
41
				<xsl:when test="string-length(//oaf:collectedDatasourceid) &gt; 0">
42
					<xsl:value-of select="//oaf:collectedDatasourceid"/>
43
				</xsl:when>
44
				<xsl:otherwise>
45
					<xsl:value-of select="UNKNOWN"/>
46
				</xsl:otherwise>
47
			</xsl:choose>
48
		</xsl:variable>
49

    
50
		<xsl:choose>
51
			<xsl:when test="count($metadata) = 0">
52
				<ROWS/>
53
			</xsl:when>
54
			<xsl:otherwise>
55

    
56
				<xsl:variable name="objidentifier" select="/record/*[local-name() = 'header']/*[local-name() = 'objIdentifier']"/>
57
				<xsl:variable name="publicationId" select="dnet:oafSimpleId('publication', $objidentifier)"/>
58

    
59
				<xsl:variable name="hostedbyid" select="dnet:oafSplitId('datasource', //oaf:hostedBy/@id)"/>
60
				<xsl:variable name="hostedbyname" select="//oaf:hostedBy/@name"/>
61

    
62
				<xsl:variable name="collectedfromid" select="dnet:oafSplitId('datasource', //oaf:collectedFrom/@id)"/>
63
				<xsl:variable name="collectedfromname" select="//oaf:collectedFrom/@name"/>
64

    
65
				<xsl:variable name="originalidTest" select="/record/*[local-name() = 'header']/*[local-name() = 'recordIdentifier']"/>
66
				<xsl:variable name="originalid">
67
					<xsl:choose>
68
						<xsl:when test="contains($originalidTest, '::')">
69
							<xsl:value-of select="substring-after($originalidTest, '::')"/>
70
						</xsl:when>
71
						<xsl:otherwise>
72
							<xsl:value-of select="$originalidTest"/>
73
						</xsl:otherwise>
74
					</xsl:choose>
75
				</xsl:variable>
76

    
77
				<ROWS>
78
					<ROW mode="update">
79
						<xsl:attribute name="value">
80
							<xsl:value-of select="dnet:oafPublication($publicationId, $provenance, $trust, $about, $hostedbyid, $hostedbyname,
81
	                            $collectedfromid, $collectedfromname, $originalid, $dateofcollection, $dateoftransformation, $metadata)"/>
82
						</xsl:attribute>
83
					</ROW>
84
				</ROWS>
85
			</xsl:otherwise>
86
		</xsl:choose>
87
	</xsl:template>
88
</xsl:stylesheet>
89
				</CODE>
90
			</SCRIPT>
91
		</CONFIGURATION>
92
		<STATUS/>
93
		<SECURITY_PARAMETERS>SECURITY_PARAMETERS</SECURITY_PARAMETERS>
94
	</BODY>
95
</RESOURCE_PROFILE>
(60-60/70)