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>
23 <h1>The content of the <xsl:value-of select="$confdir"/> directory</h1>
25 <xsl:call-template name="dir">
26 <xsl:with-param name="thisdir"><xsl:value-of select="$confdir"/></xsl:with-param>
31 <xsl:template name="dir">
32 <xsl:param name="thisdir"/>
34 <xsl:value-of select="$thisdir"/>
37 <xsl:when test="count(file) + count(symlink) + count(script) + count(dir) > 0">
39 <xsl:call-template name="dir-iterate">
40 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
45 <xsl:call-template name="dir-iterate">
46 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
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>
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>
65 <xsl:template match="script">
66 <xsl:param name="thisdir"/>
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>
72 <xsl:call-template name="printcontent"/>
76 <xsl:template match="file">
77 <xsl:param name="thisdir"/>
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>
83 <xsl:call-template name="printcontent"/>
87 <xsl:template match="symlink">
88 <xsl:param name="thisdir"/>
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>
94 <xsl:call-template name="printcontent"/>
98 <xsl:template match="dir">
99 <xsl:param name="thisdir"/>
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>
105 <xsl:call-template name="printcontent"/>
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>
113 <xsl:template match="dir" mode="printrpath">
114 <xsl:text>/</xsl:text>
115 <span class="{@type}">
116 <xsl:value-of select="@name"/>
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"/>
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"/>
137 <xsl:template name="printcontent">
139 <span class="description">
140 <xsl:apply-templates select="description"/>