Project

General

Profile

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

    
4
    <!-- Turn off auto-insertion of <?xml> tag and set indenting on -->
5
    <xsl:output method="text" encoding="utf-8" omit-xml-declaration="yes" media-type="text/csv" />
6

    
7
    <!-- strip whitespace from whitespace-only nodes -->
8
    <xsl:strip-space elements="*"/>
9

    
10
    <xsl:template match = "/">
11
              <xsl:text disable-output-escaping="yes">Title,Authors,Publication Year,DOI,Permanent identifier,Publication type,Journal,Project Name (GA Number),Access&#xD;</xsl:text>
12
              <xsl:apply-templates select="//result"/>
13
    </xsl:template>
14

    
15
    <!-- Title, Authors, Description, Year, DOI, Permanent identifier, Publication type, Journal, Project Name, GA number, Access -->
16
    <xsl:template match="result">
17
        <!-- title -->
18
        <xsl:text>&quot;</xsl:text>
19
            <xsl:value-of select="field[@name='title']/@value"/>
20
        <xsl:text>&quot;</xsl:text>
21
        <xsl:text>,</xsl:text>
22

    
23
        <!-- authors -->
24
        <xsl:text>&quot;</xsl:text>
25
            <xsl:for-each select="field[@name='hasAuthor']">
26
                <xsl:value-of select="field[@name='fullname']/@value"/>
27
                <xsl:if test="not(position()=last())">
28
                    <xsl:text> </xsl:text>
29
                </xsl:if>
30
            </xsl:for-each>
31
        <xsl:text>&quot;</xsl:text>
32
        <xsl:text>,</xsl:text>
33

    
34
        <!-- description
35
        <xsl:text>&quot;</xsl:text>
36
            <xsl:value-of select="field[@name='description']/@value"/>
37
            <xsl:if test="position() != last()"><xsl:text>&#160;</xsl:text></xsl:if>
38
        <xsl:text>&quot;</xsl:text>
39
        <xsl:text>,</xsl:text>
40
-->
41
        <!-- year -->
42
        <xsl:text>&quot;</xsl:text>
43
            <xsl:value-of select="field[@name='dateofacceptance']/@value"/>
44
        <xsl:text>&quot;</xsl:text>
45
        <xsl:text>,</xsl:text>
46

    
47
        <!-- DOI -->
48
        <xsl:for-each select="field[@name='pid']">
49
            <xsl:if test="field[@name='classid' and @value='doi']/@value = 'doi'">
50
                <xsl:text>&quot;</xsl:text>
51
                <xsl:value-of select="field[@name='value']/@value"/>
52
                <xsl:text>&quot;</xsl:text>
53
            </xsl:if>
54
        </xsl:for-each>
55
        <xsl:text>,</xsl:text>
56

    
57
        <!-- Permanent Identifier -->
58
        <xsl:text>&quot;</xsl:text>
59
            <xsl:value-of select="field[@name='datasource'][1]/field[@name='url']/@value"/>
60
            <xsl:text>&quot;</xsl:text>
61
        <xsl:text>,</xsl:text>
62

    
63
        <!-- Publication type -->
64
        <xsl:text>&quot;</xsl:text>
65
            <xsl:value-of select="field[@name='datasource'][1]/field[@name='typename']/@value"/>
66
            <xsl:text>&quot;</xsl:text>
67
        <xsl:text>,</xsl:text>
68

    
69
        <!-- journal -->
70
        <xsl:text>&quot;</xsl:text>
71
            <xsl:for-each select="field[@name='source']">
72
                <xsl:value-of select="@value"/>
73
            </xsl:for-each>
74
        <xsl:text>&quot;</xsl:text>
75
        <xsl:text>,</xsl:text>
76

    
77
        <!-- project name -->
78
        <xsl:text>&quot;</xsl:text>
79
        <xsl:for-each select="field[@name='project'] ">
80
            <!-- project name -->
81
            <xsl:choose>
82
                <xsl:when test="field[@name='projectacronym']/@value != ''" >
83
                    <xsl:value-of select="field[@name='projectacronym']/@value"/>
84
                </xsl:when>
85
                <xsl:otherwise>
86
                    <xsl:value-of select="field[@name='projecttitle']/@value"/>
87
                </xsl:otherwise>
88
            </xsl:choose>
89
            <xsl:if test="field[@name='projectcode']/@value!= ''">
90
                    <xsl:value-of select="concat('(',field[@name='projectcode']/@value,')')"/>
91
            </xsl:if>
92
            <xsl:if test="not(position()=last())">
93
                <xsl:text>, </xsl:text>
94
            </xsl:if>
95
        </xsl:for-each>
96
        <xsl:text>&quot;</xsl:text>
97
        <xsl:text>,</xsl:text>
98

    
99
        <!--access -->
100
        <xsl:text>&quot;</xsl:text>
101
            <xsl:value-of select="field[@name='bestlicense']/@value"/>
102
            <xsl:text>&quot;</xsl:text>
103
        <xsl:text>&#xD;</xsl:text>
104

    
105
    </xsl:template>
106

    
107
</xsl:stylesheet>
(6-6/30)