~zulcss/samba/server-dailies-3.4

« back to all changes in this revision

Viewing changes to docs-xml/xslt/expand-smbconfdoc.xsl

  • Committer: Chuck Short
  • Date: 2010-09-28 20:38:39 UTC
  • Revision ID: zulcss@ubuntu.com-20100928203839-pgjulytsi9ue63x1
Initial version

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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>