Project

General

Profile

1
<?xml version="1.0" encoding="UTF-8"?>
2
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3
    xmlns:dc="http://purl.org/dc/elements/1.1/"
4
    xmlns:dr="http://www.driver-repository.eu/namespace/dr"
5
    xmlns:dri="http://www.driver-repository.eu/namespace/dri"
6
    xmlns:oaa="http://namespace.openaire.eu/oaa" xmlns:oaf="http://namespace.openaire.eu/oaf"
7
    xmlns:fn="http://www.w3.org/2005/xpath-functions"
8
    xmlns:dnet="eu.dnetlib.data.transform.xml.DNetMdStoreToHbaseXsltFunctions"
9
    xmlns:stringUtils="org.apache.commons.lang.StringUtils">
10

    
11
    <xsl:param name="parentDatasourceId"/>
12
    <xsl:param name="namespacePrefix"/>
13

    
14
    <xsl:template match="/">
15
        <record xmlns:dr="http://www.driver-repository.eu/namespace/dr"
16
            xmlns:dri="http://www.driver-repository.eu/namespace/dri"
17
            xmlns:dc="http://purl.org/dc/elements/1.1/"
18
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
19
            xmlns:oaf="http://namespace.openaire.eu/oaf"
20
            xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/">
21

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

    
69
</xsl:stylesheet>
(6-6/13)