root/src/modules/module-online.xsl

Revision db656f3332551668dbf8656d8dcd05fe917ddcd7, 4.0 kB (checked in by Theo Schlossnagle <jesus@omniti.com>, 6 years ago)

pull help and docs into the console, refs #21

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