added 'novlandev' interface flag
[util-vserver.git] / util-vserver / doc / configuration-xhtml.xsl
index 0a17788..7965f19 100644 (file)
@@ -7,62 +7,59 @@
               indent="yes"
               doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
               doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>
-  
-  <xsl:param name="confdir"/>
 
+  <xsl:param name="confdir"/>
+  
   <xsl:template match="/">
     <html>
       <xsl:apply-templates/>
     </html>
   </xsl:template>
 
-  <xsl:template match="topleveldir[@type='confdir']">
+  <xsl:template match="database">
     <head>
       <title>The <xsl:value-of select="$confdir"/> directory</title>
-      <link rel="stylesheet" title="LSD"    type="text/css" href="configuration-lsd.css"></link>
-      <link rel="stylesheet" title="boring" type="text/css" href="configuration.css"></link>
+      <link rel="stylesheet"           title="gras"     type="text/css" href="css/configuration-lsd.css" />
+      <link rel="alternate stylesheet" title="gras1"    type="text/css" href="css/configuration-lsd1.css" />
+      <link rel="alternate stylesheet" title="flower"   type="text/css" href="css/configuration-flower.css" />
+      <link rel="alternate stylesheet" title="boring"   type="text/css" href="configuration.css" />
+      <link rel="alternate stylesheet" title="weedpage" type="text/css" href="css/WeedPageStyle.css" />
     </head>
     <body>
       <h1>The content of the <xsl:value-of select="$confdir"/> directory</h1>
 
-      <xsl:call-template name="dir">
+      <xsl:call-template name="collection">
         <xsl:with-param name="thisdir"><xsl:value-of select="$confdir"/></xsl:with-param>
       </xsl:call-template>
     </body>
   </xsl:template>
 
-  <xsl:template name="dir">
+  <xsl:template name="collection">
     <xsl:param name="thisdir"/>
-    <xsl:choose>
-      <xsl:when test="count(file) + count(symlink) + count(script) + count(dir) > 0">
-        <ul>
-          <xsl:call-template name="dir-iterate">
-            <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
-          </xsl:call-template>
-        </ul>
-      </xsl:when>
-      <xsl:otherwise>
+    <xsl:if test="count(scalar) + count(link) + count(program) + count(data) + count(hash) + count(list) + count(boolean) + count(collection)>0">
+      <ul>
+        <xsl:if test="@id"><xsl:attribute name="id"><xsl:value-of select="@id" /></xsl:attribute></xsl:if>
         <xsl:call-template name="dir-iterate">
           <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
         </xsl:call-template>
-      </xsl:otherwise>
-    </xsl:choose>
+      </ul>
+    </xsl:if>
   </xsl:template>
 
   <xsl:template name="dir-iterate">
     <xsl:param name="thisdir"/>
-    <xsl:apply-templates select="file|symlink|script">
+    <xsl:apply-templates select="scalar|link|program|data|hash|list|boolean">
       <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
       <xsl:sort select="@name"/>
     </xsl:apply-templates>
-    
-    <xsl:apply-templates select="dir">
+
+    <xsl:apply-templates select="collection">
       <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
       <xsl:sort select="@name"/>
     </xsl:apply-templates>
   </xsl:template>
 
-  <xsl:template match="script">
+  <xsl:template match="program">
     <xsl:param name="thisdir"/>
     <li>
       <xsl:call-template name="printname">
     </li>
   </xsl:template>
 
-  <xsl:template match="file">
+  <xsl:template match="hash">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">hash</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+    </li>
+  </xsl:template>
+  
+  <xsl:template match="scalar">
     <xsl:param name="thisdir"/>
     <li>
       <xsl:call-template name="printname">
     </li>
   </xsl:template>
 
-  <xsl:template match="symlink">
+  <xsl:template match="data">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">data</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+    </li>
+  </xsl:template>
+
+  <xsl:template match="list">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">list</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+    </li>
+  </xsl:template>
+  
+  <xsl:template match="link">
     <xsl:param name="thisdir"/>
     <li>
       <xsl:call-template name="printname">
     </li>
   </xsl:template>
 
-  <xsl:template match="dir">
+  <xsl:template match="boolean">
+    <xsl:param name="thisdir"/>
+    <li>
+      <xsl:call-template name="printname">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/></xsl:with-param>
+        <xsl:with-param name="style">boolean</xsl:with-param>
+      </xsl:call-template>
+      <xsl:call-template name="printcontent"/>
+    </li>
+  </xsl:template>
+  
+  <xsl:template match="collection">
     <xsl:param name="thisdir"/>
     <li>
       <xsl:call-template name="printfullname">
       </xsl:call-template>
       <xsl:call-template name="printcontent"/>
 
-      <xsl:call-template name="dir">
-        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/>/<xsl:value-of select="@name"/></xsl:with-param>
+      <xsl:call-template name="collection">
+        <xsl:with-param name="thisdir"><xsl:value-of select="$thisdir"/>/<xsl:call-template name="printdirname"/></xsl:with-param>
       </xsl:call-template>
     </li>
   </xsl:template>
 
-  <xsl:template match="dir" mode="printrpath">
+  <xsl:template match="collection" mode="printrpath">
     <xsl:text>/</xsl:text>
-    <span class="{@type}">
+      <span class="{@type}">
       <xsl:value-of select="@name"/>
     </span>
   </xsl:template>
+
+  <xsl:template match="elements">
+    <div class="elements">
+      <dl>
+        <xsl:apply-templates select="element">
+          <xsl:sort select="@name"/>
+        </xsl:apply-templates>
+      </dl>
+    </div>
+  </xsl:template>
+
+  <xsl:template match="elements/element">
+    <dt class="elements">
+      <xsl:if test="@id"><xsl:attribute name="id"><xsl:value-of select="@id" /></xsl:attribute></xsl:if>
+      <xsl:value-of select="@name"/>
+    </dt>
+    <dd class="elements"><xsl:apply-templates select="description"/></dd>
+  </xsl:template>
   
   <xsl:template name="printfullname">
     <xsl:param name="thisdir"/>
     <xsl:param name="style"/>
+    <xsl:if test="@id"><xsl:attribute name="id"><xsl:value-of select="@id" /></xsl:attribute></xsl:if>
     <span class="{$style}">
       <xsl:value-of select="$confdir"/>
-      <xsl:apply-templates select="ancestor-or-self::dir" mode="printrpath"/>
+      <xsl:apply-templates select="ancestor-or-self::collection" mode="printrpath"/>
     </span>
   </xsl:template>
 
   <xsl:template name="printname">
     <xsl:param name="thisdir"/>
     <xsl:param name="style"/>
-    <span class="{$style}" title="{$thisdir}/{@name}">
+    <xsl:if test="@id"><xsl:attribute name="id"><xsl:value-of select="@id" /></xsl:attribute></xsl:if>
+    <span class="{$style}">
+      <xsl:attribute name="title">
+        <xsl:value-of select="$thisdir"/>/<xsl:call-template name="printdirname"/>
+      </xsl:attribute>
       <xsl:value-of select="@name"/>
     </span>
   </xsl:template>
 
   <xsl:template name="printcontent">
     <br/>
-    <span class="description">
-      <xsl:apply-templates select="description"/>
-    </span>
+    <xsl:apply-templates select="description"/>
+    <xsl:apply-templates select="elements"/>
+  </xsl:template>
+
+  <xsl:template name="printdirname">
+    <xsl:if test="@type='symbolic'">$</xsl:if>
+    <xsl:value-of select="@name"/>
+  </xsl:template>
+
+  <xsl:template match="description">
+    <div class="description">
+      <xsl:apply-templates/>
+    </div>
+  </xsl:template>
+
+  <xsl:template match="ulink">
+    <a href="{@url}"><xsl:apply-templates/></a>
+  </xsl:template>
+
+  <xsl:template match="br">
+    <br />
+  </xsl:template>
+
+  <xsl:template match="p">
+    <div><xsl:apply-templates/></div>
+  </xsl:template>
+
+  <xsl:template match="tool">
+    <code class="tool"><xsl:apply-templates/></code>
   </xsl:template>
 
+  <xsl:template match="command">
+    <code class="command"><xsl:apply-templates/></code>
+  </xsl:template>
+
+  <xsl:template match="directory">
+    <span class="directoryname"><xsl:apply-templates/></span>
+  </xsl:template>
+
+  <xsl:template match="filename">
+    <a class="filename">
+      <xsl:attribute name="href">file://<xsl:value-of select="text()"/></xsl:attribute>
+      <xsl:apply-templates/>
+    </a>
+  </xsl:template>
+  
+  <xsl:template match="optionref">
+    <a class="optionref">
+      <xsl:attribute name="href">
+        <xsl:choose>
+          <xsl:when test="@ref">#<xsl:value-of select="@ref"/></xsl:when>
+          <xsl:otherwise>#<xsl:value-of select="text()"/></xsl:otherwise>
+        </xsl:choose>
+      </xsl:attribute><xsl:apply-templates/>
+    </a>
+  </xsl:template>
 </xsl:stylesheet>