root/src/modules/module-online.xsl

Revision 19fbca7e866bf5e3913984a13ca74cdd46345900, 4.2 kB (checked in by Theo Schlossnagle <jesus@omniti.com>, 6 months ago)

cleanup noit-config to have all the bits for simple module building.

  • Property mode set to 100644
Line 
1 <xsl:stylesheet version="1.0"
2                 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
3 <xsl:output omit-xml-declaration="yes" indent="yes"/>
4 <xsl:output method="text"/>
5 <xsl:strip-space elements="*"/>
6
7 <xsl:template name="wrap-string">
8     <xsl:param name="str" />
9     <xsl:param name="wrap-col" />
10     <xsl:param name="break-mark" />
11     <xsl:param name="pos" select="0" />
12     <xsl:choose>
13         <xsl:when test="contains( $str, ' ' )">
14             <xsl:variable name="before" select="substring-before( $str, ' ' )" />
15             <xsl:variable name="pos-now" select="$pos + string-length( $before ) + 1" />
16             <xsl:choose>
17                 <xsl:when test="$pos = 0" />
18                 <xsl:when test="floor( $pos div $wrap-col ) != floor( $pos-now div $wrap-col )">
19                     <xsl:text xml:spacing="preserve">
20 </xsl:text><xsl:copy-of select="$break-mark" />
21                 </xsl:when>
22                 <xsl:otherwise>
23                     <xsl:text> </xsl:text>
24                 </xsl:otherwise>
25             </xsl:choose>
26
27             <xsl:value-of select="$before" />
28
29             <xsl:call-template name="wrap-string">
30                 <xsl:with-param name="str" select="substring-after( $str, ' ' )" />
31                 <xsl:with-param name="wrap-col" select="$wrap-col" />
32                 <xsl:with-param name="break-mark" select="$break-mark" />
33                 <xsl:with-param name="pos" select="$pos-now" />
34             </xsl:call-template>
35         </xsl:when>
36         <xsl:otherwise>
37           <xsl:variable name="pos-now" select="$pos + string-length( $str )" />
38           <xsl:choose>
39             <xsl:when test="floor( $pos div $wrap-col ) != floor( $pos-now div $wrap-col )">
40               <xsl:text xml:spacing="preserve">
41 </xsl:text><xsl:copy-of select="$break-mark" />
42             </xsl:when>
43             <xsl:otherwise>
44               <xsl:text> </xsl:text>
45             </xsl:otherwise>
46           </xsl:choose>
47           <xsl:value-of select="$str" />
48         </xsl:otherwise>
49     </xsl:choose>
50 </xsl:template>
51
52 <xsl:template match="parameter" name="configparams" xml:space="preserve">
53     name: <xsl:value-of select="@name"/> (<xsl:value-of select="@required"/>) <xsl:if test="@default">[<xsl:value-of select="@default"/>]</xsl:if>
54           allowed: /^<xsl:value-of select="@allowed"/>$/
55           <xsl:call-template name="wrap-string" xml:space="default">
56             <xsl:with-param name="str" select="."/>
57             <xsl:with-param name="break-mark" select="'          '"/>
58             <xsl:with-param name="wrap-col" select="'66'"/>
59           </xsl:call-template>
60 </xsl:template>
61
62 <xsl:param name="example" select="0"/>
63 <xsl:template match="/">= <xsl:value-of select="module/name"/> =
64
65 <xsl:for-each select="module/description/*">
66   <xsl:text xml:spacing="preserve">    </xsl:text>
67   <xsl:call-template name="wrap-string">
68     <xsl:with-param name="str" select="."/>
69     <xsl:with-param name="break-mark" select="'    '"/>
70     <xsl:with-param name="wrap-col" select="'70'"/>
71   </xsl:call-template>
72   <xsl:text xml:spacing="preserve">
73
74 </xsl:text>
75 </xsl:for-each>
76
77   loader: <xsl:value-of select="module/loader"/>
78   <xsl:if test="module/image">, image: <xsl:value-of select="module/image"/> </xsl:if>
79   <xsl:if test="module/object">, object: <xsl:value-of select="module/object"/> </xsl:if>
80
81   === Module Configuration ===
82     <xsl:choose>
83       <xsl:when  test="module/moduleconfig/parameter">
84         <xsl:for-each select="module/moduleconfig/parameter">
85           <xsl:call-template name="configparams" />
86         </xsl:for-each>
87       </xsl:when>
88       <xsl:otherwise>No module-level options available for this module.</xsl:otherwise>
89     </xsl:choose>
90
91   === Check Configuration ===
92     <xsl:choose>
93       <xsl:when  test="module/checkconfig/parameter">
94         <xsl:for-each select="module/checkconfig/parameter">
95     <xsl:call-template name="configparams" />
96         </xsl:for-each>
97       </xsl:when>
98       <xsl:otherwise>No check-level options available for this module.</xsl:otherwise>
99     </xsl:choose>
100
101   <xsl:if test="$example != 0">
102   == Examples ==
103   <xsl:for-each select="module/examples/example"><xsl:value-of disable-output-escaping="yes" select="."/></xsl:for-each>
104   </xsl:if>
105 </xsl:template>
106 </xsl:stylesheet>
Note: See TracBrowser for help on using the browser.