man pages: Fix synonyms.
[samba.git] / docs-xml / xslt / expand-smbconfdoc.xsl
1 <?xml version='1.0'?>
2 <!-- 
3         smb.conf-documentation specific stylesheets
4         Published under the GNU GPL
5
6         (C) Jelmer Vernooij                                     2002-2004
7         (C) Alexander Bokovoy                                   2002-2004
8 -->
9 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
10         xmlns:samba="http://www.samba.org/samba/DTD/samba-doc"
11         version="1.1">
12
13         <xsl:template match="description"><xsl:apply-templates/></xsl:template>
14
15         <xsl:template match="value"><xsl:element name="literal"><xsl:apply-templates/></xsl:element></xsl:template>
16         
17         <xsl:template match="command"><xsl:element name="literal"><xsl:apply-templates/></xsl:element></xsl:template>
18
19         <xsl:template match="synonym"><xsl:apply-templates/></xsl:template>
20
21         <xsl:template match="related"><xsl:element name="para"><xsl:text>Related command</xsl:text><xsl:apply-templates/></xsl:element></xsl:template>
22
23         <xsl:template match="samba:parameterlist">
24                 <xsl:apply-templates>
25                         <xsl:sort select="samba:parameter/@name"/>
26                 </xsl:apply-templates>
27         </xsl:template>
28
29         <xsl:template match="value/comment">
30                 <xsl:text>&#10;# </xsl:text>
31                 <xsl:apply-templates/>
32         </xsl:template>
33
34         <xsl:template match="samba:parameter">
35                 <xsl:variable name="cname"><xsl:value-of select="translate(translate(string(@name),' ',''),
36                                 'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
37                 </xsl:variable>
38
39                 <xsl:variable name="name"><xsl:value-of select="@name"/></xsl:variable>
40
41                 <xsl:variable name="anchor">
42                         <xsl:element name="anchor">
43                                 <xsl:attribute name="id">
44                                         <xsl:value-of select="$cname"/>
45                                 </xsl:attribute>
46                         </xsl:element>
47                 </xsl:variable>
48
49                 <xsl:variable name="context">
50                         <xsl:text> (</xsl:text>
51                         <xsl:value-of select="@context"/>
52                         <xsl:text>)</xsl:text>
53                 </xsl:variable>
54
55                 <xsl:variable name="term">
56                                 <xsl:copy-of select="$anchor"/>
57                                 <xsl:element name="title">
58                                         <xsl:text>&#10;</xsl:text>
59                                         <xsl:text>&#10;</xsl:text>
60                                         <xsl:value-of select="@name"/>
61                                         <xsl:value-of select="$context"/>
62                                         <xsl:text>&#10;</xsl:text>
63                                 </xsl:element>
64                 </xsl:variable>
65
66
67                 <!-- Generate list of examples -->
68                 <xsl:variable name="examples">
69                         <xsl:for-each select="value">
70                                 <xsl:if test="@type = 'example'">
71                                         <xsl:element name="para">
72                                                 <xsl:text>Example: </xsl:text>
73                                                 <xsl:element name="emphasis">
74                                                         <xsl:element name="parameter">
75                                                                 <xsl:copy-of select="$name"/>
76                                                         </xsl:element>
77                                                         <xsl:text> = </xsl:text>
78                                                         <xsl:apply-templates select="."/>
79                                                         <xsl:text>&#10;</xsl:text>
80                                                 </xsl:element>
81                                                 <xsl:text>&#10;</xsl:text>
82                                         </xsl:element>
83                                 </xsl:if>
84                         </xsl:for-each>
85                 </xsl:variable>
86
87                 <xsl:variable name="tdefault">
88                         <xsl:for-each select="value">
89                                 <xsl:if test="@type = 'default'">
90                                         <xsl:element name="para">
91                                                 <xsl:text>Default: </xsl:text>
92                                                 <xsl:element name="emphasis">
93                                                         <xsl:element name="parameter">
94                                                                 <xsl:copy-of select="$name"/>
95                                                         </xsl:element>
96                                                         <xsl:text> = </xsl:text>
97                                                         <xsl:apply-templates select="."/>
98                                                         <xsl:text>&#10;</xsl:text>
99                                                 </xsl:element>
100                                                 <xsl:text>&#10;</xsl:text>
101                                         </xsl:element>
102                                 </xsl:if>
103                         </xsl:for-each>
104                 </xsl:variable>
105
106                 <xsl:variable name="default">
107                         <xsl:choose>
108                                 <xsl:when test="$tdefault = ''">
109                                         <xsl:element name="para">
110                                                 <xsl:element name="emphasis">
111                                                         <xsl:text>No default</xsl:text>
112                                                 </xsl:element>  
113                                         </xsl:element>
114                                 </xsl:when>
115                                 <xsl:otherwise>
116                                         <xsl:copy-of select="$tdefault"/>
117                                 </xsl:otherwise>
118                         </xsl:choose>
119                 </xsl:variable>
120
121                 <xsl:variable name="content">
122                         <xsl:apply-templates select="description"/>
123                 </xsl:variable>
124
125                 <xsl:for-each select="synonym">
126                         <xsl:element name="section">
127                                 <xsl:element name="indexterm">
128                                         <xsl:attribute name="significance">
129                                                 <xsl:text>preferred</xsl:text>
130                                         </xsl:attribute>
131                                         <xsl:element name="primary">
132                                                 <xsl:value-of select="."/>
133                                         </xsl:element>
134                                         <xsl:element name="see">
135                                                 <xsl:value-of select="$name"/>
136                                         </xsl:element>
137                                 </xsl:element>
138                                 <xsl:element name="title">
139                                 <xsl:text>&#10;</xsl:text>
140                                 <xsl:text>&#10;</xsl:text>
141                                         <xsl:element name="anchor">
142                                                 <xsl:attribute name="id">
143                                                         <xsl:value-of select="translate(translate(string(.),' ',''), 'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
144                                                 </xsl:attribute>
145                                         </xsl:element>
146                                         <xsl:value-of select="."/>
147                                         <xsl:text>&#10;</xsl:text>
148                                 </xsl:element>
149                                 <xsl:element name="variablelist">
150                                         <xsl:element name="varlistentry">
151                                                 <xsl:element name="listitem">
152                                                         <xsl:element name="para">
153                                                                 <xsl:text>This parameter is a synonym for </xsl:text>
154                                                                 <xsl:element name="link">
155                                                                         <xsl:attribute name="linkend">
156                                                                                 <xsl:value-of select="translate(translate(string($name),' ',''), 'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
157                                                                         </xsl:attribute>
158                                                                         <xsl:value-of select="$name"/>
159                                                                 </xsl:element>
160                                                                 <xsl:text>.</xsl:text>
161                                                         </xsl:element>
162                                                 </xsl:element>
163                                         </xsl:element>
164                                 </xsl:element>
165                                 <xsl:text>&#10;</xsl:text>     
166                         </xsl:element>
167                 </xsl:for-each>
168
169                 <xsl:element name="section">
170                         <xsl:element name="indexterm">
171                                 <xsl:attribute name="significance">
172                                         <xsl:text>preferred</xsl:text>
173                                 </xsl:attribute>
174                                 <xsl:element name="primary">
175                                 <xsl:value-of select="@name"/>
176                                 </xsl:element>
177                         </xsl:element>
178                         <xsl:copy-of select="$term"/>
179                         <xsl:element name="variablelist">
180                                 <xsl:element name="varlistentry">
181                                         <xsl:element name="listitem">
182                                                 <xsl:copy-of select="$content"/> <xsl:text>&#10;</xsl:text>
183                                                 <xsl:copy-of select="$default"/> <xsl:text>&#10;</xsl:text>
184                                                 <xsl:copy-of select="$examples"/> <xsl:text>&#10;</xsl:text>
185                                         </xsl:element>
186                                 </xsl:element>
187                         </xsl:element>
188                         <xsl:text>&#10;</xsl:text>
189                 </xsl:element>
190         </xsl:template>
191 </xsl:stylesheet>