vshost-util-vserver

Build script and sources for util-vserver.
git clone https://ccx.te2000.cz/git/vshost-util-vserver
Log | Files | Refs

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>