2
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
3
xmlns:exsl="http://exslt.org/common"
4
xmlns:ctrlproxy="http://ctrlproxy.vernstok.nl/common"
6
extension-element-prefixes="exsl">
8
<xsl:output indent="yes" method="xml" omit-xml-declaration="yes"/>
10
<xsl:param name="xmlCtrlproxyNsUri" select="'http://ctrlproxy.vernstok.nl/common'"/>
12
<xsl:template match="ctrlproxy:module">
13
<xsl:element name="chapter">
14
<xsl:attribute name="id">
15
<xsl:value-of select="@name"/>
18
<xsl:if test="not(title!='')">
19
<xsl:element name="title">
21
<xsl:when test="@name != ''">
22
<xsl:value-of select="@name"/><xsl:text> module</xsl:text>
25
<xsl:value-of select="@id"/>
31
<xsl:apply-templates/>
35
<xsl:template match="modulemeta">
36
<xsl:if test="description != ''">
37
<xsl:element name="para">
38
<xsl:value-of select="description"/>
42
<xsl:element name="sect1">
43
<xsl:element name="title"><xsl:text>Module information</xsl:text></xsl:element>
44
<xsl:element name="variablelist">
45
<xsl:if test="version != ''">
47
<xsl:element name="varlistentry">
48
<xsl:element name="term">Version:</xsl:element>
49
<xsl:element name="listitem"><xsl:element name="para"><xsl:value-of select="version"/></xsl:element></xsl:element>
53
<xsl:if test="author != ''">
55
<xsl:element name="varlistentry">
56
<xsl:element name="term">Author:</xsl:element>
57
<xsl:element name="listitem"><xsl:element name="para">
58
<xsl:element name="ulink">
59
<xsl:attribute name="url"><xsl:text>mailto:</xsl:text><xsl:value-of select="email"/></xsl:attribute>
60
<xsl:value-of select="author"/></xsl:element></xsl:element>
65
<xsl:if test="homepage != ''">
67
<xsl:element name="varlistentry">
68
<xsl:element name="term">Homepage:</xsl:element>
69
<xsl:element name="listitem"><xsl:element name="para">
70
<xsl:element name="ulink">
71
<xsl:attribute name="url"><xsl:value-of select="homepage"/></xsl:attribute>
72
<xsl:value-of select="homepage"/>
79
<xsl:if test="requirements != ''">
81
<xsl:element name="varlistentry">
82
<xsl:element name="term">Requirements:</xsl:element>
83
<xsl:element name="listitem">
84
<xsl:element name="para">
85
<xsl:value-of select="requirements"/>
94
<xsl:template match="element">
95
<xsl:element name="varlistentry">
96
<xsl:element name="term"><xsl:element name="emphasis"><xsl:value-of select="@name"/></xsl:element></xsl:element>
97
<xsl:element name="listitem">
98
<xsl:element name="para">
99
<xsl:value-of select="description"/>
101
<xsl:if test="element != '' or attribute != ''">
102
<xsl:element name="variablelist">
103
<xsl:apply-templates/>
110
<xsl:template match="element/description"></xsl:template>
112
<xsl:template match="attribute">
113
<xsl:element name="varlistentry">
114
<xsl:element name="term"><xsl:element name="emphasis"><xsl:value-of select="@name"/></xsl:element></xsl:element>
115
<xsl:element name="listitem">
116
<xsl:element name="para">
117
<xsl:value-of select="description"/>
123
<xsl:template match="configuration">
124
<xsl:element name="sect1">
125
<xsl:element name="title"><xsl:text>Configuration</xsl:text></xsl:element>
127
<xsl:element name="para"><xsl:text>The following XML elements are supported:</xsl:text></xsl:element>
129
<xsl:if test="element != '' or attribute != ''">
130
<xsl:element name="variablelist">
131
<xsl:apply-templates/>
137
<xsl:template match="ctrlproxy:module/description">
138
<xsl:element name="sect1">
139
<xsl:element name="title"><xsl:text>Description</xsl:text></xsl:element>
140
<xsl:apply-templates/>
144
<xsl:template match="ctrlproxy:module/example">
145
<xsl:element name="sect1">
146
<xsl:element name="title"><xsl:text>Example configuration</xsl:text></xsl:element>
147
<xsl:element name="programlisting">
148
<xsl:apply-templates/>
153
<xsl:template match="section">
154
<xsl:element name="sect1">
155
<xsl:apply-templates/>
159
<xsl:template match="subsection">
160
<xsl:element name="sect2">
161
<xsl:apply-templates/>
165
<xsl:template match="todo">
166
<xsl:element name="sect1">
167
<xsl:element name="title"><xsl:text>Planned features</xsl:text></xsl:element>
168
<xsl:apply-templates/>
172
<xsl:template match="bugs">
173
<xsl:element name="sect1">
174
<xsl:element name="title"><xsl:text>Known bugs</xsl:text></xsl:element>
175
<xsl:apply-templates/>
179
<!-- Copy content unchanged -->
180
<xsl:template match="@*|node()">
182
<xsl:apply-templates select="@*|node()"/>