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="LSD" type="text/css" href="configuration-lsd.css"></link>
23 <link rel="stylesheet" title="boring" type="text/css" href="configuration.css"></link>
26 <h1>The content of the <xsl:value-of select="$confdir"/> directory</h1>
29 <xsl:call-template name="collection">
30 <xsl:with-param name="thisdir"><xsl:value-of select="$confdir"/></xsl:with-param>
36 <xsl:template name="collection">
37 <xsl:param name="thisdir"/>
39 <xsl:when test="count(scalar) + count(link) + count(program) + count(data) + count(hash) + count(list) + count(boolean) > 0">
41 <xsl:call-template name="dir-iterate">
42 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
47 <xsl:call-template name="dir-iterate">
48 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
54 <xsl:template name="dir-iterate">
55 <xsl:param name="thisdir"/>
56 <xsl:apply-templates select="scalar|link|program|data|hash|list|boolean">
57 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
58 <xsl:sort select="@name"/>
59 </xsl:apply-templates>
61 <xsl:apply-templates select="collection">
62 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
63 <xsl:sort select="@name"/>
64 </xsl:apply-templates>
67 <xsl:template match="program">
68 <xsl:param name="thisdir"/>
70 <xsl:call-template name="printname">
71 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
72 <xsl:with-param name="style">script</xsl:with-param>
74 <xsl:call-template name="printcontent"/>
78 <xsl:template match="hash">
79 <xsl:param name="thisdir"/>
81 <xsl:call-template name="printname">
82 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
83 <xsl:with-param name="style">hash</xsl:with-param>
85 <xsl:call-template name="printcontent"/>
89 <xsl:template match="scalar">
90 <xsl:param name="thisdir"/>
92 <xsl:call-template name="printname">
93 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
94 <xsl:with-param name="style">file</xsl:with-param>
96 <xsl:call-template name="printcontent"/>
100 <xsl:template match="data">
101 <xsl:param name="thisdir"/>
103 <xsl:call-template name="printname">
104 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
105 <xsl:with-param name="style">data</xsl:with-param>
107 <xsl:call-template name="printcontent"/>
111 <xsl:template match="list">
112 <xsl:param name="thisdir"/>
114 <xsl:call-template name="printname">
115 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
116 <xsl:with-param name="style">list</xsl:with-param>
118 <xsl:call-template name="printcontent"/>
122 <xsl:template match="link">
123 <xsl:param name="thisdir"/>
125 <xsl:call-template name="printname">
126 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
127 <xsl:with-param name="style">symlink</xsl:with-param>
129 <xsl:call-template name="printcontent"/>
133 <xsl:template match="boolean">
134 <xsl:param name="thisdir"/>
136 <xsl:call-template name="printname">
137 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
138 <xsl:with-param name="style">boolean</xsl:with-param>
140 <xsl:call-template name="printcontent"/>
144 <xsl:template match="collection">
145 <xsl:param name="thisdir"/>
147 <xsl:call-template name="printfullname">
148 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
149 <xsl:with-param name="style">directory</xsl:with-param>
151 <xsl:call-template name="printcontent"/>
153 <xsl:call-template name="collection">
154 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/>/<xsl:value-of select="@name"/></xsl:with-param>
159 <xsl:template match="collection" mode="printrpath">
160 <xsl:text>/</xsl:text>
161 <span class="{@type}">
162 <xsl:value-of select="@name"/>
166 <xsl:template name="printfullname">
167 <xsl:param name="thisdir"/>
168 <xsl:param name="style"/>
169 <span class="{$style}">
170 <xsl:value-of select="$confdir"/>
171 <xsl:apply-templates select="ancestor-or-self::collection" mode="printrpath"/>
175 <xsl:template name="printname">
176 <xsl:param name="thisdir"/>
177 <xsl:param name="style"/>
178 <span class="{$style}" title="{$thisdir}/{@name}">
179 <xsl:value-of select="@name"/>
183 <xsl:template name="printcontent">
185 <span class="description">
186 <xsl:apply-templates select="description"/>