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"
6 <xsl:output method="xml"
8 doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
9 doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>
11 <xsl:param name="confdir"/>
13 <xsl:template match="/">
15 <xsl:apply-templates/>
19 <xsl:template match="database">
21 <title>The <xsl:value-of select="$confdir"/> directory</title>
22 <link rel="stylesheet" title="gras" type="text/css" href="configuration-lsd.css"></link>
23 <link rel="stylesheet" title="gras1" type="text/css" href="configuration-lsd1.css"></link>
24 <link rel="stylesheet" title="flower" type="text/css" href="configuration-flower.css"></link>
25 <link rel="stylesheet" title="boring" type="text/css" href="configuration.css"></link>
28 <h1>The content of the <xsl:value-of select="$confdir"/> directory</h1>
30 <xsl:call-template name="collection">
31 <xsl:with-param name="thisdir"><xsl:value-of select="$confdir"/></xsl:with-param>
36 <xsl:template name="collection">
37 <xsl:param name="thisdir"/>
38 <xsl:if test="count(scalar) + count(link) + count(program) + count(data) + count(hash) + count(list) + count(boolean) + count(collection)>0">
40 <xsl:call-template name="dir-iterate">
41 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
47 <xsl:template name="dir-iterate">
48 <xsl:param name="thisdir"/>
49 <xsl:apply-templates select="scalar|link|program|data|hash|list|boolean">
50 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
51 <xsl:sort select="@name"/>
52 </xsl:apply-templates>
54 <xsl:apply-templates select="collection">
55 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
56 <xsl:sort select="@name"/>
57 </xsl:apply-templates>
60 <xsl:template match="program">
61 <xsl:param name="thisdir"/>
63 <xsl:call-template name="printname">
64 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
65 <xsl:with-param name="style">script</xsl:with-param>
67 <xsl:call-template name="printcontent"/>
71 <xsl:template match="hash">
72 <xsl:param name="thisdir"/>
74 <xsl:call-template name="printname">
75 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
76 <xsl:with-param name="style">hash</xsl:with-param>
78 <xsl:call-template name="printcontent"/>
82 <xsl:template match="scalar">
83 <xsl:param name="thisdir"/>
85 <xsl:call-template name="printname">
86 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
87 <xsl:with-param name="style">file</xsl:with-param>
89 <xsl:call-template name="printcontent"/>
93 <xsl:template match="data">
94 <xsl:param name="thisdir"/>
96 <xsl:call-template name="printname">
97 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
98 <xsl:with-param name="style">data</xsl:with-param>
100 <xsl:call-template name="printcontent"/>
104 <xsl:template match="list">
105 <xsl:param name="thisdir"/>
107 <xsl:call-template name="printname">
108 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
109 <xsl:with-param name="style">list</xsl:with-param>
111 <xsl:call-template name="printcontent"/>
115 <xsl:template match="link">
116 <xsl:param name="thisdir"/>
118 <xsl:call-template name="printname">
119 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
120 <xsl:with-param name="style">symlink</xsl:with-param>
122 <xsl:call-template name="printcontent"/>
126 <xsl:template match="boolean">
127 <xsl:param name="thisdir"/>
129 <xsl:call-template name="printname">
130 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
131 <xsl:with-param name="style">boolean</xsl:with-param>
133 <xsl:call-template name="printcontent"/>
137 <xsl:template match="collection">
138 <xsl:param name="thisdir"/>
140 <xsl:call-template name="printfullname">
141 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
142 <xsl:with-param name="style">directory</xsl:with-param>
144 <xsl:call-template name="printcontent"/>
146 <xsl:call-template name="collection">
147 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/>/<xsl:value-of select="@name"/></xsl:with-param>
152 <xsl:template match="collection" mode="printrpath">
153 <xsl:text>/</xsl:text>
154 <span class="{@type}">
155 <xsl:value-of select="@name"/>
159 <xsl:template match="elements">
160 <div class="elements">
162 <xsl:apply-templates select="element">
163 <xsl:sort select="@name"/>
164 </xsl:apply-templates>
169 <xsl:template match="elements/element">
170 <dt class="elements"><xsl:value-of select="@name"/></dt>
171 <dd class="elements"><xsl:apply-templates select="description"/></dd>
174 <xsl:template name="printfullname">
175 <xsl:param name="thisdir"/>
176 <xsl:param name="style"/>
177 <span class="{$style}">
178 <xsl:value-of select="$confdir"/>
179 <xsl:apply-templates select="ancestor-or-self::collection" mode="printrpath"/>
183 <xsl:template name="printname">
184 <xsl:param name="thisdir"/>
185 <xsl:param name="style"/>
186 <span class="{$style}" title="{$thisdir}/{@name}">
187 <xsl:value-of select="@name"/>
191 <xsl:template name="printcontent">
193 <xsl:apply-templates select="description"/>
194 <xsl:apply-templates select="elements"/>
197 <xsl:template match="description">
198 <div class="description">
199 <xsl:apply-templates/>
203 <xsl:template match="ulink">
204 <a href="{@url}"><xsl:apply-templates/></a>