mount.cifs: make local versions of strlcat and strlcpy static
[sfrench/samba-autobuild/.git] / docs-xml / xslt / expand-sambadoc.xsl
1 <?xml version='1.0'?>
2 <!-- 
3         Samba-documentation specific stylesheets
4         Published under the GNU GPL
5
6         (C) Jelmer Vernooij                                     2002-2004
7 -->
8 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
9         xmlns:samba="http://www.samba.org/samba/DTD/samba-doc"
10         xmlns:xlink='http://www.w3.org/1999/xlink'
11         version="1.1">
12
13         <xsl:output method="xml" encoding="UTF-8" doctype-public="-//OASIS//DTD DocBook XML V4.2//EN" indent="yes" doctype-system="http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"/>
14
15         <xsl:include href="strip-references.xsl"/>
16         <xsl:include href="expand-smbconfdoc.xsl"/>
17
18         <!-- This is needed to copy content unchanged -->
19         <xsl:template match="@*|node()">
20                 <xsl:copy>
21                         <xsl:apply-templates select="@*|node()"/>
22                 </xsl:copy>
23         </xsl:template>
24
25         <xsl:template name="xsmbconfoption">
26                 <xsl:param name="name"/>
27                 <xsl:param name="content"/>
28                 <xsl:variable name="linkcontent">
29                         <xsl:element name="parameter">
30                                 <xsl:attribute name="moreinfo">
31                                         <xsl:text>none</xsl:text>
32                                 </xsl:attribute>
33                                 <xsl:value-of select="$name"/>  
34                         </xsl:element>
35
36                         <xsl:choose>
37                                 <xsl:when test="$content != ''">
38                                         <xsl:text> = </xsl:text>
39                                         <xsl:value-of select="$content"/>
40                                 </xsl:when>
41                         </xsl:choose>
42                 </xsl:variable>
43
44                 <xsl:choose>
45                         <xsl:when test="$noreference = 1">
46                                 <xsl:value-of select="$linkcontent"/>
47                         </xsl:when>
48                         <xsl:otherwise>
49                                 <xsl:variable name="newid"><xsl:value-of select="translate(translate(string($name),' ',''),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/></xsl:variable>
50                                 <xsl:element name="link">
51                                         <xsl:attribute name="linkend">
52                                                 <xsl:value-of select="$newid"/>
53                                         </xsl:attribute>
54                                         <xsl:attribute name="xlink:href">smb.conf.5.html#<xsl:value-of select="$newid"/></xsl:attribute>
55                                         <xsl:value-of select="$linkcontent"/>
56                                 </xsl:element>
57                         </xsl:otherwise>
58                 </xsl:choose>
59         </xsl:template>
60
61         <xsl:template match="related">
62                 <xsl:element name="para">
63                         <xsl:text>Related command: </xsl:text>
64                         <xsl:call-template name="xsmbconfoption">
65                                 <xsl:with-param name="name" select="text()"/>
66                         </xsl:call-template>
67                 </xsl:element>
68         </xsl:template>
69
70         <xsl:template match="smbconfblock/smbconfoption">
71                 <xsl:element name="member">
72                         <xsl:element name="indexterm">
73                                         <xsl:value-of select="@name"/>
74                         </xsl:element>
75                         <xsl:choose>
76                                 <xsl:when test="text() != ''">
77                                         <xsl:element name="parameter">
78                                                 <xsl:value-of select="@name"/>
79                                                 <xsl:text> = </xsl:text>
80                                                 <xsl:value-of select="text()"/>
81                                         </xsl:element>
82                                 </xsl:when>
83                         </xsl:choose>
84                 </xsl:element>
85         </xsl:template>
86
87         <xsl:template match="smbconfblock/smbconfcomment">
88                 <xsl:element name="member">
89                         <xsl:text># </xsl:text>
90                         <xsl:apply-templates/>
91                 </xsl:element>
92         </xsl:template>
93
94         <xsl:template match="smbconfblock/smbconfsection">
95                 <xsl:element name="member">
96                         <xsl:text> </xsl:text>
97                 </xsl:element>
98                 <xsl:element name="member">
99                         <xsl:element name="parameter">
100                                 <xsl:value-of select="@name"/>
101                         </xsl:element>
102                 </xsl:element>
103         </xsl:template>
104
105         <xsl:template match="smbconfoption">
106                 <xsl:call-template name="xsmbconfoption">
107                         <xsl:with-param name="name" select="@name"/>
108                         <xsl:with-param name="content" select="text()"/>
109                 </xsl:call-template>
110         </xsl:template>
111
112
113         <xsl:template match="smbconfblock">
114                 <xsl:element name="simplelist">
115                         <xsl:apply-templates/>
116                 </xsl:element>
117         </xsl:template>
118
119         <xsl:template match="smbconfsection">
120                 <xsl:element name="parameter">
121                         <xsl:value-of select="@name"/>
122                 </xsl:element>
123         </xsl:template>
124
125         <xsl:template match="imagefile">
126                 <xsl:element name="mediaobject">
127                         <xsl:element name="imageobject">
128                                 <xsl:attribute name="role"><xsl:text>html</xsl:text></xsl:attribute>
129                                 <xsl:element name="imagedata">
130                                         <xsl:attribute name="fileref">
131                                                 <xsl:text>images/</xsl:text><xsl:value-of select="text()"/><xsl:text>.png</xsl:text></xsl:attribute>
132                                         <xsl:attribute name="scale">
133                                                 <xsl:choose>
134                                                         <xsl:when test="@scale != ''">
135                                                                 <xsl:value-of select="@scale"/>
136                                                         </xsl:when>
137
138                                                         <xsl:otherwise>
139                                                                 <xsl:text>100</xsl:text>
140                                                         </xsl:otherwise>
141                                                 </xsl:choose>
142                                         </xsl:attribute>
143                                         <xsl:attribute name="scalefit"><xsl:text>1</xsl:text></xsl:attribute>
144                                 </xsl:element>
145                         </xsl:element>
146                         <xsl:element name="imageobject">
147                                 <xsl:element name="imagedata">
148                                         <xsl:attribute name="fileref">
149                                                 <xsl:text>images/</xsl:text><xsl:value-of select="text()"/><xsl:text>.png</xsl:text></xsl:attribute>
150                                         <xsl:attribute name="scale">
151                                                 <xsl:choose>
152                                                         <xsl:when test="@scale != ''">
153                                                                 <xsl:value-of select="@scale"/>
154                                                         </xsl:when>
155
156                                                         <xsl:otherwise>
157                                                                 <xsl:text>50</xsl:text>
158                                                         </xsl:otherwise>
159                                                 </xsl:choose>
160                                         </xsl:attribute>
161                                         <xsl:attribute name="scalefit"><xsl:text>1</xsl:text></xsl:attribute>
162                                 </xsl:element>
163                         </xsl:element>
164                         <xsl:element name="imageobject">
165                                 <xsl:attribute name="role"><xsl:text>latex</xsl:text></xsl:attribute>
166                                 <xsl:element name="imagedata">
167                                         <xsl:attribute name="fileref">
168                                                 <xsl:value-of select="$latex.imagebasedir"/><xsl:text>images/</xsl:text><xsl:value-of select="text()"/></xsl:attribute>
169                                 </xsl:element>
170                         </xsl:element>
171
172                 </xsl:element>
173         </xsl:template>
174
175 </xsl:stylesheet>