Get rid of unused elements, simply image handling
[Samba.git] / docs / xslt / expand-sambadoc.xsl
blob5ded8c703b181adf4fba556031d179275a33ca16
1 <?xml version='1.0'?>
2 <!--
3 Samba-documentation specific stylesheets
4 Published under the GNU GPL
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">
12 <xsl:import href="../settings.xsl"/>
13 <xsl:import href="strip-references.xsl"/>
14 <xsl:import href="expand-smbconfdoc.xsl"/>
16 <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"/>
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>
25 <xsl:template match="smbconfexample/smbconfoption|smbconfblock/smbconfoption">
27 <xsl:element name="member">
28 <xsl:element name="indexterm">
29 <xsl:element name="primary">
30 <xsl:value-of select="@name"/>
31 </xsl:element>
32 </xsl:element>
33 <xsl:element name="parameter">
34 <xsl:text disable-output-escaping="yes">
35 &lt;?latex \hspace{1cm} ?&gt;
36 </xsl:text>
37 <xsl:value-of select="@name"/>
38 <xsl:choose>
39 <xsl:when test="text() != ''">
40 <xsl:text> = </xsl:text>
41 <xsl:value-of select="text()"/>
42 </xsl:when>
43 </xsl:choose>
44 </xsl:element>
45 </xsl:element>
46 </xsl:template>
48 <xsl:template match="smbconfexample/smbconfcomment|smbconfblock/smbconfcomment">
49 <xsl:text disable-output-escaping="yes">
50 &lt;?latex \hspace{1cm} ?&gt;
51 </xsl:text>
52 <xsl:element name="member">
53 <xsl:text># </xsl:text>
54 <xsl:apply-templates/>
55 </xsl:element>
56 </xsl:template>
58 <xsl:template match="smbconfexample/smbconfsection|smbconfblock/smbconfsection">
59 <xsl:element name="member">
60 <xsl:text> </xsl:text>
61 </xsl:element>
62 <xsl:element name="member">
63 <xsl:element name="parameter">
64 <xsl:value-of select="@name"/>
65 </xsl:element>
66 </xsl:element>
67 </xsl:template>
69 <xsl:template match="smbconfoption">
70 <!-- Include an index term -->
71 <xsl:element name="indexterm">
72 <xsl:element name="primary">
73 <xsl:value-of select="@name"/>
74 </xsl:element>
75 </xsl:element>
77 <xsl:variable name="linkcontent">
78 <xsl:element name="parameter">
79 <xsl:attribute name="moreinfo">
80 <xsl:text>none</xsl:text>
81 </xsl:attribute>
82 <xsl:value-of select="@name"/>
83 </xsl:element>
85 <xsl:choose>
86 <xsl:when test="text() != ''">
87 <xsl:text> = </xsl:text>
88 <xsl:value-of select="text()"/>
89 </xsl:when>
90 </xsl:choose>
91 </xsl:variable>
93 <xsl:choose>
94 <xsl:when test="$noreference = 1">
95 <xsl:value-of select="$linkcontent"/>
96 </xsl:when>
97 <xsl:otherwise>
98 <xsl:element name="link">
99 <xsl:attribute name="linkend">
100 <xsl:value-of select="translate(translate(string(@name),' ',''),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')"/>
101 </xsl:attribute>
102 <xsl:value-of select="$linkcontent"/>
103 </xsl:element>
104 </xsl:otherwise>
105 </xsl:choose>
106 </xsl:template>
108 <xsl:template match="smbconfexample">
109 <xsl:choose>
110 <xsl:when test="title = ''">
111 <xsl:message>
112 <xsl:text>Warning: smbconfexample does not have title!</xsl:text>
113 </xsl:message>
114 </xsl:when>
115 </xsl:choose>
116 <xsl:element name="example">
117 <xsl:choose>
118 <xsl:when test="@id != ''">
119 <xsl:attribute name="id">
120 <xsl:value-of select="@id"/>
121 </xsl:attribute>
122 </xsl:when>
123 </xsl:choose>
125 <xsl:element name="title">
126 <xsl:value-of select="title"/>
127 </xsl:element>
128 <xsl:element name="simplelist">
129 <xsl:apply-templates/>
130 </xsl:element>
131 </xsl:element>
132 </xsl:template>
134 <xsl:template match="smbconfexample/title">
135 </xsl:template>
137 <xsl:template match="smbconfblock">
138 <xsl:element name="simplelist">
139 <xsl:apply-templates/>
140 </xsl:element>
141 </xsl:template>
143 <xsl:template match="smbconfsection">
144 <xsl:element name="parameter">
145 <xsl:value-of select="@name"/>
146 </xsl:element>
147 </xsl:template>
149 <xsl:template match="smbconfcomment">
150 <xsl:text># </xsl:text>
151 <xsl:apply-templates/>
152 </xsl:template>
154 <xsl:template match="imagefile">
155 <xsl:element name="mediaobject">
156 <xsl:element name="imageobject">
157 <xsl:attribute name="role"><xsl:text>latex</xsl:text></xsl:attribute>
158 <xsl:element name="imagedata">
159 <xsl:attribute name="fileref">
160 <xsl:value-of select="$latex.imagebasedir"/><xsl:text>images/</xsl:text><xsl:value-of select="text()"/></xsl:attribute>
161 <xsl:attribute name="scale">
162 <xsl:choose>
163 <xsl:when test="@scale != ''">
164 <xsl:value-of select="@scale"/>
165 </xsl:when>
167 <xsl:otherwise>
168 <xsl:text>50</xsl:text>
169 </xsl:otherwise>
170 </xsl:choose>
171 </xsl:attribute>
172 <xsl:attribute name="scalefit"><xsl:text>1</xsl:text></xsl:attribute>
173 </xsl:element>
174 </xsl:element>
175 <xsl:element name="imageobject">
176 <xsl:attribute name="role"><xsl:text>html</xsl:text></xsl:attribute>
177 <xsl:element name="imagedata">
178 <xsl:attribute name="fileref">
179 <xsl:text>images/</xsl:text><xsl:value-of select="imagefile"/><xsl:text>.png</xsl:text></xsl:attribute>
180 <xsl:attribute name="scale">
181 <xsl:choose>
182 <xsl:when test="@scale != ''">
183 <xsl:value-of select="@scale"/>
184 </xsl:when>
186 <xsl:otherwise>
187 <xsl:text>100</xsl:text>
188 </xsl:otherwise>
189 </xsl:choose>
190 </xsl:attribute>
191 <xsl:attribute name="scalefit"><xsl:text>1</xsl:text></xsl:attribute>
192 </xsl:element>
193 </xsl:element>
194 <xsl:element name="imageobject">
195 <xsl:element name="imagedata">
196 <xsl:attribute name="fileref">
197 <xsl:text>images/</xsl:text><xsl:value-of select="imagefile"/><xsl:text>.png</xsl:text></xsl:attribute>
198 <xsl:attribute name="scale">
199 <xsl:choose>
200 <xsl:when test="@scale != ''">
201 <xsl:value-of select="@scale"/>
202 </xsl:when>
204 <xsl:otherwise>
205 <xsl:text>50</xsl:text>
206 </xsl:otherwise>
207 </xsl:choose>
208 </xsl:attribute>
209 <xsl:attribute name="scalefit"><xsl:text>1</xsl:text></xsl:attribute>
210 </xsl:element>
211 </xsl:element>
212 </xsl:element>
213 </xsl:template>
214 </xsl:stylesheet>