source: freemind/trunk/fuentes/freemind/accessories/mm2tjitasks.xsl @ 68

Last change on this file since 68 was 68, checked in by jrpelegrina, 4 years ago

First release to Xenial

File size: 4.5 KB
Line 
1<?xml version="1.0" encoding="iso-8859-1"?>
2
3<xsl:stylesheet version="1.0"     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"    xmlns:xlink="http://www.w3.org/1999/xlink">
4    <xsl:output method="text" indent="no"/>
5    <xsl:strip-space elements="*"/>
6       
7     <xsl:template match="map">           
8        <xsl:apply-templates select="node"/>       
9    </xsl:template> 
10
11    <!-- NODE -->
12    <xsl:template match="node">
13        <xsl:variable name="depth">
14            <xsl:apply-templates select=".." mode="depthMesurement"/>
15        </xsl:variable>
16        <xsl:choose>
17            <xsl:when test="$depth=0">
18                <xsl:text># FreeMind map "</xsl:text><xsl:value-of select="@TEXT"/><xsl:text>"&#xA;</xsl:text>
19                <xsl:apply-templates select="node"/>
20            </xsl:when>
21            <xsl:otherwise>
22                <xsl:choose>
23                    <xsl:when test="$depth=1">
24                        <xsl:if test="@TEXT='TASKS'">
25                            <!--xsl:text> TASK </xsl:text-->
26                            <xsl:apply-templates select="node" mode="task"/>
27                        </xsl:if>
28                    </xsl:when>
29                </xsl:choose>
30            </xsl:otherwise>
31        </xsl:choose>
32    </xsl:template>
33   
34    <!-- ATTRIBUTE -->
35    <xsl:template match="attribute">
36        <xsl:variable name="depth">
37            <xsl:apply-templates select=".." mode="depthMesurement"/>
38        </xsl:variable>
39        <xsl:choose>
40            <xsl:when test="@NAME='task'">
41            </xsl:when>
42            <xsl:otherwise>
43                <xsl:call-template name="spaces"><xsl:with-param name="count" select="($depth - 2) * 4"/></xsl:call-template>
44                <xsl:value-of select="@NAME"/>
45                <xsl:text> </xsl:text>
46                <xsl:value-of select="@VALUE"/>
47                <xsl:text>&#xA;</xsl:text>
48            </xsl:otherwise>
49        </xsl:choose>
50    </xsl:template>     
51
52   <!-- ATTRIBUTE TASK_ID-->
53    <xsl:template match="attribute" mode="task_id">
54        <xsl:if test="@NAME='task'">
55            <xsl:value-of select="@VALUE"/>
56        </xsl:if>
57    </xsl:template>     
58
59    <!-- NODE TASK -->
60    <xsl:template match="node" mode="task">
61        <xsl:variable name="depth">
62            <xsl:apply-templates select=".." mode="depthMesurement"/>
63        </xsl:variable>
64        <xsl:variable name="task_id">
65            <xsl:apply-templates select="attribute" mode="task_id"/>
66        </xsl:variable>
67        <xsl:choose>
68            <xsl:when test="@TEXT='#'">
69            </xsl:when>
70            <xsl:otherwise>
71                <xsl:choose>
72                    <xsl:when test="$task_id!=''">
73                        <xsl:text>&#xA;</xsl:text>
74                        <xsl:call-template name="spaces"><xsl:with-param name="count" select="($depth - 2) * 4"/></xsl:call-template>
75                        <xsl:text>task </xsl:text><xsl:value-of select="$task_id"/><xsl:text> "</xsl:text><xsl:value-of select="@TEXT"/><xsl:text>" {&#xA;</xsl:text>
76                        <xsl:apply-templates select="attribute"/>
77                        <xsl:apply-templates select="node" mode="task"/>
78                        <!-- koniec task -->
79                        <xsl:call-template name="spaces"><xsl:with-param name="count" select="($depth - 2) * 4"/></xsl:call-template>
80                        <xsl:text>}&#xA;</xsl:text>
81                    </xsl:when>
82                    <xsl:otherwise>
83                        <xsl:apply-templates select="node" mode="task"/>
84                    </xsl:otherwise>
85                </xsl:choose>
86            </xsl:otherwise>
87        </xsl:choose>
88   </xsl:template>
89 
90    <!-- Node Depth Mesurement -->
91    <xsl:template match="node" mode="depthMesurement">
92        <xsl:param name="depth" select=" '0' "/>
93            <xsl:apply-templates select=".." mode="depthMesurement">
94                <xsl:with-param name="depth" select="$depth + 1"/>
95            </xsl:apply-templates>
96    </xsl:template>
97       
98    <!-- Map Depth Mesurement -->
99    <xsl:template match="map" mode="depthMesurement">
100        <xsl:param name="depth" select=" '0' "/>
101        <xsl:value-of select="$depth"/>
102    </xsl:template>
103
104    <xsl:template name="spaces">
105        <xsl:param name="count" select="1"/>
106        <xsl:if test="$count > 0">
107            <xsl:text> </xsl:text>
108            <xsl:call-template name="spaces">
109                <xsl:with-param name="count" select="$count - 1"/>
110            </xsl:call-template>
111        </xsl:if>
112    </xsl:template> 
113
114</xsl:stylesheet>
Note: See TracBrowser for help on using the repository browser.