0a6326ef0bef63874adb72b4b5d1fbb3c2c337ca
[samba.git] / docs / 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         version="1.1">
11
12         <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"/>
13
14         <xsl:include href="strip-references.xsl"/>
15         <xsl:include href="expand-smbconfdoc.xsl"/>
16
17         <!-- This is needed to copy content unchanged -->
18         <xsl:template match="@*|node()">
19                 <xsl:copy>
20                         <xsl:apply-templates select="@*|node()"/>
21                 </xsl:copy>
22         </xsl:template>
23
24         <xsl:template match="smbconfblock/smbconfoption">
25                 <xsl:element name="member">
26                         <xsl:element name="indexterm">
27                                 <xsl:element name="primary">
28                                         <xsl:value-of select="@name"/>
29                                 </xsl:element>
30                         </xsl:element>
31                         <xsl:element name="parameter">
32                                 <xsl:value-of select="@name"/>
33                                 <xsl:choose>
34                                         <xsl:when test="text() != ''">
35                                                 <xsl:text> = </xsl:text>
36                                                 <xsl:value-of select="text()"/>
37                                         </xsl:when>
38                                 </xsl:choose>
39                         </xsl:element>
40                 </xsl:element>
41         </xsl:template>
42
43         <xsl:template match="smbconfblock/smbconfcomment">
44                 <xsl:element name="member">
45                         <xsl:text># </xsl:text>
46                         <xsl:apply-templates/>
47                 </xsl:element>
48         </xsl:template>
49
50         <xsl:template match="smbconfblock/smbconfsection">
51                 <xsl:element name="member">
52                         <xsl:text> </xsl:text>
53                 </xsl:element>
54                 <xsl:element name="member">
55                         <xsl:element name="parameter">
56                                 <xsl:value-of select="@name"/>
57                         </xsl:element>
58                 </xsl:element>
59         </xsl:template>
60
61         <xsl:template match="smbconfoption">
62                 <!-- Include an index term -->
63                 <xsl:element name="indexterm">
64                         <xsl:element name="primary">
65                                 <xsl:value-of select="@name"/>
66                         </xsl:element>
67                 </xsl:element>
68
69                 <xsl:variable name="linkcontent">
70                         <xsl:element name="parameter">
71                                 <xsl:attribute name="moreinfo">
72                                         <xsl:text>none</xsl:text>
73                                 </xsl:attribute>
74                                 <xsl:value-of select="@name"/>  
75                         </xsl:element>
76
77                         <xsl:choose>
78                                 <xsl:when test="text() != ''">
79                                         <xsl:text> = </xsl:text>
80                                         <xsl:value-of select="text()"/>
81                                 </xsl:when>
82                         </xsl:choose>
83                 </xsl:variable>
84
85                 <xsl:choose>
86                         <xsl:when test="$noreference = 1">
87                                 <xsl:value-of select="$linkcontent"/>
88                         </xsl:when>
89                         <xsl:otherwise>
90                                 <xsl:element name="link">
91                                         <xsl:attribute name="linkend">
92                                                 <xsl:value-of select="translate(translate(string(@name),' ',''),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
93                                         </xsl:attribute>
94                                         <xsl:value-of select="$linkcontent"/>
95                                 </xsl:element>
96                         </xsl:otherwise>
97                 </xsl:choose>
98         </xsl:template>
99
100         <xsl:template match="smbconfblock">
101                 <xsl:element name="simplelist">
102                         <xsl:apply-templates/>
103                 </xsl:element>
104         </xsl:template>
105
106         <xsl:template match="smbconfsection">
107                 <xsl:element name="parameter">
108                         <xsl:value-of select="@name"/>
109                 </xsl:element>
110         </xsl:template>
111
112         <xsl:template match="imagefile">
113                 <xsl:element name="mediaobject">
114                         <xsl:element name="imageobject">
115                                 <xsl:attribute name="role"><xsl:text>html</xsl:text></xsl:attribute>
116                                 <xsl:element name="imagedata">
117                                         <xsl:attribute name="fileref">
118                                                 <xsl:text>images/</xsl:text><xsl:value-of select="text()"/><xsl:text>.png</xsl:text></xsl:attribute>
119                                         <xsl:attribute name="scale">
120                                                 <xsl:choose>
121                                                         <xsl:when test="@scale != ''">
122                                                                 <xsl:value-of select="@scale"/>
123                                                         </xsl:when>
124
125                                                         <xsl:otherwise>
126                                                                 <xsl:text>100</xsl:text>
127                                                         </xsl:otherwise>
128                                                 </xsl:choose>
129                                         </xsl:attribute>
130                                         <xsl:attribute name="scalefit"><xsl:text>1</xsl:text></xsl:attribute>
131                                 </xsl:element>
132                         </xsl:element>
133                         <xsl:element name="imageobject">
134                                 <xsl:element name="imagedata">
135                                         <xsl:attribute name="fileref">
136                                                 <xsl:text>images/</xsl:text><xsl:value-of select="text()"/><xsl:text>.png</xsl:text></xsl:attribute>
137                                         <xsl:attribute name="scale">
138                                                 <xsl:choose>
139                                                         <xsl:when test="@scale != ''">
140                                                                 <xsl:value-of select="@scale"/>
141                                                         </xsl:when>
142
143                                                         <xsl:otherwise>
144                                                                 <xsl:text>50</xsl:text>
145                                                         </xsl:otherwise>
146                                                 </xsl:choose>
147                                         </xsl:attribute>
148                                         <xsl:attribute name="scalefit"><xsl:text>1</xsl:text></xsl:attribute>
149                                 </xsl:element>
150                         </xsl:element>
151                         <xsl:element name="imageobject">
152                                 <xsl:attribute name="role"><xsl:text>latex</xsl:text></xsl:attribute>
153                                 <xsl:element name="imagedata">
154                                         <xsl:attribute name="fileref">
155                                                 <xsl:value-of select="$latex.imagebasedir"/><xsl:text>images/</xsl:text><xsl:value-of select="text()"/></xsl:attribute>
156                                 </xsl:element>
157                         </xsl:element>
158
159                 </xsl:element>
160         </xsl:template>
161 </xsl:stylesheet>