Ticket #1967: balicky.xslt

File balicky.xslt, 5.5 KB (added by Blondak <blondak@…>, 5 years ago)

XSLT file for XML output

Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
3        <xsl:output method="html" encoding="UTF-8" indent="no" />
4       
5        <xsl:variable name="DisabledFeature">-</xsl:variable>
6        <xsl:variable name="EnabledFeature"><span class="highlight"><![CDATA[&radic;]]></span></xsl:variable>
7
8        <xsl:variable name="LimitsNoLimit">not limited</xsl:variable>
9        <xsl:variable name="LimitsNone">none</xsl:variable>
10       
11       
12        <xsl:template match="packages">
13                <p>
14                Porovnání balíčků
15           </p>
16           <table>
17                   <thead>
18                                <tr>
19                                        <th><![CDATA[&nbsp;]]></th>
20                                        <xsl:apply-templates select="package" />
21                                </tr>   
22                </thead>
23                <tbody>
24                                <tr><td>Subdomains</td><xsl:apply-templates select="package/support/subdomains" /></tr>   
25                                <tr><td>Aliases</td><xsl:apply-templates select="package/support/aliases" /></tr>   
26                                <tr><td>Email addresses</td><xsl:apply-templates select="package/support/email" /></tr>   
27                                <tr><td>FTP accounts</td><xsl:apply-templates select="package/support/ftp" /></tr>   
28                                <tr><td>SQL databases</td><xsl:apply-templates select="package/support/database" /></tr>   
29                                <tr><td>SQL users</td><xsl:apply-templates select="package/support/database_users" /></tr>   
30                                <tr><td>Disk space</td><xsl:apply-templates select="package/support/disk" /></tr>
31                                <tr><td>Traffic limit</td><xsl:apply-templates select="package/support/traffic" /></tr>
32                                <tr><td>PHP support</td><xsl:apply-templates select="package/support/php" /></tr>
33                                <tr><td>CGI support</td><xsl:apply-templates select="package/support/cgi" /></tr>   
34                </tbody>
35           </table>
36        </xsl:template>
37
38        <xsl:template name="enabledFeature">
39                <xsl:param name="isEnabled" select="0" />
40                <xsl:choose>
41                        <xsl:when test="$isEnabled=1"><xsl:copy-of select="$EnabledFeature" /></xsl:when>
42                        <xsl:otherwise><xsl:copy-of select="$DisabledFeature" /></xsl:otherwise>
43                </xsl:choose>
44        </xsl:template>
45
46        <xsl:template name="limits">
47                <xsl:param name="limit" select="0" />
48                <xsl:param name="append" />
49                <xsl:choose>
50                        <xsl:when test="$limit='nolimit'"><xsl:copy-of select="$LimitsNoLimit" /></xsl:when>
51                        <xsl:when test="$limit='0'"><xsl:copy-of select="$LimitsNone" /></xsl:when>
52                        <xsl:otherwise><xsl:copy-of select="$limit" /><xsl:copy-of select="$append" /></xsl:otherwise>
53                </xsl:choose>
54        </xsl:template>
55
56        <xsl:template match="package/support/subdomains">
57                <td>
58                        <xsl:call-template name="limits">
59                                <xsl:with-param name="limit"><xsl:value-of select="@limit" /></xsl:with-param>
60                        </xsl:call-template>
61                </td>
62        </xsl:template>
63
64        <xsl:template match="package/support/aliases">
65                <td>
66                        <xsl:call-template name="limits">
67                                <xsl:with-param name="limit"><xsl:value-of select="@limit" /></xsl:with-param>
68                        </xsl:call-template>
69                </td>
70        </xsl:template>
71
72        <xsl:template match="package/support/email">
73                <td>
74                        <xsl:call-template name="limits">
75                                <xsl:with-param name="limit"><xsl:value-of select="@limit" /></xsl:with-param>
76                        </xsl:call-template>
77                </td>
78        </xsl:template>
79
80        <xsl:template match="package/support/ftp">
81                <td>
82                        <xsl:call-template name="limits">
83                                <xsl:with-param name="limit"><xsl:value-of select="@limit" /></xsl:with-param>
84                        </xsl:call-template>
85                </td>
86        </xsl:template>
87
88        <xsl:template match="package/support/database">
89                <td>
90                        <xsl:call-template name="limits">
91                                <xsl:with-param name="limit"><xsl:value-of select="@limit" /></xsl:with-param>
92                        </xsl:call-template>
93                </td>
94        </xsl:template>
95
96        <xsl:template match="package/support/database_users">
97                <td>
98                        <xsl:call-template name="limits">
99                                <xsl:with-param name="limit"><xsl:value-of select="@limit" /></xsl:with-param>
100                        </xsl:call-template>
101                </td>
102        </xsl:template>
103
104        <xsl:template match="package/support/cgi">
105                <td>
106                        <xsl:call-template name="enabledFeature">
107                                <xsl:with-param name="isEnabled"><xsl:value-of select="@enabled" /></xsl:with-param>
108                        </xsl:call-template>
109                </td>
110        </xsl:template>
111       
112        <xsl:template match="package/support/php">
113                <td>
114                        <xsl:call-template name="enabledFeature">
115                                <xsl:with-param name="isEnabled"><xsl:value-of select="@enabled" /></xsl:with-param>
116                        </xsl:call-template>
117                </td>
118        </xsl:template>
119
120        <xsl:template match="package/support/disk">
121                <td>
122                        <xsl:call-template name="limits">
123                                <xsl:with-param name="limit"><xsl:value-of select="@limit" /></xsl:with-param>
124                                <xsl:with-param name="append"> MiB</xsl:with-param>
125                        </xsl:call-template>
126                </td>
127        </xsl:template>
128
129        <xsl:template match="package/support/traffic">
130                <td>
131                        <xsl:call-template name="limits">
132                                <xsl:with-param name="limit"><xsl:value-of select="@limit" /></xsl:with-param>
133                        </xsl:call-template>
134                </td>
135        </xsl:template>
136
137        <xsl:template match="package">
138                <th><xsl:value-of select="info" /></th>
139        </xsl:template>
140
141<!--
142        <xsl:template match="packages/package">
143                <h2><xsl:value-of select="title"/></h2>
144                <blockquote><xsl:value-of select="info"/></blockquote>
145                <h3>Balíček obsahuje</h3>
146                <ul>
147                        <li><strong><xsl:value-of select="support/disk/@limit" /> MiB</strong> diskového prostoru</li>
148                </ul>
149                <p class="no-indent">
150                        Cena balíčku <strong><xsl:value-of select="format-number(prices/price,'#0')" />,- Kč </strong> <xsl:value-of select="prices/price/@frequency" />.
151                        Objednávat můžete na
152                        <a>
153                                <xsl:attribute name="href">http://debian.jware.cz/orderpanel/<xsl:value-of select="order/@href" /></xsl:attribute>
154                                <xsl:attribute name="title" >Objednávat si balíček <xsl:value-of select="title" /></xsl:attribute>
155                               
156                                této stránce
157                        </a>.
158                </p>
159        </xsl:template>
160-->
161</xsl:stylesheet>