configuration-xhtml.xsl (8798B)
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:param name="confdir"/> 12 13 <xsl:template match="/"> 14 <html> 15 <xsl:apply-templates/> 16 </html> 17 </xsl:template> 18 19 <xsl:template match="database"> 20 <head> 21 <title>The <xsl:value-of select="$confdir"/> directory</title> 22 <link rel="alternate stylesheet" title="gras" type="text/css" href="css/configuration-lsd.css" /> 23 <link rel="alternate stylesheet" title="gras1" type="text/css" href="css/configuration-lsd1.css" /> 24 <link rel="alternate stylesheet" title="flower" type="text/css" href="css/configuration-flower.css" /> 25 <link rel="alternate stylesheet" title="boring" type="text/css" href="configuration.css" /> 26 <link rel="stylesheet" title="weedpage" type="text/css" href="css/WeedPageStyle.css" /> 27 </head> 28 <body> 29 <h1>The content of the <xsl:value-of select="$confdir"/> directory</h1> 30 31 <xsl:call-template name="collection"> 32 <xsl:with-param name="thisdir"><xsl:value-of select="$confdir"/></xsl:with-param> 33 </xsl:call-template> 34 </body> 35 </xsl:template> 36 37 <xsl:template name="collection"> 38 <xsl:param name="thisdir"/> 39 <xsl:if test="count(scalar) + count(link) + count(program) + count(data) + count(hash) + count(list) + count(boolean) + count(collection)>0"> 40 <ul> 41 <xsl:if test="@id"><xsl:attribute name="id"><xsl:value-of select="@id" /></xsl:attribute></xsl:if> 42 <xsl:call-template name="dir-iterate"> 43 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param> 44 </xsl:call-template> 45 </ul> 46 </xsl:if> 47 </xsl:template> 48 49 <xsl:template name="dir-iterate"> 50 <xsl:param name="thisdir"/> 51 <xsl:apply-templates select="scalar|link|program|data|hash|list|boolean"> 52 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param> 53 <xsl:sort select="@name"/> 54 </xsl:apply-templates> 55 56 <xsl:apply-templates select="collection"> 57 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param> 58 <xsl:sort select="@name"/> 59 </xsl:apply-templates> 60 </xsl:template> 61 62 <xsl:template match="program"> 63 <xsl:param name="thisdir"/> 64 <li> 65 <xsl:call-template name="printname"> 66 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param> 67 <xsl:with-param name="style">script</xsl:with-param> 68 </xsl:call-template> 69 <xsl:call-template name="printcontent"/> 70 </li> 71 </xsl:template> 72 73 <xsl:template match="hash"> 74 <xsl:param name="thisdir"/> 75 <li> 76 <xsl:call-template name="printname"> 77 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param> 78 <xsl:with-param name="style">hash</xsl:with-param> 79 </xsl:call-template> 80 <xsl:call-template name="printcontent"/> 81 </li> 82 </xsl:template> 83 84 <xsl:template match="scalar"> 85 <xsl:param name="thisdir"/> 86 <li> 87 <xsl:call-template name="printname"> 88 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param> 89 <xsl:with-param name="style">file</xsl:with-param> 90 </xsl:call-template> 91 <xsl:call-template name="printcontent"/> 92 </li> 93 </xsl:template> 94 95 <xsl:template match="data"> 96 <xsl:param name="thisdir"/> 97 <li> 98 <xsl:call-template name="printname"> 99 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param> 100 <xsl:with-param name="style">data</xsl:with-param> 101 </xsl:call-template> 102 <xsl:call-template name="printcontent"/> 103 </li> 104 </xsl:template> 105 106 <xsl:template match="list"> 107 <xsl:param name="thisdir"/> 108 <li> 109 <xsl:call-template name="printname"> 110 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param> 111 <xsl:with-param name="style">list</xsl:with-param> 112 </xsl:call-template> 113 <xsl:call-template name="printcontent"/> 114 </li> 115 </xsl:template> 116 117 <xsl:template match="link"> 118 <xsl:param name="thisdir"/> 119 <li> 120 <xsl:call-template name="printname"> 121 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param> 122 <xsl:with-param name="style">symlink</xsl:with-param> 123 </xsl:call-template> 124 <xsl:call-template name="printcontent"/> 125 </li> 126 </xsl:template> 127 128 <xsl:template match="boolean"> 129 <xsl:param name="thisdir"/> 130 <li> 131 <xsl:call-template name="printname"> 132 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param> 133 <xsl:with-param name="style">boolean</xsl:with-param> 134 </xsl:call-template> 135 <xsl:call-template name="printcontent"/> 136 </li> 137 </xsl:template> 138 139 <xsl:template match="collection"> 140 <xsl:param name="thisdir"/> 141 <li> 142 <xsl:call-template name="printfullname"> 143 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param> 144 <xsl:with-param name="style">directory</xsl:with-param> 145 </xsl:call-template> 146 <xsl:call-template name="printcontent"/> 147 148 <xsl:call-template name="collection"> 149 <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/>/<xsl:call-template name="printdirname"/></xsl:with-param> 150 </xsl:call-template> 151 </li> 152 </xsl:template> 153 154 <xsl:template match="collection" mode="printrpath"> 155 <xsl:text>/</xsl:text> 156 <span class="{@type}"> 157 <xsl:value-of select="@name"/> 158 </span> 159 </xsl:template> 160 161 <xsl:template match="elements"> 162 <div class="elements"> 163 <dl> 164 <xsl:apply-templates select="element"> 165 <xsl:sort select="@name"/> 166 </xsl:apply-templates> 167 </dl> 168 </div> 169 </xsl:template> 170 171 <xsl:template match="elements/element"> 172 <dt class="elements"> 173 <xsl:if test="@id"><xsl:attribute name="id"><xsl:value-of select="@id" /></xsl:attribute></xsl:if> 174 <xsl:value-of select="@name"/> 175 </dt> 176 <dd class="elements"><xsl:apply-templates select="description"/></dd> 177 </xsl:template> 178 179 <xsl:template name="printfullname"> 180 <xsl:param name="thisdir"/> 181 <xsl:param name="style"/> 182 <xsl:if test="@id"><xsl:attribute name="id"><xsl:value-of select="@id" /></xsl:attribute></xsl:if> 183 <span class="{$style}"> 184 <xsl:value-of select="$confdir"/> 185 <xsl:apply-templates select="ancestor-or-self::collection" mode="printrpath"/> 186 </span> 187 </xsl:template> 188 189 <xsl:template name="printname"> 190 <xsl:param name="thisdir"/> 191 <xsl:param name="style"/> 192 <xsl:if test="@id"><xsl:attribute name="id"><xsl:value-of select="@id" /></xsl:attribute></xsl:if> 193 <span class="{$style}"> 194 <xsl:attribute name="title"> 195 <xsl:value-of select="$thisdir"/>/<xsl:call-template name="printdirname"/> 196 </xsl:attribute> 197 <xsl:value-of select="@name"/> 198 </span> 199 </xsl:template> 200 201 <xsl:template name="printcontent"> 202 <br/> 203 <xsl:apply-templates select="description"/> 204 <xsl:apply-templates select="elements"/> 205 </xsl:template> 206 207 <xsl:template name="printdirname"> 208 <xsl:if test="@type='symbolic'">$</xsl:if> 209 <xsl:value-of select="@name"/> 210 </xsl:template> 211 212 <xsl:template match="description"> 213 <div class="description"> 214 <xsl:apply-templates/> 215 </div> 216 </xsl:template> 217 218 <xsl:template match="ulink"> 219 <a href="{@url}"><xsl:apply-templates/></a> 220 </xsl:template> 221 222 <xsl:template match="br"> 223 <br /> 224 </xsl:template> 225 226 <xsl:template match="p"> 227 <div><xsl:apply-templates/></div> 228 </xsl:template> 229 230 <xsl:template match="tool"> 231 <code class="tool"><xsl:apply-templates/></code> 232 </xsl:template> 233 234 <xsl:template match="command"> 235 <code class="command"><xsl:apply-templates/></code> 236 </xsl:template> 237 238 <xsl:template match="directory"> 239 <span class="directoryname"><xsl:apply-templates/></span> 240 </xsl:template> 241 242 <xsl:template match="filename"> 243 <a class="filename"> 244 <xsl:attribute name="href">file://<xsl:value-of select="text()"/></xsl:attribute> 245 <xsl:apply-templates/> 246 </a> 247 </xsl:template> 248 249 <xsl:template match="optionref"> 250 <a class="optionref"> 251 <xsl:attribute name="href"> 252 <xsl:choose> 253 <xsl:when test="@ref">#<xsl:value-of select="@ref"/></xsl:when> 254 <xsl:otherwise>#<xsl:value-of select="text()"/></xsl:otherwise> 255 </xsl:choose> 256 </xsl:attribute><xsl:apply-templates/> 257 </a> 258 </xsl:template> 259 </xsl:stylesheet>