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:template match="/">
13 <xsl:apply-templates/>
17 <xsl:template match="topleveldir[@type='confdir']">
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 <link rel="stylesheet" title="boring" type="text/css" href="configuration.css"></link>
24 <h1>The content of the <xsl:value-of select="$confdir"/> directory</h1>
26 <xsl:call-template name="dir">
27 <xsl:with-param name="thisdir"><xsl:value-of select="$confdir"/></xsl:with-param>
32 <xsl:template name="dir">
33 <xsl:param name="thisdir"/>
35 <xsl:value-of select="$thisdir"/>
38 <xsl:when test="count(file) + count(symlink) + count(script) + count(dir) > 0">
40 <xsl:call-template name="dir-iterate">
41 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
46 <xsl:call-template name="dir-iterate">
47 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
53 <xsl:template name="dir-iterate">
54 <xsl:param name="thisdir"/>
55 <xsl:apply-templates select="file|symlink|script">
56 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
57 <xsl:sort select="@name"/>
58 </xsl:apply-templates>
60 <xsl:apply-templates select="dir">
61 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
62 <xsl:sort select="@name"/>
63 </xsl:apply-templates>
66 <xsl:template match="script">
67 <xsl:param name="thisdir"/>
69 <xsl:call-template name="printname">
70 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
71 <xsl:with-param name="style">script</xsl:with-param>
73 <xsl:call-template name="printcontent"/>
77 <xsl:template match="file">
78 <xsl:param name="thisdir"/>
80 <xsl:call-template name="printname">
81 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
82 <xsl:with-param name="style">file</xsl:with-param>
84 <xsl:call-template name="printcontent"/>
88 <xsl:template match="symlink">
89 <xsl:param name="thisdir"/>
91 <xsl:call-template name="printname">
92 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
93 <xsl:with-param name="style">symlink</xsl:with-param>
95 <xsl:call-template name="printcontent"/>
99 <xsl:template match="dir">
100 <xsl:param name="thisdir"/>
102 <xsl:call-template name="printfullname">
103 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
104 <xsl:with-param name="style">directory</xsl:with-param>
106 <xsl:call-template name="printcontent"/>
108 <xsl:call-template name="dir">
109 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/>/<xsl:value-of select="@name"/></xsl:with-param>
114 <xsl:template match="dir" mode="printrpath">
115 <xsl:text>/</xsl:text>
116 <span class="{@type}">
117 <xsl:value-of select="@name"/>
121 <xsl:template name="printfullname">
122 <xsl:param name="thisdir"/>
123 <xsl:param name="style"/>
124 <span class="{$style}">
125 <xsl:value-of select="$confdir"/>
126 <xsl:apply-templates select="ancestor-or-self::dir" mode="printrpath"/>
130 <xsl:template name="printname">
131 <xsl:param name="thisdir"/>
132 <xsl:param name="style"/>
133 <span class="{$style}" title="{$thisdir}/{@name}">
134 <xsl:value-of select="@name"/>
138 <xsl:template name="printcontent">
140 <span class="description">
141 <xsl:apply-templates select="description"/>