Project

General

Profile

1
<?xml version="1.0" encoding="UTF-8"?>
2

    
3
<xsl:stylesheet version="1.0"
4
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fn="http://www.w3.org/2005/xpath-functions"
5
                exclude-result-prefixes="fn">
6

    
7
	<xsl:variable name="namespacePrefix" select="string('fct_________')"/>
8
	<xsl:variable name="funderID" select="concat($namespacePrefix, '::FCT')"/>
9

    
10
	<xsl:template match="/">
11
		<xsl:variable name="p1" select="normalize-space(.//funding/program)"/>
12
		<xsl:variable name="p2" select="normalize-space(.//funding/program2)"/>
13

    
14
		<fundingtree>
15
			<funder>
16
				<id>
17
					<xsl:value-of select="$funderID"/>
18
				</id>
19
				<shortname>FCT</shortname>
20
				<name>Fundação para a Ciência e a Tecnologia, I.P.</name>
21
				<jurisdiction>PT</jurisdiction>
22
			</funder>
23
			<xsl:if test="string-length($p1) &gt; 0">
24
				<xsl:choose>
25
					<xsl:when test="string-length($p2) &gt; 0">
26
						<xsl:variable name="level0" select="concat($funderID, '::', $p1)"/>
27
						<xsl:variable name="level1" select="concat($funderID, '::', $p1, '::', $p2)"/>
28
						<funding_level_1>
29
							<id>
30
								<xsl:value-of select="$level1"/>
31
							</id>
32
							<description>
33
								<xsl:value-of select="$p2"/>
34
							</description>
35
							<name>
36
								<xsl:value-of select="$p2"/>
37
							</name>
38
							<parent>
39
								<funding_level_0>
40
									<id>
41
										<xsl:value-of select="$level0"/>
42
									</id>
43
									<description>
44
										<xsl:value-of select="$p1"/>
45
									</description>
46
									<name>
47
										<xsl:value-of select="$p1"/>
48
									</name>
49
									<parent/>
50
									<class>fct:program</class>
51
								</funding_level_0>
52
							</parent>
53
						</funding_level_1>
54
					</xsl:when>
55
					<xsl:otherwise>
56
						<xsl:variable name="level0" select="concat($funderID, '::', $p1)"/>
57
						<funding_level_0>
58
							<id>
59
								<xsl:value-of select="$level0"/>
60
							</id>
61
							<description>
62
								<xsl:value-of select="$p1"/>
63
							</description>
64
							<name>
65
								<xsl:value-of select="$p1"/>
66
							</name>
67
							<parent/>
68
							<class>fct:program</class>
69
						</funding_level_0>
70
					</xsl:otherwise>
71
				</xsl:choose>
72
			</xsl:if>
73
		</fundingtree>
74
	</xsl:template>
75

    
76
</xsl:stylesheet>
(12-12/33)