switchToWatchXid(): added prototype
[util-vserver.git] / util-vserver / doc / configuration-xhtml.xsl
1 <?xml version="1.0" encoding="utf-8"?>
2 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3                 xmlns="http://www.w3.org/1999/xhtml"
4                 version="1.0">
5
6   <xsl:output method="xml"
7               indent="yes"
8               doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
9               doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>
10   
11   <xsl:template match="/">
12     <html>
13       <xsl:apply-templates/>
14     </html>
15   </xsl:template>
16
17   <xsl:template match="topleveldir[@type='confdir']">
18     <head>
19       <title>The <xsl:value-of select="$confdir"/> directory</title>
20       <link rel="stylesheet" title="LSD" type="text/css" href="configuration-lsd.css"></link>
21     </head>
22     <body>
23       <h1>The content of the <xsl:value-of select="$confdir"/> directory</h1>
24
25       <xsl:call-template name="dir">
26         <xsl:with-param name="thisdir"><xsl:value-of select="$confdir"/></xsl:with-param>
27       </xsl:call-template>
28     </body>
29   </xsl:template>
30
31   <xsl:template name="dir">
32     <xsl:param name="thisdir"/>
33     <xsl:message>
34       <xsl:value-of select="$thisdir"/>
35     </xsl:message>
36     <xsl:choose>
37       <xsl:when test="count(file) + count(symlink) + count(script) + count(dir) > 0">
38         <ul>
39           <xsl:call-template name="dir-iterate">
40             <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
41           </xsl:call-template>
42         </ul>
43       </xsl:when>
44       <xsl:otherwise>
45         <xsl:call-template name="dir-iterate">
46           <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
47         </xsl:call-template>
48       </xsl:otherwise>
49     </xsl:choose>
50   </xsl:template>
51
52   <xsl:template name="dir-iterate">
53     <xsl:param name="thisdir"/>
54     <xsl:apply-templates select="file|symlink|script">
55       <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
56       <xsl:sort select="@name"/>
57     </xsl:apply-templates>
58     
59     <xsl:apply-templates select="dir">
60       <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
61       <xsl:sort select="@name"/>
62     </xsl:apply-templates>
63   </xsl:template>
64
65   <xsl:template match="script">
66     <xsl:param name="thisdir"/>
67     <li>
68       <xsl:call-template name="printname">
69         <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
70         <xsl:with-param name="style">script</xsl:with-param>
71       </xsl:call-template>
72       <xsl:call-template name="printcontent"/>
73     </li>
74   </xsl:template>
75
76   <xsl:template match="file">
77     <xsl:param name="thisdir"/>
78     <li>
79       <xsl:call-template name="printname">
80         <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
81         <xsl:with-param name="style">file</xsl:with-param>
82       </xsl:call-template>
83       <xsl:call-template name="printcontent"/>
84     </li>
85   </xsl:template>
86
87   <xsl:template match="symlink">
88     <xsl:param name="thisdir"/>
89     <li>
90       <xsl:call-template name="printname">
91         <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
92         <xsl:with-param name="style">symlink</xsl:with-param>
93       </xsl:call-template>
94       <xsl:call-template name="printcontent"/>
95     </li>
96   </xsl:template>
97
98   <xsl:template match="dir">
99     <xsl:param name="thisdir"/>
100     <li>
101       <xsl:call-template name="printfullname">
102         <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
103         <xsl:with-param name="style">directory</xsl:with-param>
104       </xsl:call-template>
105       <xsl:call-template name="printcontent"/>
106
107       <xsl:call-template name="dir">
108         <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/>/<xsl:value-of select="@name"/></xsl:with-param>
109       </xsl:call-template>
110     </li>
111   </xsl:template>
112
113   <xsl:template match="dir" mode="printrpath">
114     <xsl:text>/</xsl:text>
115     <span class="{@type}">
116       <xsl:value-of select="@name"/>
117     </span>
118   </xsl:template>
119   
120   <xsl:template name="printfullname">
121     <xsl:param name="thisdir"/>
122     <xsl:param name="style"/>
123     <span class="{$style}">
124       <xsl:value-of select="$confdir"/>
125       <xsl:apply-templates select="ancestor-or-self::dir" mode="printrpath"/>
126     </span>
127   </xsl:template>
128
129   <xsl:template name="printname">
130     <xsl:param name="thisdir"/>
131     <xsl:param name="style"/>
132     <span class="{$style}" title="{$thisdir}/{@name}">
133       <xsl:value-of select="@name"/>
134     </span>
135   </xsl:template>
136
137   <xsl:template name="printcontent">
138     <br/>
139     <span class="description">
140       <xsl:apply-templates select="description"/>
141     </span>
142   </xsl:template>
143
144 </xsl:stylesheet>